Skip to content

Commands

On the server: switchboard

The installer adds ~/.local/bin/switchboard.

Command What it does
switchboard or switchboard status Is everything running? Asks the server (8130), the hub (8132) and the downloads (8131)
switchboard start Start the server, the hub and the downloads
switchboard stop Stop them
switchboard restart Stop, then start
switchboard logs [lines] The last lines of each part's log (60 from the journal on systemd, 20 per file otherwise)
switchboard setup [options] First-run setup, again (below)

It works with whatever runs the server: LaunchAgents on a Mac, systemd user services on Linux, or plain background processes when neither is set up.

On a Windows server

The same commands are powershell -File %LOCALAPPDATA%\Switchboard\switchboard.ps1 start|stop|restart|status|logs|setup. There is no hub on Windows, and logs shows the last 30 lines of the server's and the downloads' logs.

switchboard setup

With no options it asks three things: the server's address, your computers, and each computer's Claude folder. With options it does just that and asks nothing.

Option What it does
--address ADDR The address devices use for this server
--code Print a code and the lines that link a computer, then stop
--code --json The same, as JSON
--ssh ID=USER@HOST Add a computer reached over ssh (repeat for more)
--root ID=FOLDER Set a computer's Claude folder (repeat for more)
--ssh-key Print this server's ssh public key (made the first time)
--yes, -y Take the suggested answer everywhere
switchboard setup --address studio.local      # use this address
switchboard setup --code                      # a new code and the lines to paste
switchboard setup --ssh tower=me@tower.local  # add a computer reached over ssh
switchboard setup --root tower=~/Code         # set a computer's Claude folder

NO_COLOR or SWITCHBOARD_PLAIN turn off colors.

Installing the server

Script Options
get-server.sh --kit URL\|FILE, --sha256 HEX; everything else goes to install-server.sh
install-server.sh --hub-binary PATH, --node-dir DIR, --no-hub, --no-service, --no-start, --no-setup, --yes, --plain, --uninstall
install-server.ps1 -NoStart, -NoSetup, -Uninstall
pack-server-kit.sh --base URL, --out DIR, --no-binaries, --no-sources, --no-vendor

Install says what each one does.

On each computer

install-agent.sh and install-agent.ps1

What the line from Add a machine runs. Served by the server at http://<server>:8131/.

Option PowerShell What it does
--server ADDR -Server The server to link to
--code CODE -Code The one-time code
--ssh-key "KEY" -SshKey Let the server in over ssh with this key, limited to the helper
--name ID -Name The computer's id on the board
--label NAME -Label The name it shows
--sb PATH -Sb Install this sb.py instead of downloading it
--node PATH -Node Install this switchboard-node instead of downloading it
--update -Update Replace a helper that is already installed

switchboard-node

Installed in ~/.local/bin (%LOCALAPPDATA%\Switchboard on Windows).

Command What it does
switchboard-node pair <server>:8132 <code> [--name NAME] [--label LABEL] Link this computer, with a code from Add a machine
switchboard-node install Copy itself into place and run at login (needs pairing first)
switchboard-node run Keep the link open (what the login item runs)
switchboard-node status Which machine it is linked as, and to which hub
switchboard-node --version Its version

Its settings are in ~/.config/switchboard/node.json. Its log: ~/Library/Logs/switchboard-node.log on a Mac, journalctl --user -u switchboard-node on Linux with systemd, ~/.local/share/switchboard/node.log on Linux without it.

sb.py, the helper

In ~/.claude/switchboard/sb.py. Run it with python3 (python on Windows).

Command What it does
sb.py install [--dry-run] Add the helper to Claude Code: its hooks and status line in ~/.claude/settings.json, and the switchboard MCP server in ~/.claude.json. Backs up both first and saves a status line you had; on Windows it also adds the logon task SwitchboardLaunch. --dry-run prints the change instead
sb.py uninstall Take out only what install added. The ~/.claude/switchboard folder stays
sb.py places list The places chats and the file browser may use
sb.py places add PATH [--name NAME] Add one
sb.py places remove NAME Remove one
sb.py places roam on\|off Whether chats may start anywhere in the home folder
sb.py secret set <tool> <NAME> Save a secret a shared tool needs, in the system keychain; typing is hidden
sb.py secret rm <tool> <NAME> Remove it
sb.py secret list [<tool>] Which secrets are set (never their values)

The other commands (hook, statusline, rpc, mcp and so on) are what Claude Code and the server run.

The desktop installer

Install Switchboard on a Mac and Switchboard-Setup-<version>.exe on Windows take options for scripts:

Option What it does
--quiet, -q Install with no window
--uninstall Uninstall
--app PATH The app to install, instead of the one it carries
--dest DIR Where to install
--open-at-login Open Switchboard when you sign in
--add-to-dock Add it to the Dock (Mac)
--desktop-shortcut Add a desktop shortcut (Windows)
--open Open Switchboard when done
--force-quit Stop a running copy that does not quit when asked
--remove-data With --uninstall: remove settings too
--eject Eject the disk image when done (Mac)
--help All of the above

Everything that is a choice is off unless you pass it. With --quiet the exit code says what happened: 0 done, 1 failed, 2 wrong options, 3 refused because a newer version is installed.