cc+
A web UI for Claude Code that replaces the terminal experience with tabbed sessions, a real-time activity tree, usage analytics, and a native desktop app. Open source under MIT.
The Challenge
Claude Code runs in a terminal. For complex multi-agent workflows, that means watching a scrolling wall of text with no way to see the hierarchy, compare sessions, or understand where tokens are going. Power users need visibility into what the AI is actually doing.
The Solution
A Flask + React application that wraps the Claude Code SDK over WebSockets. Every tool call, agent spawn, and text delta streams through SocketIO into a client-side activity tree built with an immutable reducer. SQLite stores session data with thread-local connections. An Electron shell turns it into a native desktop app.
The Result
A production tool used daily for all Kerplunk development work. Sessions run in parallel tabs, each with isolated SDK workers. The activity tree shows the full agent hierarchy in real time. Usage analytics track token spend, tool success rates, and agent performance across sessions.
What Was Built
Key Features
Live Activity Tree
Real-time visualization of agent spawns, tool calls, and nested hierarchies. Not a log dump, a collapsible tree that shows what is happening and where.
Tabbed Sessions
Run multiple Claude Code sessions side by side. Each tab gets its own isolated SDK worker. Switch without losing context.
Usage Analytics
Token usage, tool success rates, agent durations, cost breakdowns. All stored in SQLite, all queryable.
Desktop App
Native Electron window with dock integration, window state persistence. Standalone or alongside the web UI.
Interested in our open source work?
Check out our GitHub or get in touch to talk about AI tooling, development workflows, or collaboration.
Get in Touch