Skip to content
DocsTerminal UI
On this page

Find messages and ask side questions

The message browser finds anything you or the agent said in this chat, so you can jump back to it, copy it, reuse it, or start a new branch of the chat from there. /btw opens a side chat about the conversation without adding anything to it.

Find an earlier message

  1. Press Alt+M, or run /messages. To start with a search, run /messages <words>.
  2. Type to filter. The search covers the whole text of each message, not just the preview.
  3. Move with the arrows and press Enter on a message.
  4. Choose what to do with it.
Action Does
Jump to message Scrolls the transcript to it. Ctrl+End returns to the latest
Read message Shows the full text in a scrollable panel
Copy message Copies the full text to the clipboard
Add text to draft Appends it to your prompt without sending it
Fork from message Starts a new chat from that point

Messages are listed newest first, with who wrote them and when. Only your prompts and the agent's replies are listed, not tool output or reasoning.

Esc goes back one step. Opening the browser again brings back your last search and selection.

Move between messages

You can also step through the transcript one message at a time, even while you type a draft:

Key Moves to
Alt+↑, Alt+↓ The previous or next message
Alt+Shift+↑, Alt+Shift+↓ Your previous or next prompt
Alt+Home The start of the chat
Alt+End Your last prompt
End or Ctrl+End Back to the latest output

These keys work while an approval or a question waits, and never answer it. You can rebind them with /keybinds.

Start over from an earlier point

Fork from message creates a new chat that contains the conversation up to that point:

  • on one of your prompts, the fork stops just before it, so you can ask differently;
  • on one of the agent's replies, the fork includes that reply.

The original chat is untouched and stays in /sessions. Forking does not change any files; to roll files back, use /undo or /timeline.

/fork does the same from a list of messages.

Ask a side question

/btw asks the model about the chat so far, in a side chat that never touches the conversation:

/btw Why did we choose a transaction here?

The side chat fills the screen, with the answer written as it arrives and a box at the bottom for follow-ups, so "and why not a lock?" needs no repeating.

  • The model sees the conversation as it was when you asked, plus the side chat's earlier questions and answers.
  • It cannot run tools, so it cannot change anything.
  • Nothing is added to the transcript, and the running turn is not interrupted.
  • It is a normal model request: it uses tokens on the chat's own model.
Key Does
Enter Ask. Shift+Enter adds a line
Esc Back to the chat. An answer still being written keeps going
Ctrl+C Clear the box, or stop the answer being written
/new (typed in the box) Start a new side chat
/copy (typed in the box) Copy the last answer
Page Up, Page Down Scroll the side chat

Run /btw on its own to come back to the side chat; it lasts as long as the TUI runs. From a script, use haarness btw <chat-id> "<question>".

Next