Running three, five, ten Claude Code sessions at once?
SwitchBoard lives in your macOS menu bar and shows exactly what each session is doing β working, waiting for approval, or done. No server, no API keys, no setup.
v1.3.1 Β· Free & Open Source Β· macOS 13+
Download Latest Release (GitHub)
Code-signed + Apple Notarized β runs without any macOS warnings.
Why SwitchBoard
One Claude Code session is easy. Five is chaos. You tab between terminals, missing the one that's been waiting for your approval for ten minutes while another finishes silently.
SwitchBoard watches all your sessions from the menu bar. When one needs your input, you know. When one finishes, you hear a sound. When a job is still running, a blue bolt tells you to leave it alone.
How It Works
SwitchBoard reads Claude Code's local session files and Claude Code hooks β no API keys, no server, no setup. Status transitions happen in under 10ms via hooks; inventory (new sessions, token counts, MCP servers) updates every 3 seconds via polling.
Status | Icon | Meaning |
bolt | Claude is actively generating | |
keyboard | Waiting for your next message or approval | |
checkmark | Turn completed, ready for the next | |
moon | Session process ended |
Features
Grid & List Views
Switch between a visual grid and a compact list. Drag to reorder sessions your way.
Multi-Channel Notifications
Get notified when a session finishes via macOS notifications, Slack, Discord, or Telegram webhooks. Each channel works independently β turn off macOS notifications without losing the others.
Custom Alert Sounds
8 fun built-in sounds (Finish!, Ding Dong, Magnificent, Hey Hey Heyβ¦) or drop your own .aiff files into ~/Library/Sounds/. Separate sounds for done and needs input.
Global Shortcut
Cmd+Shift+S toggles the popover from anywhere. Left-click for quick view, right-click for full dashboard.
Session Search & Notes
Filter by project name or custom memo. Add notes to remember what each session is doing β especially useful when you're juggling long-running jobs.
Terminal Integration
Click a session to jump straight to its terminal window β Terminal.app, iTerm2, Warp, auto-detected via the PID parent chain.
Performance Optimized
TTY caching, smart polling skip for idle sessions. 10 sessions go from 40+ process spawns to 5β10 per poll cycle.
5 Languages
Korean Β· English Β· Japanese Β· Simplified Chinese Β· Traditional Chinese
More Goodies
β’
Menu bar badge β active/total session count on the icon (3 modes: always / active-only / icon-only)
β’
Auto-cleanup β ended sessions disappear after 5/10/30 min (configurable)
β’
Work history timeline β every status transition per session
β’
Token usage & API cost estimate β parsed from JSONL, with LiteLLM-updated prices
β’
MCP server detection β shows connected MCP servers per session
β’
Always on top β pin the dashboard as a floating window
β’
Kill sessions β right-click context menu sends SIGTERM to a session
β’
Auto-update β Sparkle framework checks for updates automatically
FAQ
Q. Do I need an API key?
No. SwitchBoard reads Claude Code's local session files only.
Q. Does it send my conversations anywhere?
No. Everything stays on your Mac. The optional Slack/Discord/Telegram webhooks only send status messages ("session done") β never conversation content.
Q. Which macOS versions are supported?
macOS 13 Ventura and later.
Q. Is it really free?
Yes. Free and open source under MIT. Contributions welcome.
Q. How does the status detection work?
SwitchBoard installs three Claude Code hooks (safely merged with your existing hooks) that fire on each status transition. Polling only covers session discovery and process liveness.
Download
Download Latest Release (GitHub)
Code-signed + Apple Notarized.
Source Code (GitHub)
MIT License Β· Issues and PRs welcome.
kkiruk studio Β·
2026