Skip to content

Chat Panel

The chat panel lets you ask questions about the currently loaded mailbox context. It can use built-in tools for search, sender mail, threads, and sender statistics, then display an answer without leaving the TUI.

Press c from the main UI to open chat. Chat is available when Herald is not loading, AI is configured, and the terminal is wide enough to render the main view beside the chat panel.

AreaWhat it shows
Chat titleRight-side panel title.
HistoryUser and assistant messages from the current chat session.
Tool-derived answersAssistant responses that may summarize search, thread, or sender-stat tool output.
InputOne-line chat input.
Waiting stateChat stops accepting new submit actions while the assistant is responding.
Timeline filterAssistant can return a filter that narrows Timeline to matching message IDs.
KeyContextPreconditionsResult
cMain UINot loading and width allows chat.Opens chat and focuses input; pressing again closes it.
enterChat inputChat is focused and not waiting.Sends the current message.
escChat focusedChat is open.Closes chat and restores default panel focus.
tabChat focusedChat is open.Leaves/closes chat focus and returns to default panel focus.
qAny chat stateAny state.Quits Herald.
  1. Open Timeline or Cleanup.
  2. Press c.
  3. Ask a specific question such as “show recent invoices” or “which senders have the most unread mail?”
  4. Press enter.
  5. Read the answer and any applied filter state.
  1. Ask a question that implies a filtered set of messages.
  2. If the assistant returns a filter, Timeline switches into filtered view.
  3. Navigate and open messages normally.
  4. Press esc in Timeline to clear the chat filter.
StateWhat happens
Width too smallPressing c reports that chat is hidden at this size.
AI unavailableChat cannot produce assistant responses.
WaitingInput remains visible, but enter does not submit another message until the current response finishes.
Tool unsupportedHerald falls back to ordinary assistant responses if the provider does not support tool calling.
Tool loop limitChat uses a bounded tool loop to avoid runaway tool calls.
Timeline filter activeStatus indicates a filtered Timeline; esc clears it.

Chat sends the user’s question, current folder, folder counts, and a compact set of recent email context to the configured AI backend. Chat tools can read cached email metadata, sender statistics, threads, and search results. External AI providers receive the chat prompt and any tool results needed to answer.

If c does not open chat, widen the terminal or wait until loading completes.

If answers ignore recent messages, refresh the folder with r and try again.

If a filter hides too much, press esc in Timeline to clear the filter.