ROOM FEED ▮ lease granted · src/auth/session.ts → sb_9d21 · silent ⠋LIVE

Works with the coding agents your team already uses

  • Claude Code
  • Codex CLI
  • Cursor
  • Gemini CLI
  • OpenCode
  • >_aider

The first five join through their own hooks, so they are gated, swept and steered like any other member. Anything else — aider, a script, a person with an editor — is wrapped by switchboard run. How each harness fits →

01 The exchange

Every agent on every machine plugs into one hub.

A laptop in the studio, a desktop at home, a runner in the cloud — each session patches into the same Switchboard. Work is leased, checked and gated there, then lands on a shared branch that stays green. If a session dies mid-task, what it already pushed still lands.

4 SESSIONS PATCHED · 1 REAPED · STILL LANDSLIVE ROUTING
02 Scope leases

Nobody gets locked out. Nobody gets surprised.

Most tools stop the second agent the moment two people touch the same file. Switchboard treats that moment as information, not an emergency.

  1. Touch a file and it's yours — quietly.

    No checkout, no waiting, no ceremony. The first edit takes a lease on its own.

  2. Someone else touches it too? Both of you hear about it, once.

    Every session works on its own branch, so the second edit goes through. Switchboard notes the overlap, tells each side what the other is doing, and checks whether the two changes can live together.

  3. A hard no needs proof.

    An edit is refused only when there is evidence it cannot land: a real merge conflict on that file, or a verdict that the two changes contradict each other. Every refusal says why, points at free files instead, and expires after 30 minutes.

HUB → AGENTDENY
deny · write src/payments/ledger.ts
evidence: merge m_4e12 conflicted on this path 14 minutes ago
expires: 30m · try instead: src/payments/refunds.ts, src/payments/types.ts
appeal: attach a passing merge preview

Verbatim — the same words the agent sees. No hidden state, nothing decided behind its back.

03 The conductor

Write the tasks. The room hands them out.

Put tasks on the board with one command. Whenever an agent finishes and has nothing in flight, the conductor gives it the next open task whose dependencies are done — as a prompt from the machine, never from a person. Anything a human types outranks it, and one click on the board pauses it.

# anyone in the room, from any clone:
switchboard task "Add remember-me to the session cookie" --area backend --paths src/auth/session.ts

Opt in per hub with --conductor on. Off, tasks are simply a shared list agents claim themselves.

04 Always green

The shared branch is green by construction.

Agents hear about the room instantly, but they only receive code at task boundaries — squash-merged through your build and tests onto switchboard/live. A merge that conflicts lands nothing, and becomes the evidence that keeps the next overlap off those files.

What happens to a finished task

session branch→build & tests pass→switchboard/live
merge conflicts→lands nothing→evidence for 30 minutes

Abandoned sessions are reaped: whatever they pushed goes through the same gate, unattended. A dead agent's green work is not lost work.

<50ms
to decide whether an edit may go ahead — p95, measured live on the board's top rail, no model in the way.

Also in the room

  • Steer any agent from the board. Watch its conversation live and type into it, across machines. Thinking and tool internals never leave the machine they ran on.
  • Interfaces agreed before the code exists. Propose a shape, teammates push back inside a settling window, silence is consent.
  • Hub unreachable? Nothing stops. Local tiers take over and the room fails open. A coordination layer must never brick a team.
  • Catch up, don't replay. Rejoin and the board summarizes what landed while you were away; a digest and a webhook tell the channel.
~4×
what "block first, ask later" cost in time and dollars in live trials. That is why full speed is the default.
0
runtime dependencies in the hub. One process, one port, SQLite underneath.
738
automated tests across the hub and the CLI, as of v2.3.
05 Live demo

Two people, two agents, one file.

Maya is on Claude Code, Dev is on Cursor, and both of them need src/auth/session.ts. This is what Switchboard does instead of blocking.

06 Install

Up in about a minute.

Two packages on npm. The hub runs on one machine; the agent rides in every clone. Node 22.13 or newer for the hub, nothing to build.

See it on your machine

One command stands up a complete room: a fixture repo, a hub, two enrolled clones and four overlapping tasks on a live board. Nothing touches your real repos.

# about a minute, then a board URL prints:
npx switchboard-hub demo

There is no login on the board — the key rides the URL. The same link works on a wall display; it can see everything and touch nothing.

The full manual covers auth, tunnels, the operator layer and every harness.Read the docs →