Singleton daemon managing multiple Claude Code PTY sessions with CLI + web dashboard.
bun install
bun link # Makes 'ccc' command available globallyThe daemon runs on port 9500 and manages all Claude Code sessions.
# Development (with hot reload)
bun dev
# Production
bun startThe daemon auto-starts when using CLI commands if not already running.
Daemon endpoints:
- HTTP/WebSocket:
http://localhost:9500 - Web Dashboard:
http://localhost:9500 - WebSocket:
ws://localhost:9500/ws - IPC Socket:
~/.claude-code-commander/daemon.sock
Files created:
~/.claude-code-commander/daemon.pid- PID file (ensures singleton)~/.claude-code-commander/sessions.json- Session persistence
ccc # Spawn new session and attach
ccc spawn # Spawn new session (background)
ccc spawn --name foo # Spawn named session
ccc attach <id> # Attach to existing session
ccc status # List all sessions
ccc kill <id> # Kill session
ccc open # Open web dashboard in browserDetach from session: Ctrl+B d (tmux-style)
Open http://localhost:9500 in your browser or run ccc open.
Features:
- View all active sessions
- Full terminal emulation (xterm.js)
- Real-time status indicators
- Create/kill sessions from UI
┌─────────────────────────────────────────────────┐
│ Daemon (Port 9500) │
│ │
│ IPC Server ←──── CLI (ccc) │
│ (Unix socket) │
│ │
│ HTTP + WebSocket ←──── Browser Dashboard │
│ │
│ SessionManager (singleton) │
│ └── ClaudeSession[] (Bun.spawn PTY) │
└─────────────────────────────────────────────────┘
bun dev # Start daemon with HMR
bun test # Run tests
bun run cli # Run CLI directly (without bun link)- Bun v1.0+
- Claude CLI installed and authenticated