By khivi
Workspace backends (cmux/limux) backed by git worktrees, aligned to GitHub PRs with live status surfaced in cmux pills and a Claude session footer.
Cockpit is a terminal UI for juggling several PRs at once from Claude Code. Each task gets its own git worktree, a cmux/limux terminal running claude, and a GitHub PR — and cockpit shows them all in one live table (CI, reviews, comments, dirty state) that you drive by keystroke: focus, close, or nudge any row.

uv, git ≥ 2.30, Python ≥ 3.12gh, authenticatedPATH — cmux (macOS) or limuxcship + starship for the statusline (set use_cship: true; wired automatically by the installer / cockpit update)Add the plugin inside Claude Code:
/plugin marketplace add https://github.com/khivi/cockpit
/plugin install cockpit@khivi-cockpit
Run the bundled installer once — it installs the cockpit command (bootstrapping uv if missing) and wires the statusline:
bash ~/.claude/plugins/cache/khivi-cockpit/cockpit/*/bin/update.sh
To update later, run cockpit update or press u in the TUI when it shows "⬆ update available". Both run the same in-wheel updater — no shell needed once installed. (cockpit update --check reports availability without installing.)
The daemon is the TUI — run it yourself (no auto-start):
cockpit watch # requires a TTY; run under tmux/cmux/screen to persist
Start a task — run /cockpit:new inside Claude Code, from a session in any git repo:
/cockpit:new <branch | PR | url> | --pr N | --branch X | --cwd P | --skill S [--repo R] [--name X] [--context] [-- <text...>]
~/.config/cockpit/config.json holds managed repos + tunables; /cockpit:new auto-registers the current repo:
{
"repos": [
{
"name": "myrepo",
"path": "/abs/path",
"branch_prefix": "you/",
"default_base": "main",
"linear_keys": ["TEAM"],
"sidebar_color": "Blue"
}
],
"slow_poll_interval_seconds": 300,
"fast_poll_interval_seconds": 30,
"use_cship": false,
"use_linear": false,
"tool": "auto"
}
| Knob | Default | Notes |
|---|---|---|
slow_poll_interval_seconds | 300 | full GitHub reconcile |
fast_poll_interval_seconds | 30 | network-free git-state republish |
tool | auto | cmux | limux | none | auto |
autoclose_age_days | 14 | PR-less worktrees older than this become auto-close eligible |
prompt_prefix | — | prepended to every new workspace's first turn |
use_linear | off | /cockpit:new PE-1234 fetches the ticket via the Linear MCP, then renames branch + workspace to the title slug |
per-repo sidebar_color | — | cmux color tint (Red/Orange/Green/Blue/…); an invalid name refuses to start |
check_update | on | hourly version check → header indicator |
Full schema: config.example.json. Cleanup on merge is unconditional — a MERGED PR with a clean, pushed worktree is always reaped; nothing else is touched.
🤖 Opus 4.7 🧠 7%/1M ⌛ 4%/5h khivi/fix-login ✓ clean
TICKET-123 APPROVED #9999 ✓ Add login flow
Stop the TUI (q), then:
rm -rf ~/.config/cockpit # state only; your worktrees remain
Then /plugin uninstall cockpit in Claude Code.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub khivi/cockpit --plugin cockpitMulti-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Memory compression system for Claude Code - persist context across sessions
Editorial "Web Designer" bundle for Claude Code from Antigravity Awesome Skills.
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use