Bridge
The bridge is a routing overlay, not a separate path. Hosted routing through zcouncil is the default for every surface; when @zcouncil/cli bridge daemon start is running on your machine, the hosted router prefers your local subscription clients (ChatGPT, Claude Code) for any council member where they're configured. The decision is server-side; the bridge just advertises what's available.
Same tool calls. Same surfaces. Different backend for the model invocations.
Run it
First run prompts for auth. The daemon keeps local routing alive in the background. Use bridge start only when you want foreground logs for debugging. Node 22 or newer.
What it changes
That swap is invisible to MCP, CLI, /chat, and SDK callers — every surface keeps the same tools and the same answer shape. The only thing that changes is where the model invocation runs.
Status
Settings → Bridge shows every connected bridge machine, identity (operator-set name), uptime, active request count, and per-account quota usage. Each machine can be disconnected from its actions menu, which closes just that bridge's WebSocket from the server side, and its CLI exits with a clean code. Settings → Activity keeps a paginated log of every model call your council members and orchestrator make — including which bridge account served each one — with each row linking back to the chat it came from (or marked Deleted chat once that conversation is gone).
You can run more than one bridge for the same token, such as a hosted standby and a laptop. zcouncil assigns each model request to exactly one connected bridge, prefers higher-priority machines, shares load across less-busy machines at the same priority, and falls back to another eligible bridge when a selected connection fails.
Failure mode
If the bridge process is down, or the local provider is unavailable, the hosted router falls back to its configured upstream automatically. Bridge-only members fail explicitly.
npx -y @zcouncil/cli@latest bridge daemon startnpx -y @zcouncil/cli@latest bridge daemon statusnpx -y @zcouncil/cli@latest bridge daemon logsnpx -y @zcouncil/cli@latest bridge daemon stop