jakemor/kanna
A beautiful web-based UI for Claude Code & Codex
What it solves
Kanna provides a graphical user interface (GUI) for command-line interface (CLI) coding agents, specifically Claude Code and Codex. It transforms the terminal-based experience into a beautiful web-based chat interface, making it easier to manage multiple projects, track agent progress, and interact with AI coding tools without staying exclusively in a terminal.
How it works
Kanna runs as a Bun-based server that acts as a bridge between a React-based web frontend and the local agent processes (Claude Agent SDK or Codex App Server). It uses WebSockets for real-time communication and an event-sourcing architecture to persist chat history and state in local JSONL logs. The system coordinates multiple AI providers (Claude, Codex, Cursor, and Pi) through a normalization layer that handles model selection and reasoning effort controls.
Who it’s for
Developers who use AI coding agents like Claude Code or Codex but prefer a visual interface for managing their chats, reviewing agent plans, and organizing their work across different projects.
Highlights
- Multi-provider support: Switch between Claude, Codex, Cursor, and Pi with per-provider model and reasoning settings.
- Project-centric organization: Group chats by project with a sidebar featuring live status indicators and drag-and-drop ordering.
- Plan mode: Allows users to review and approve agent plans before they are executed.
- Rich rendering: Hydrates tool calls and renders collapsible tool groups and interactive prompts.
- Local project discovery: Automatically finds projects from existing Claude and Codex local histories.
- Built-in Pi agent: Includes the pi coding agent as a dependency, removing the need for a separate local installation.
Related
- Project
- Project
- Project
- Project
- Project