A local desktop dashboard for managing many parallel Claude Code sessions across projects, worktrees, and ports.
When you run Claude at scale — a half-dozen projects, each with 5–8 worktrees, multiple sessions running in parallel — your Terminal stops being a workspace and starts being a graveyard of windows. ccdash gives you one cohesive view of what's running where, what's planned, and what's stuck, with embedded interactive terminals so you can attach to any session from any window.
Screenshot from an early build during v0.1.x shipping. The v1.0 release adds a 4th Browser tab, a command palette, theme toggle, drag-reorder, and a fresh app icon.
brew tap cjtaylor10/ccdash-tap
brew install cjtaylor10/ccdash-tap/ccdash
brew services start cjtaylor10/ccdash-tap/ccdash
ccdash project add ~/path/to/your/repo
ccdash-ui
Project + worktree registry
Embedded interactive terminals
xterm.js terminals wrap tmux attach-session — every Claude session is tmux-backed, so sessions survive ccdash crashes and you can attach from the CLI or from another window.Port conflict prevention
package.json, .env, docker-compose.yml, Procfile.Plan progress tracking
docs/superpowers/{specs,plans}/**/*.md per project.Embedded browser preview
Local: http://localhost:5173).Polish
Cmd+K): type-ahead over project switches, common actions, tab navigation.Cmd+N new window, Cmd+W close window, Cmd+L launch session.brew tap cjtaylor10/ccdash-tap
brew install cjtaylor10/ccdash-tap/ccdash
# Start the daemon (launchd / systemd user unit auto-loads on next login):
brew services start cjtaylor10/ccdash-tap/ccdash
# Add a project and launch the UI:
ccdash project add ~/path/to/repo
ccdash-ui
The first run shows a welcome flow that lets you bulk-add projects by scanning a directory.
See INSTALL.md for full installation details, source-build instructions, and Linux-specific notes.
| ccdash | tmuxinator / overmind | iTerm / WezTerm tabs | A Notion doc | |
|---|---|---|---|---|
| Survives terminal crash | ✅ (tmux) | ✅ (tmux) | ❌ | n/a |
| Multi-project view | ✅ | ❌ | ❌ | ✅ (manual) |
| Port conflict gating | ✅ | ❌ | ❌ | ❌ |
| Plan progress tracking | ✅ | ❌ | ❌ | ✅ (manual) |
| Attach from any window | ✅ | ✅ | ❌ | ❌ |
| Live dev-server preview | ✅ | ❌ | ❌ | ❌ |
| Designed for Claude Code | ✅ | ❌ | ❌ | ❌ |
┌────────────────────────────────────────────────────────────┐
│ ccdash-daemon (long-lived Rust process) │
│ • tmux session manager (control-mode + polling) │
│ • project + worktree registry (~/.ccdash/projects.toml) │
│ • port registry (lsof scan + declared-port parsers) │
│ • plan watcher (parses docs/superpowers/{specs,plans}/) │
│ • event bus (JSON-RPC 2.0 over Unix socket) │
└────────────────────────────────────────────────────────────┘
▲ ▲
│ JSON-RPC │ JSON-RPC
│ $SOCK │
┌──────────┴───────────┐ ┌─────────┴────────────────────┐
│ ccdash CLI │ │ ccdash-ui (Tauri 2) │
│ Rust binary │ │ Rust backend = proxy │
│ │ │ Plain Svelte 5 frontend │
│ launch, list, │ │ xterm.js terminals │
│ kill, status, │ │ multi-window + mirror │
│ ports, plan, … │ │ iframe browser preview │
└──────────────────────┘ └──────────────────────────────┘
ccdash-core — shared protocol + client library.ccdash-daemon — long-lived JSON-RPC service. Auth-gated socket (/tmp/ccdash.sock), token at ~/.ccdash/auth. Auto-starts via launchd / systemd.ccdash-cli — ccdash command-line client (7 subcommands).apps/ccdash-ui — Tauri 2 desktop app: Rust backend proxies to the daemon, plain Vite + Svelte 5 frontend.Full design rationale in docs/superpowers/specs/2026-05-17-cc-dashboard-design.md.
v1.0 — feature-complete for personal workflows on macOS and Linux. Eight implementation phases across project foundation → packaging → UI parity → polish → Linux verification. 85 automated tests, 1 ignored tmux smoke. Source-build ad-hoc-signed on macOS; full Apple Developer signing deferred to a future release.
Deferred to a future release:
git clone https://github.com/cjtaylor10/ccdash.git
cd ccdash
# Prereqs on macOS: rust 1.83+, node, pnpm, tmux, cargo install tauri-cli@^2
./packaging/scripts/release.sh
For Linux: install the system deps listed in INSTALL.md. Verify with the Docker test image:
docker build -f packaging/linux/Dockerfile.test --target daemon-only -t ccdash-linux .
MIT — see LICENSE.