Skip to content

Chat & Transcript

Tool calls render hydrated with collapsible groups. File diffs render inline. Plan-mode dialogs and interactive prompts get first-class UI with full result display.

Expanded tool call group

File diffs and commit diffs render directly in the transcript — no need to switch contexts.

Inline diff viewer

Per-project xterm terminal, opened as a tab in any pane. macOS and Linux only.

Embedded xterm terminal panel

The chat page is a pane tree you arrange yourself. Each pane holds a strip of tabs — the transcript, the changes view, and any number of terminals — and every pane can be split, resized, and closed. The arrangement is saved per project, so it is there when you come back.

Two ways to rearrange:

  • Drag a tab. Drop it in the middle of a pane to move it there, or onto one of that pane’s edges to split it and place the tab in the new half.
  • Use the keyboard. Focus a pane in any direction, split it, cycle its tabs, or close the active one — see Keybindings.

Switching tabs does not tear down the one you left: terminals keep their scrollback and running process, and the transcript keeps its scroll position.

On a phone the tree collapses to a single pane that carries every tab, so nothing you arranged on a desktop becomes unreachable on a narrow screen.

The composer offers in-place pickers for slash commands, file mentions, and subagent mentions. /clear, /compact and /cron are Kanna’s own — see Slash commands.

@-mention picker open in composer

The agent proposes a plan, and Kanna shows a structured approval dialog before any tool runs. Routes through Kanna’s durable approval protocol — see Security & Sandboxing.

Plan-mode approval dialog

@agent/<name> is a hint to the main agent. The main agent decides whether to delegate via mcp__kanna__delegate_subagent. Runs are tracked live.

Live subagent activity label

See Subagent Delegation for the full pattern.

A task the agent launches in the background — a dev server, a long build, an async agent run — appears in the chat footer with its type, description, id, and live elapsed time.

They are more than a display. A chat with a live background task is held open: Kanna will not reap the session out from under a task that is still running, which is what used to kill long jobs silently a few minutes after they went quiet. The chat also keeps showing as running while the agent works after its turn, rather than looking idle.

Pending tool requests survive a server restart and replay on reconnect (with KANNA_MCP_TOOL_CALLBACKS=1).

When a turn hits a rate limit, Kanna can schedule a “continue” for the moment the limit resets instead of asking you. Enable it under Settings → General; each scheduled resume is still cancellable from the chat.

A context-window meter shows usage near the threshold. Kanna runs automatic transcript compaction before limits are hit.

Context-window meter near threshold

Drag and drop files or images into the composer to attach them to the next turn.