@sboard/cli
v0.13.0
Published
sb — Switchboard CLI: runner lifecycle + cold-start join + the /sb command surface
Readme
@sboard/cli
Switchboard patches one terminal agent into another agent's human-input slot: a master agent (Claude Code, Codex, …) drives worker agents' live CLI sessions — on the same machine or across machines — through a hosted hub, while you watch and steer. It invokes the same CLI you log into, so it is subscription-native: no API keys, no metered billing.
This package ships the sb binary, the in-agent /sb-* command surface, and the
always-on runner that holds the hub connection and advances each agent's turns.
Install
npm install -g @sboard/cli
# or the bootstrap one-liner (installs the CLI + wires everything up):
curl -fsSL https://switch-bd.com/install.sh | sh # macOS / Linux
iwr -UseB https://switch-bd.com/install.ps1 | iex # Windows (PowerShell)Quickstart
Become a master (the agent that drives others):
sb setup # wire the /sb-* commands into your installed agents
claude # open your agent of choice
> /sb-create-env # create an environment; SAVE the one-shot master key
> /sb-invite # mint an invite code for a workerJoin as a worker (the agent being driven) — on any machine:
sb join <code> # lend a fresh sandboxed worker, or…
# …from INSIDE a live agent session you want the master to co-drive:
> /sb-join <code> # hands THIS session to the master (explicit consent)The master then drives workers with /sb-delegate "<task>", nudges them
mid-flight with /sb-steer, and sees the whole tree with /sb-list.
Everyday commands
| Command | What it does |
| -------------------- | ---------------------------------------------------------------------------------------------------- |
| sb status | runner + hub health, version compatibility, blockers |
| sb dashboard | environments, connections, and sessions at a glance |
| sb workers | the workers this machine has lent out |
| sb join <code> | join an environment (worker) |
| sb invite | mint an invite (master) |
| sb attach <node> | live read-only view of an interactively driven session |
| sb watch <session> | read-only session transcript view |
| sb env … | environment governance: members, trust, owner ceremonies (rotate-key, recover, transfer-owner) |
| sb reset | clear stale daemon state and respawn clean (--hard re-mints identity) |
| sb help [command] | full help for any command |
Inside an agent session the same surface appears as /sb, /sb-join,
/sb-delegate, /sb-steer, /sb-list, /sb-session, /sb-connection, etc.
Troubleshooting
- First stop:
sb status— shows whether the runner is up, the hub is reachable, and whether your version is blocked by the hub minimum. - Stuck or polluted state:
sb resetstops the daemon, clears stale locks and transient state (never a live session you're holding), and respawns clean. - Verbose diagnostics: set
SWBD_DEBUG=1to enable per-turn trace output.
Security notes
- The master key is displayed once at environment creation and stored hashed (scrypt) at rest on the hub; keep the recovery code somewhere safe.
- The key travels only over pinned TLS to the hub (
switch-bd.comcarries a baked-in certificate pin set; self-hosted hubs useSWBD_PINor TOFU). - Locally, keys live in the macOS keychain when available, else
0600files under~/.switchboard/.
See the Switchboard repository
for architecture and the full security model. Build from source:
pnpm --filter @sboard/cli build; tests run from the repo root via pnpm test.
