Chat & Transcript
Rich transcript rendering
Section titled “Rich transcript rendering”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.

Inline diff viewer
Section titled “Inline diff viewer”File diffs and commit diffs render directly in the transcript — no need to switch contexts.

Embedded terminal
Section titled “Embedded terminal”Per-project xterm terminal, opened as a tab in any pane. macOS and Linux only.

Split panes & tabs
Section titled “Split panes & tabs”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.
Slash commands & @-mentions
Section titled “Slash commands & @-mentions”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.

Plan mode
Section titled “Plan mode”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.

Subagent orchestration
Section titled “Subagent orchestration”@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.

See Subagent Delegation for the full pattern.
Background tasks
Section titled “Background tasks”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).
Auto-resume on rate limit
Section titled “Auto-resume on rate limit”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.
Proactive compaction
Section titled “Proactive compaction”A context-window meter shows usage near the threshold. Kanna runs automatic transcript compaction before limits are hit.

File & image uploads
Section titled “File & image uploads”Drag and drop files or images into the composer to attach them to the next turn.