One seat. One AI. Everything under control.
/ˈkɒkpɪt/ — like an aircraft cockpit
OpenCockpit is the open-source Claude Code GUI — an IDE-like workbench for the whole dev loop, and a single canvas for whatever agent you bring next. Run multi-project Claude sessions out of the box; pop open a tab for Codex, DeepSeek, Kimi, or local Ollama whenever you need. Built-in terminal, Chrome control, PostgreSQL / MySQL / Redis bubbles, code review, and slash modes — all local. And it's web client–server: self-host it on a shared dev box and every teammate gets a seat.
cockpit.mp4
npm i -g @surething/cockpit && cockpitAnthropic ships Claude Code as a CLI. That's the right call for power users — but the moment you have more than one project in flight, your terminal turns into mission control with no instruments.
Cockpit is the instrument panel. It does not replace Claude Code; it stands on top of the official Agent SDK and gives you the things a CLI can't:
| Pain with raw Claude Code | What Cockpit adds |
|---|---|
| Stuck on one model | 5 engines side by side in tabs: Claude (default), Codex, DeepSeek, Kimi, local Ollama — each its own session |
| One session at a time, terminal chaos at 3+ projects | Multi-project tabs, parallel agent sessions, red-dot inbox, desktop notifications |
| Image attachments are awkward | Drop / paste images straight into chat |
| "What was I debugging yesterday?" | Cmd+K cross-project session browser, pinning, forking |
| Agent can't reach your browser / DB | Smart Bubbles: Chrome, PostgreSQL, MySQL, Redis — drivable by the agent |
| Reading an unfamiliar repo means a 90-min file-tree scavenger hunt | Code Map chip view — caller / callee pins, click to walk the call graph |
| Reviewing AI output is friction | LAN-shared review pages, line-level comments, send any comment back as AI context |
| Same "do X but don't change code" prompt every day | Slash modes /qa /fx /ex /go /cg /cc /cr + custom SKILL.md via the Skills sidebar |
| No automation hooks | One-time / interval / cron-based scheduled tasks |
| "Cloud relay" trust concerns | Fully local. No telemetry. Keys (Codex / DeepSeek / Kimi) stay in ~/.cockpit/settings.json on your laptop. |
An honest snapshot as of July 2026 — each tool wins somewhere. Spotted an error? PRs welcome.
| OpenCockpit | Claude Code Desktop (official) | Opcode | |
|---|---|---|---|
| Positioning | IDE-like workbench for the whole dev loop | agent session companion | session manager for Claude Code |
| Architecture | ✅ web client–server — deploy on a shared dev box; the whole team codes with AI in parallel, each on their own project / worktree | single-user desktop app | single-user desktop app |
| Open source | ✅ MIT | ❌ closed source | ✅ AGPL-3.0 |
| Engines | ✅ Claude + Codex / DeepSeek / Kimi / Ollama (BYOK) | Claude only | Claude only |
| Parallel multi-project sessions | ✅ | ✅ | ✅ |
| Agent-drivable browser & DB (Chrome / Postgres / MySQL / Redis) | ✅ Smart Bubbles | ❌ preview pane only | ❌ |
| LAN-shared code review pages | ✅ | ❌ | ❌ |
| Fully offline / air-gapped | ✅ via Ollama | ❌ | ❌ |
| Phone / tablet access | ✅ any LAN browser — code runs on your machine | ✅ via Claude Code on the web (cloud sandbox) | ❌ desktop only |
| Native desktop app | ❌ local web app (needs Node ≥ 20) | ✅ | ✅ Tauri |
| Newest Claude Code features on day one | ⏳ tracks Agent SDK releases with a lag | ✅ first party | ❌ |
| Automation triggers | one-time / interval / cron | ✅ Routines: cron + API + GitHub events | background agents |
| Session checkpoints / rewind | pinning & forking only | ✅ | ✅ checkpoint timeline |
| Per-tool-call change snapshots (real disk diff for every Edit / Write / Bash / MCP call, 7-day local history) | ✅ | ❌ | ❌ per-prompt checkpoints only |
| Usage / cost analytics | basic token counts | n/a (plan-based) | ✅ full dashboard |
| Cost | GUI free (MIT); AI billed by whichever engine you bring — can be $0 with local Ollama | app free; needs a paid Claude plan or API billing | GUI free (AGPL); needs a paid Claude plan or API billing |
| Actively maintained | ✅ | ✅ |
Pick Claude Code Desktop if you live inside the Anthropic ecosystem and want first-party polish. Pick Opcode if you want a native desktop feel with checkpoints and cost analytics. Pick OpenCockpit if you want more than a chat window — an open-source, IDE-like cockpit that covers the whole dev loop (read code, drive your browser and databases, review, automate) with any engine you bring, even from your phone.
- Claude (default) — full official Agent SDK; zero setup if
claudeCLI is already configured - Codex — reuses your
~/.codexconfig; same chat, same shell + bubbles - DeepSeek — Anthropic-compatible endpoint via the Claude SDK; paste a key, pick
v4-proorv4-flash - Kimi (Moonshot) — tool calls render in chat just like Claude's
- Ollama — auto-starts the daemon; pick any pulled model from the chat header; fully offline
- Each engine lives in its own tab with its own session history; switch from the new-tab dropdown
- Keys stored locally in
~/.cockpit/settings.json; no cloud relay
- Default engine powered by the official Claude Agent SDK — zero extra setup
- Multi-project concurrent sessions with desktop notifications and red-dot badges
- Session pinning, forking, cross-project session browser (Cmd+K)
- Per-tool-call snapshots — every file-touching tool call is snapshotted (shadow git, fully local); review each reply's changes as a git-history-style timeline, including what
Bashdid !commandprefix to run shell from chat — output piped back as context- Image attachments, code references, token usage tracking
- 4-tab file browser: Directory · Recent · Git Changes · Git History
- Syntax highlighting (Shiki) with Vi mode editing
- Git blame, diff view, branch switching, worktree management
- LSP integration — go to definition, find references, hover info
- Code Map — every function as a chip with caller / callee pins; click to walk the call graph. Multi-language: TS/JS, Python, Go, Rust. No LSP, no project setup, works offline.
- CodeGraph — a code graph for the agent: same tree-sitter index exposed as 10 HTTP endpoints — 6 base (
search/callers/callees/impact/file/coedit) + 4 analytics (context/related/risk/affected, powered by PageRank · PPR · TF-IDF · Louvain, zero training) — so the agent queries coordinates instead of grepping text; trigger with/cgfrom chat. Coordinates only, never source — precise, cheap, and catches the conventional coupling no regex can. - Fuzzy file search (Cmd+F), JSON viewer, Markdown preview
- Full xterm.js terminal with shell integration
- 🌐 Browser Bubble — control Chrome via accessibility tree (click, type, navigate, screenshot, network)
- 🐘 PostgreSQL Bubble — browse schema, run queries, export
- 🐬 MySQL Bubble — browse databases & tables, run queries
- 🔴 Redis Bubble — browse keys, inspect values, execute commands
- Drag-to-reorder, grid / maximized layout, per-tab env vars & shell aliases
- LAN-shareable review pages — teammates need zero install
- Line-level comments with reply threads
- Send any comment back to AI as context for an automated fix
- Red-dot badges keep unread feedback visible across projects
/qa— Clarify-only: restate, ask back, never code/fx— Diagnose-only: bug evidence chain, never edit/ex— Explore: 6-step structured discussion skeleton (study → diverge → converge → re-diverge → iterate-verify → summarize)/go— Land: take a converged plan, slice into MVP stages, write + self-verify per stage, recap at end/cg— CodeGraph project exploration: 10 HTTP endpoints for symbol / callers / impact / co-edit / risk / affected queries (precise where grep is fuzzy)/cc— Cockpit CLI: drive the cockpit CLI surface — codegraph subcommands, terminal observation, browser automation/cr— Code review: full PR review — static triangulation (intent / input domain / surroundings) + dynamic modelling (state diagram + timeline → 6 risk classes), findings ranked by impact × probability- Custom: drop any
SKILL.mdand add it via the Skills sidebar — it auto-appears in the slash autocomplete menu (see Skills)
- One-time, interval, or cron scheduling
- Pause / resume, reorder, track results across projects
- Drop in any
SKILL.mdto teach the agent a new trick - Invoke with
/skill-namefrom chat - All managed from a single Skills sidebar
- Solo dev, multi-repo: "I have a refactor running in API, tests writing in Web, and a bug investigation in Pipeline — all at once, all visible."
- Day one in an unfamiliar repo: Open it in Code Map, click through caller/callee pins, walk the auth flow in five clicks instead of a 90-minute file-tree scavenger hunt.
- Two-person team: Senior reviews via LAN-shared review page, no GitHub PR round-trip needed for in-progress work.
- Team on a shared dev box: self-host one Cockpit where the code lives — every teammate opens a browser, takes a seat, and runs their own AI sessions in their own project / worktree.
- Reviewing AI-generated PRs: Switch the changed files into Code Map — changed functions are highlighted with their callers / callees still drawn around them, so blast-radius is one click away.
- Full-stack chore mode:
/fxin one tab on a backend bug,/exin another to plan the frontend refactor,/goto land it — three slash modes, three different agent postures. - Cheap second opinion: Same prompt in two tabs — Claude in one, DeepSeek v4-pro in the other — compare answers before you trust either.
- AI-driven QA: Browser Bubble + scheduled task = "every night at 2 AM, run this UI smoke flow and post a summary".
- Privacy-sensitive code: runs on your laptop. Pair with an Ollama tab for fully air-gapped sessions. No telemetry, no relay.
No install, no AI chat (read-only sandbox, 5 min):
- Node.js ≥ 20 — nodejs.org
- Claude Code — docs.anthropic.com/en/docs/claude-code (default engine)
- Git — for git features (blame, diff, worktree, etc.)
- Chrome (optional) — for Browser Bubble; install the bundled extension from
~/.cockpit/chrome-extension
- Codex — log in once with
codex loginto populate~/.codex - DeepSeek — get an API key at api-docs.deepseek.com; paste it into the engine picker
- Kimi (Moonshot) — get an API key at platform.moonshot.cn; paste it into the engine picker
- Ollama — install ollama.com and
ollama pull <model>; Cockpit auto-starts the daemon
All API keys are stored locally in
~/.cockpit/settings.json. No cloud relay.
npm install -g @surething/cockpit
cockpit # start cockpit → http://localhost:3457
cockpit . # open current dir as a project
cockpit ~/my-project # open specified dir
cockpit -h # helpBoth
cockpit(full name) andcock(short alias) ship with the package — use whichever you prefer. Docs and examples usecockpit; existing muscle memory keeps working.
git clone https://github.com/Surething-io/cockpit.git
cd cockpit
npm install
npm run setup # build + npm link (registers `cockpit` and `cock`)cockpit browser <id> snapshot # capture accessibility tree
cockpit browser <id> click <uid> # click element
cockpit terminal list # list terminal bubbles
cockpit terminal <id> output # read terminal output (filter, cursor)
cockpit connection list --cwd . # list ALL bubbles (term + browser) with user-set titles- 📖 What is a Code Graph (and why your AI needs one)
- 📖 Read code as a map, not a tree
- 📖 How to run 5 Claude Code sessions in parallel
- 📖 Full blog
- 📋 Changelog
npm run dev # dev server → http://localhost:3456
npm run build # production build
npm run setup # build + npm link
npm run lint # ESLintNext.js 16 · React 19 · TypeScript · TailwindCSS · xterm.js · node-pty · Shiki · tree-sitter (WASM) · i18next · Claude Agent SDK · Vercel AI SDK
Issues and PRs welcome. See CONTRIBUTING.md and the OpenCockpit docs.
MIT © Surething
If Cockpit saved you 10 minutes today, a ⭐️ on GitHub is the cheapest thank-you we know.