Multi-session terminal orchestrator for Claude Code
Run dozens of Claude sessions simultaneously with tabbed management, SSH remote access, cloud agents, browser automation, an in-app webview, an Excalidraw scratchpad, GitHub PR context, and real-time usage analytics.
Installation • Highlights • Features • What's New in v1.4 • Build from Source • Security
Note This project was developed privately since late 2025 and open-sourced in April 2026. Git history was squashed for the initial public release. All future development happens in the open.
Windows note The Windows installer is not code-signed, so SmartScreen will warn on first run. Click More info then Run anyway to proceed. The macOS DMG is signed and notarized.
Claude Code is a powerful CLI, but managing multiple sessions across projects, SSH hosts, and Docker containers means juggling terminal windows, losing context, and manually tracking costs.
Claude Command Center wraps Claude Code in a desktop app that gives you:
- Tabbed sessions with save/restore, attention indicators, and instant switching
- SSH terminals with encrypted credentials and automated remote setup
- Cloud agents that run headless tasks in the background, plus multi-agent teams
- Browser automation via MCP so Claude can see and interact with web pages
- In-app webview for a side-by-side browser pane that talks to the same Vision tools
- Excalidraw scratchpad for diagramming whose exports drop straight into Claude
- GitHub sidebar showing the PR for your branch, CI runs, reviews, and linked issues
- Token analytics with cost tracking, rate limit monitoring, and burn rate
- Memory visualizer to browse Claude's learned context across all your projects
- Insights — periodic Claude-driven analysis of your session logs
It doesn't replace Claude Code — it orchestrates it.
- Tabbed multi-session interface — run dozens of Claude Code sessions in parallel
- Session save/restore — sessions persist across app restarts with automatic
/resume - Attention indicators — tab badges pulse when Claude needs input or finishes work
- Config presets — save terminal configurations as reusable presets with groups and sections
- Group launch — start all configs in a group with a single click
- Session grouping — organize active sessions into collapsible sidebar groups
- Local sessions in any working directory with directory browser
- SSH remote sessions with encrypted password storage (DPAPI / Keychain)
- Automated SSH setup — statusline + Vision MCP auto-deployed to remote on first connect
- Sudo password auto-entry — encrypted and machine-bound
- Combined mode — optional partner shell pane alongside Claude in the same tab
- Shell-only mode — create terminals without Claude for manual tasks
- Command buttons — one-click prompt buttons in the command bar
- Sections & dividers — organize buttons into named collapsible sections
- Target routing — send commands to Claude, partner terminal, or active terminal
- Arguments system — default args per button, Ctrl+click to override before sending
- Drag-and-drop reordering with custom colors and global/per-config scope
- Context window tracking — live token count with color-coded progress bar
- Model, cost, lines changed, session duration — all visible at a glance
- Rate limit monitoring — 5-hour and weekly windows with reset countdown
- Burn rate — cost/hour and tokens/minute for the active session
- Customizable — font and size, plus subtle red/green deltas for line-count changes
- Region capture — select any screen region and inject it into Claude's context (built on
electron-screenshots) - Window capture — pick a window from a visual list
- Clipboard paste (
Alt+V) — paste images with auto-resize (1920px max edge, JPEG q85) - Excalidraw scratchpad — full whiteboard pane, exports to image straight into Claude
- In-app WebView — pinned browser pane next to your terminal, talks to the same Vision tools
- Unified MCP path — all image transfer works identically on local and SSH sessions
- Headless background agents — dispatch Claude tasks that run without a terminal
- Agent dashboard — monitor status, duration, tokens, and cost for all agents
- Agent teams — orchestrate multi-agent pipelines with sequential / parallel steps
- Agent Hub Library — canonical place to author your own templates; built-ins are starter examples to copy and edit
- Output viewer — read full agent output with copy / retry / remove controls
- MCP server with 17 tools — screenshot, navigate, click, type, scroll, evaluate JS, and more
- Auto-discovery — tools registered in
~/.claude/settings.jsonautomatically - SSH reverse tunnel — remote sessions access the MCP server transparently
- Chrome & Edge support — connect via Chrome DevTools Protocol
- Headless mode — run browser automation without a visible window
- Usage dashboard — cost breakdown by model, time window (5h / today / 7d / all-time)
- Clickable daily cost chart — 30-day trend; click a bar to filter the table to that day
- Model breakdown — per-model token counts and costs (Opus, Sonnet, Haiku, etc.)
- Rate limit utilization — visual bars for 5-hour and weekly limits, with anomaly alerts
- Burn rate calculation — cost/hour and tokens/minute with peak detection
- Extra spend tracking — monitor overages beyond plan limit
- Project filters — view costs per project or globally
- Project cards — browse Claude's auto-memory organized by project
- Type grouping — User, Feedback, Project, Reference memory types
- Full-text search — find memories across all projects instantly
- Staleness indicators — color-coded age (green / yellow / red) to spot stale context
- Markdown rendering — read memory content with formatted display
- Memory management — delete outdated entries directly from the UI
- PR snapshot for current branch — status, CI runs, reviews, unresolved threads, linked issues
- Session context inference — detect which issue/PR your terminal is working on from branch name, transcript, or PR body
- Local git state — ahead / behind, dirty / clean, staged / unstaged at a glance
- Sign-in flexibility — OAuth device flow, fine-grained PAT, or adopt your existing
ghCLI auth - Per-session opt-in — nothing runs until you enable it for a specific session
Ctrl+/toggle (Cmd+/on macOS) — collapsible right panel keeps terminal space when hidden
- Periodic analysis runs — Claude reads your session logs in the background and generates a digest
- Cross-project patterns — surfaces recurring issues, frequent fixes, and stuck flows
- Dependency risks — highlights brittle areas you've debugged repeatedly
- Browser-friendly reports — reports open in your system browser as standalone HTML
- Full session logging — all terminal output recorded to JSONL files
- Log search — full-text and regex search across session history
- Session browser — discover and resume past sessions grouped by date
- Project browser — find sessions across all projects with metadata
- Log rotation — auto-rotate at 10 MB with configurable retention
- Encrypted credential storage — SSH passwords, sudo passwords, and notes encrypted with OS credential store
- Machine-bound — credentials only decrypt on the machine that stored them
- Encrypted notes — per-session secure notepad for API keys, SQL snippets, secrets
- Daily CONFIG backups — the app snapshots
CONFIG/*.jsontoCONFIG/_backups/YYYY-MM-DD/on every launch (last 7 retained), so config files are always recoverable - No telemetry — zero data collection or transmission
- Local-only storage — all data stays on your machine
- VirusTotal scanned — every release scanned against 70+ antivirus engines
- GitHub sidebar — collapsible right panel with PR snapshot, CI runs, reviews, unresolved threads, linked issues, and session-context inference
- OAuth / PAT /
ghCLI sign-in — three ways to authenticate; encrypted profiles in OS credential store - In-app WebView pane — pin any URL alongside the terminal, integrates with Vision tools
- Excalidraw scratchpad — full whiteboard pane with one-click export into Claude
- Snap (region capture) — rebuilt on
electron-screenshots, far more reliable than the legacy overlay - Combined Mode — Claude + partner shell side-by-side in one tab
- Insights page — periodic Claude-driven analysis of your logs
- Branded splash — new asset on launch
- 14-step hero-layout tour — covers every major surface, keyboard-navigable
- Daily CONFIG safety backups (v1.4.2+) — last 7 days of
CONFIG/*.jsonretained automatically underCONFIG/_backups/ - YAML escape fix for memory frontmatter writes (closes CodeQL alert — values with backslashes/newlines now round-trip correctly)
- Settings audit — dropped flicker-free, PowerShell tool, and Docker Container session toggles (the env vars they set were either obsolete or never wired)
- Statusline polish — configurable font / size, subtle red-green deltas for line-count changes
See src/renderer/changelog.ts for the full revision history.
- Download the latest installer from Releases:
- Windows:
ClaudeCommandCenter-x.y.z.exe - macOS:
ClaudeCommandCenter-x.y.z-mac.dmg
- Windows:
- Verify the SHA-256 checksum against
CHECKSUMS.txtin the release - Run the installer and choose your Data and Resources directories
- The setup wizard will guide you through Claude CLI authentication
- Claude Code CLI installed and authenticated
- Node.js 20+ (for Claude Code)
- Windows 10 / 11 or macOS 12+
Don't trust the installer? Build it yourself — the source is identical to what ships in releases.
Prerequisites: Node.js 20+, npm 9+, Claude Code CLI installed.
git clone https://github.com/nubbymong/claude-command-center.git
cd claude-command-center
npm install
npx vitest run # 566 unit tests should pass
npm run dev # Development with hot reload
npm run build # Production build# Windows NSIS installer
npm run package:win
# macOS DMG (signing + notarization requires Apple credentials)
npm run package:macEvery release also includes CHECKSUMS.txt (SHA256) and is scanned by VirusTotal — check the release notes for scan links.
| Layer | Technology |
|---|---|
| Shell | Electron 33 |
| UI | React 18 + Tailwind CSS v4 |
| State | Zustand 5 |
| Terminal | xterm.js 5.5 + node-pty |
| Build | electron-vite |
| MCP | @modelcontextprotocol/sdk |
| Diagramming | Excalidraw |
| Tests | Vitest (566 unit + Playwright E2E) |
The app runs a frameless Electron window with a React renderer. Each Claude session spawns a PTY process via node-pty. The Vision system runs a local MCP server that Claude Code discovers via ~/.claude/settings.json. SSH sessions get a reverse tunnel to the MCP server automatically.
| Shortcut | Action |
|---|---|
Ctrl+T |
New config |
Ctrl+W |
Close session |
Ctrl+Tab / Ctrl+Shift+Tab |
Next / previous session |
Ctrl+1…Ctrl+9 |
Jump to session N |
Ctrl+B |
Toggle sidebar |
Ctrl+/ (Cmd+/ on macOS) |
Toggle GitHub sidebar |
Alt+V |
Paste clipboard image |
Escape |
Interrupt Claude (Ctrl+C) |
Shift+Enter |
New line without sending |
All shortcuts are customizable in Settings → Shortcuts.
SSH passwords and secrets are encrypted using the OS credential store:
| Platform | Backend | Scope |
|---|---|---|
| Windows | DPAPI via Electron safeStorage |
Machine + user account |
| macOS | Keychain via Electron safeStorage |
Machine + user account |
| Linux | libsecret via Electron safeStorage |
Machine + user account |
Credentials are stored as encrypted base64 blobs — never plaintext. They are machine-bound and cannot be extracted or transferred.
The app makes no network calls of its own. All Claude API communication goes through the Claude CLI directly. The only network activity is:
- Update checker — fetches GitHub Releases API to check for new versions
- Service status — polls
status.claude.comfor API health indicators - GitHub sidebar (opt-in only) — talks to the GitHub API after you sign in
- VirusTotal (release builds only) — scans installer via VT API during CI
- Daily CONFIG backups — every launch snapshots
CONFIG/*.jsontoCONFIG/_backups/YYYY-MM-DD/, keeping the last 7. Recover from a corrupted write by copying any prior day's snapshot back. - Atomic config writes — all
writeConfigoperations write a.tmpthen rename, so an interrupted save can never leave a half-written file. - Capture-script lock — the release-time screenshot tool acquires an exclusive
.capture.lockand only restores files it explicitly backed up; never blind-deletes by filename.
If you discover a security issue, please report it privately via GitHub Security Advisories.
Contributions are welcome. See CONTRIBUTING.md for setup instructions, coding standards, and the PR process.
MIT — see the LICENSE file for details.








