Desktop transcript
Read a conversation in the desktop app, search it and act on a message.
The transcript shows your messages, the agent's replies, its thinking, its tool calls and their results. This demo plays a recorded session. Switch the density to compare.
Density and display#
Compact is the default. It folds the work of each exchange into one row under your message, above the reply. Click the row to unfold it. Full gives every step its own row.
Density and the other display settings are in Settings › Interface › Conversation and Settings › Interface › Tool activity. They stay on this computer, apart from the TUI (display settings).
| Row | How it renders | Setting (Settings › Interface) |
|---|---|---|
| Thinking | The model's reasoning, in a fold | Thinking blocks |
| Tool call | A one-line summary (Read src/app.ts), the full input, or nothing | Tool calls display |
| Tool result | The output under the call. ! shell output shows its last 10 lines until you expand it. | Tool outputs, Full shell output |
| Grouped calls | One row for all the calls of an exchange | Group tool calls |
| Edit | A diff of the change, with added and removed lines | Edit diffs |
| Subagent | The child's run, collapsed until you open it | Collapse subagents |
| Run receipt | A line at the end of each run | Run receipt |
| Cache notice | A notice row in the transcript | Cache notices |
Row icons (Settings › Interface › Conversation, on by default) puts an icon next to each message and step: you, the agent, and how each step went. Turn it off for a plainer conversation. The rows then start at the left edge, and a step's own line says how it goes: its name shimmers while it runs, and a red cross follows it when it failed. The setup wizard offers it too, under More options in its Conversation step. The Focused conversation preset turns the icons off, and Balanced and Detailed turn them on.
This live window runs the sidebar and the chat column of the app with a scripted agent. Each switch redraws the chat the same way as Settings › Interface.
The Diffs panel shows the same edits file by file.
Diagrams#
When a reply holds a Mermaid code block (a fence that starts with ``````mermaid``), the transcript draws it as a diagram. Flowcharts, sequence, state, class and ER diagrams, Gantt charts, pie charts and more are supported. The diagram uses your theme: nodes, lines, text and chart colors come from the same colors and fonts as the rest of the app. It changes with the theme, light or dark, with no redraw.
- The buttons in the top-right corner show when you point at the diagram. The code button shows the Mermaid source, with syntax highlighting in your code theme. Click it again to see the diagram. The copy button copies the source.
- A diagram wider than the column shrinks to fit. The zoom buttons, next to the code button, zoom in and out. Fit diagram goes back to the whole diagram. You can also pinch, hold Cmd and scroll, or double-click. Drag to move around a zoomed diagram. Scrolling without Cmd scrolls the conversation.
- While the reply streams, the diagram grows with it: it draws again a few times a second, from the part that has arrived. A line that is not complete yet keeps the last drawing. Zoom is available when the block is complete.
- If the source has an error, the block shows the code, with the reason and the line under it.
- Diagrams never load images or open links from the source.
To show these blocks as code, turn off Settings › Interface › Conversation › Diagrams (on by default). The terminal app always shows the code.
Each request to /chat goes through the limiter first:
Long conversations#
The app loads the latest part first, then earlier pages until the window is full. Scroll up or click Load earlier history for more. While a run streams, the view stays at the bottom until you scroll up. Settings › Interface › Conversation › Keep scroll position (on by default) reopens each conversation where you left it.
Chips, links and media#
| In a message | Does |
|---|---|
| File chip | Opens the file in the Files panel or your editor, per Settings › Interface › Files & editor |
Commit, pull request, #123, link | Hover for a card with its details, such as a commit's subject, author and size. Links show the site's icon. |
# chat reference | Hover for the other session's title, project, model and size |
| Skill and command chips | Hover for the description |
| Extension references | Text that an installed extension recognizes, such as a ticket id, becomes a chip |
| Images | Click to open them full size |
| Generated images | A generate_image call shows a frame for each image while it runs. Each image fades in when it arrives. Click the path under it to open the file (Images). |
| Video and audio | Play inline, from tool results |
Right-click a chip or badge to copy it, add it to the prompt or open it, plus any actions extensions add.
While a run goes#
A chip in the composer card shows 1m 29s, 72.2k, 41 tok/s, ~$0.123: elapsed time, tokens, tokens per second while text streams, and cost so far. ~ marks an estimate. A narrow window drops the rate, then the cost.
When the app retries a failed provider call, a retrying n/m pill appears. If the call belongs to a sub-agent, the pill names it.
In compact density, the work row under your message says what the run is doing. It reads Working, then Waiting for the model when nothing has moved on screen for a moment, or Retrying 2/3 during a retry. Once a wait or a retry passes five seconds, a badge after the words shows how long it has lasted. A model stream that goes silent for 5 minutes is retried, then moved to the next model of the chain.
A run that fails or that you stop ends on one quiet line: Stopped and the reason, or Stopped by you. When that line ends the conversation and no run goes, Continue asks the model to go on, and Retry sends your message again when the run had done nothing yet.
Act on a message#
Right-click a message or a reply:
| Item | Key | Does |
|---|---|---|
| Copy selection | Copies the text you selected in that message, when there is some | |
| Copy message | CC | Copies the whole message |
| Fork from here | FF | Starts a new session from this point |
| Edit message (on your message) | EE | Cuts the history just before the message and puts its text and attachments back in the composer. Send it again to rerun it. |
| Rewind to here (on a reply) | RR | Keeps the history up to and including this reply, and drops the rest |
| Delete turn | DD | Removes the turn |
| Sent age | When the message was sent |
Edit message, Rewind to here and Delete turn are off while a run goes. Stop the run first. What a fork keeps and what deleting a turn changes: sessions.
Control SS enters select mode:
| Key | Does |
|---|---|
| Up Arrow Down Arrow | Previous or next message |
| Return | Opens the turn's details: Copy, Fork, Edit its text, Delete |
| CC | Copies it |
| FF | Forks from it |
| Escapeesc | Leaves select mode |
Search the conversation#
| Open with | Search box |
|---|---|
| Command FF | A Find in conversation box over the transcript. Files, Diffs and the editor keep Command FF for themselves while they have the focus. |
? as the first character of an empty composer | The composer turns into the search box |
Return and Shift Return jump to the next and previous match. Escapeesc, or Backspace on an empty composer search, closes it.
Reference#
Transcriptand its options.- Transcript in the UI kit: the component on your own events.