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