Show navigation
Terminal parity
The agent console replaces the terminal only if nothing is lost in the move, so every row here is something the terminal shows or does, set against the part of the page that carries it. A row marked partial says what is missing. The shortfalls are the work before the console can take a whole day's work without the terminal being opened.
What the terminal shows
| Terminal surface | Where the console carries it | Status |
|---|---|---|
| The conversation | the conversation panel, answers rendered as sanitized markdown with the main agent's tool calls in place between them, a search over the session, copying any message from its menu and any code block from its own button | done |
| Thinking | a row per thinking block, folded as Claude folds it and toggled by a click anywhere on it, summarized rather than omitted | done |
| Streaming as it is written | each block of a reply and of its thinking as the model writes it, replaced by the whole block once written | done |
| The working spinner and its tips | a working line closing the conversation, with the task in progress or the turn's verb from Claude Code's own list, its elapsed time, the tokens the turn has written, and Escape to interrupt | done, without the tips: the SDK sends none, and Claude Code's own name the terminal's keys, so the console shows no tips rather than tips of its own |
| Tool calls and their results | each call folded in place in the conversation over the opening of its output, as the terminal shows it, and the timeline tab | done |
| File edits | a side-by-side diff per edit, and the changes tab merging every edit to a file into one diff from where the file started, its unchanged runs folded | done |
| Subagents | a timeline lane per subagent beside the main one, titled by its task and marked with its status | done |
| Permission prompts | the console opening on the request, the bar's warning mark, the tool and its whole input, an edit shown as its diff; allow, always allow, or deny with a message | done |
| Model, context used, cost | the model in the composer; the heads-up display, which warns at nine tenths of the compaction threshold, and the cost so far | done |
| Plan usage | the usage tab with the usage window's share, coloured once the SDK warns | done |
| Todo list | a checklist at the top of the timeline tab, kept by the terminal's task tools, which the host gives every SDK session | done |
| Hook output | a folded row where the hook fired | done |
| Session start output — the persona | the SessionStart hook's row, and the character named in the heads-up display by the Genshin theme | done |
What the terminal does
| Terminal action | Where the console carries it | Status |
|---|---|---|
| Send a prompt | the composer, which T or Enter opens above the bar; Enter sends and Shift+Enter breaks the line | done |
| Attach a file | paste or drop into the composer: an image, a PDF, or any file whose bytes are text, which the model reads as its contents | done |
| Interrupt a turn | the stop button, and the Escape key while the console is open | done |
| Send work to the background | Background, or Ctrl+B with the console open, while a turn runs: its commands and subagents keep running | done |
| Stop a background task | Stop on the task's lane in the timeline tab, for a running subagent or background command | done |
| Slash commands | the slash key in the world, and a palette listing the session's own commands, the person's skills and plugins included | done |
| Plan mode, accept edits, bypass | the mode select in the composer | done |
| Switch model | the model select in the composer | done |
| Resume and continue | the console's sessions tab or the pause menu: a closed session resumes on a click, its transcript replayed first. Each session also copies the command that resumes it in a terminal (getResumeCommand), since the terminal's own picker leaves out a session the page started | done |
| Fork | the sessions tab, or from any message | done |
| Rewind | from any message for the conversation, and from any prompt for the files, put back from the checkpoints taken before each edit | done |
Notes
- Parity reuses what Claude Code has rather than standing in for it. Where the terminal shows something of Claude Code's own — its spinner verbs, a task's in-progress text — the console shows the same, and where the SDK does not hand something over, the console leaves it out rather than inventing its own, as with the tips.
- Every row marked done reads the fold of the recorded session, which the fold tests replay, and the host's wire has been driven live end to end over its socket: a prompt with a text attachment through two permission requests, a task list, a subagent, the reply streaming, a file rewind, an interrupt, a reconnect's replay and closing. What the panels and the world draw from it is checked by eye.
- A file too large for the edit tool to have kept its text from before the session's first change to it shows its edits one by one rather than merged. A session resumed from its transcript merges like a live one, since the host reads each edit's original text back from the transcript on disk.
- The page does what the terminal cannot in the rows above: parallel sessions each with their state one click apart, a notification when a hidden session needs attention, a search over the session, and a diff for every edit, including the one a permission request is asking about.
Scroll to top