Kanna
Run agents like documents, not log files.
A web UI for the Claude Code and Codex CLIs, built for long sessions across many projects. Subscription billing, OAuth pool rotation, subagent orchestration, durable approvals. No dashboard chrome.
$ bun install -g @cuongtran001/kanna
Pro and Max plans bill the right way.
Setting KANNA_CLAUDE_DRIVER=pty launches the claude CLI under a
pseudo-terminal and parses its stdout stream line by line. Your
subscription is charged, not the API. Register one OAuth token, or
several, and Kanna rotates per chat with automatic fallover on rate
limits.
Codex sits beside Claude in the same composer. Switch provider mid-chat; previous turns stay where they are.
Subagents that report back.
Configure named subagents with their own system prompts and tool
surfaces. The main agent decides when to delegate, calls
mcp__kanna__delegate_subagent, and synthesizes the reply back into
its own turn. Cycle detection and depth limits run on every
delegation. Live progress bubbles up to the transcript without a
separate window.
A transcript you can audit.
Tool calls render hydrated with collapsible groups. File diffs show
inline. Plan-mode and AskUserQuestion prompts route through a
durable approval protocol, so pending requests survive server
restarts and replay on reconnect. Context compaction happens
proactively, before the window closes around you.
Projects up front, chats below.
Chats live under projects with live status (idle, running, waiting, failed). Kanna auto-discovers projects from your local Claude and Codex history. Bulk-import existing sessions with one click, run any chat in an isolated git worktree, resume work with the full transcript intact.
Kanna is a community fork of jakemor/kanna that tracks upstream and layers on subscription-billing PTY, OAuth pool rotation, durable approvals, and subagent orchestration. macOS and Linux. Self-hosted.