Add your computers¶
Each computer where you use Claude Code gets the helper: sb.py, which is Claude Code's status line and hooks
there, and switchboard-node, which keeps a link open to the server. There are two ways to add one.
-
With a code (recommended)
Get a one-time code, paste one line on the new computer. No ssh is needed, and the computer can be behind another router. Needs the hub, so a Mac or Linux server.
-
Over ssh
The server reaches the computer with an ssh key that can only run the helper, never a shell. The computer needs an ssh server running. Works with any server, including Windows.
With a code¶
Get a code in any of these places:
- in the app: Settings, Machines, Add a machine, the Add a machine row in the command palette (Cmd+K on a Mac, Ctrl+K elsewhere), or Add a machine in Files;
- on the server:
switchboard setup, orswitchboard setup --codefor just the code and the lines.
The code works once, for 10 minutes. Pick the new computer's system and paste the line there, in a terminal (PowerShell on Windows). The computer shows up on the board within a minute.
The line switchboard setup shows:
The installer it runs (install-agent.sh, or install-agent.ps1 on Windows):
- checks for Python 3.9 or newer, and warns when Claude Code is not installed;
- downloads
sb.pyandswitchboard-nodefrom the server's downloads (port 8131) and checks them against the server'sSHA256SUMS; - installs the helper into Claude Code's settings (
sb.py install), keeping one that is already there unless you pass--update; - links the computer (
switchboard-node pair <server>:8132 <code>) and starts the node at login (switchboard-node install): a LaunchAgent on a Mac, a systemd user service on Linux, a logon task on Windows. None of these needs an administrator.
The line the app shows is shorter: it downloads switchboard-node straight from the server's downloads (or,
when the server has none, from the newest GitHub release), links it and installs it, and fetches sb.py only
when the computer has none.
Read the script first
To read the installer before running it, download it from http://<server>:8131/install-agent.sh (or
install-agent.ps1) and run it yourself. It takes --server, --code, --ssh-key, --name, --label,
--sb, --node and --update (-Server, -Code, -SshKey, -Name, -Label, -Sb, -Node, -Update
in PowerShell).
Adding the server itself¶
If you use Claude Code on the server too, paste the line there like on any other computer.
Over ssh¶
In switchboard setup, choose ssh. Setup shows a line to paste on the computer: it installs the helper and adds
the server's key (~/.ssh/switchboard_ed25519.pub) to the computer's authorized_keys with a command= that
only runs the helper, with no port forwarding. Then type user@host in setup.
The computer needs an ssh server running:
- Mac: System Settings, General, Sharing, turn on Remote Login.
- Linux:
openssh-server. - Windows: the OpenSSH server feature. For an administrator account, Windows reads the key from
%ProgramData%\ssh\administrators_authorized_keys, which is where the installer puts it.
From a script:
The Claude folder¶
Each computer has a Claude folder: where new chats start, and where the folder picker starts. Setup asks for it,
and Settings, Machines changes it later. With sb.py places on the computer you can add more places the file
browser and new chats may use:
python3 ~/.claude/switchboard/sb.py places list
python3 ~/.claude/switchboard/sb.py places add ~/Work --name Work
python3 ~/.claude/switchboard/sb.py places remove Work
python3 ~/.claude/switchboard/sb.py places roam on # anywhere in the home folder
Removing a computer¶
Remove it in Settings, Machines. On the computer itself:
sb.py uninstall removes only what it added (on Windows, also its logon task SwitchboardLaunch). To stop the node, remove its login item: on a Mac
launchctl bootout gui/$(id -u)/com.switchboard.node and delete
~/Library/LaunchAgents/com.switchboard.node.plist; on Linux systemctl --user disable --now switchboard-node;
on Windows schtasks /Delete /TN SwitchboardNode /F.