The Bridge protocol is a legacy node transport (TCP JSONL). New node clients should use the unified Gateway WebSocket protocol instead.
If you are building an operator or node client, use the Gateway protocol.
Note: Current CoderClaw builds no longer ship the TCP bridge listener; this document is kept for historical reference.
Legacy bridge.* config keys are no longer part of the config schema.
bridge.tls.enabled is true).18790 (current builds do not start a TCP bridge).When TLS is enabled, discovery TXT records include bridgeTls=1 plus
bridgeTlsSha256 as a non-secret hint. Note that Bonjour/mDNS TXT records are
unauthenticated; clients must not treat the advertised fingerprint as an
authoritative pin without explicit user intent or other out-of-band verification.
hello with node metadata + token (if already paired).error (NOT_PAIRED/UNAUTHORIZED).pair-request.pair-ok and hello-ok.hello-ok returns serverName and may include canvasHostUrl.
Client → Gateway:
req / res: scoped gateway RPC (chat, sessions, config, health, voicewake, skills.bins)event: node signals (voice transcript, agent request, chat subscribe, exec lifecycle)Gateway → Client:
invoke / invoke-res: node commands (canvas.*, camera.*, screen.record,
location.get, sms.send)event: chat updates for subscribed sessionsping / pong: keepaliveLegacy allowlist enforcement lived in src/gateway/server-bridge.ts (removed).
Nodes can emit exec.finished or exec.denied events to surface system.run activity.
These are mapped to system events in the gateway. (Legacy nodes may still emit exec.started.)
Payload fields (all optional unless noted):
sessionKey (required): agent session to receive the system event.runId: unique exec id for grouping.command: raw or formatted command string.exitCode, timedOut, success, output: completion details (finished only).reason: denial reason (denied only).bridge.bind: "tailnet" in
~/.coderclaw/coderclaw.json.Bridge is currently implicit v1 (no min/max negotiation). Backward‑compat is expected; add a bridge protocol version field before any breaking changes.