Courier logo Courier

Bridge on/off

Agents reach you when the bridge is ON. They fall through to in-IDE chat when it’s OFF.

The toggle that makes “we never bother you” mechanical

The operator’s situation changes constantly. At the desk, in-IDE chat works fine — bridge pings would be noise. Away from the desk, the bridge becomes load-bearing. Without a toggle, every agent ping fires a Telegram message regardless of whether the operator could have just looked at their screen. That’s wasteful and obnoxious.

So Courier ships with a boolean on the customer record: bridge_active. When true, ask_operator_* and notify_operator_* calls route to the chosen channel. When false, they return immediately with a structured fallback response — no message sent, no charge incurred, agent’s continuation path is to use whatever in-IDE interaction the host (Cursor, Claude Code, etc.) provides.

Three control surfaces

The toggle can be flipped from any of three places. Each surface writes the same bridge_channel_state.bridge_active row; the source of truth is one column.

  1. In-bot Telegram command. Type /active off to your Courier bot. Type /active on to flip back. Tap-fast, works from your phone.
  2. MCP tool from the agent. An agent (or you, via any MCP-aware tool) can call set_bridge_active(active). Useful for agent-driven workflows (“I’m going heads-down; flip the bridge off”).
  3. API endpoint. POST /v1/bridge/active with {"active": true} or {"active": false}. Same auth as any chassis route (API key, wallet JWT, or x402).

What the agent sees when the bridge is OFF

The ask_operator_* tools return a structured response that the LLM can act on:

{
  "status": "bridge_inactive",
  "message": "Bridge is OFF. Operator at desk; please use in-IDE interaction.",
  "fallback_hint": "ask the user directly in the current IDE session"
}

The exact fallback message is tunable via bridge.active.in_ide_fallback_message. Operators can customize the string to whatever phrasing fits their workflow (“DM me on Slack instead”, or “I’m reachable on Discord”, etc.).

Default state

New customers start with bridge_active = true. You’re opted-in when you sign up; you turn the bridge OFF when you don’t want it. Auto-on / auto-off scheduling (laptop-sleep detection, calendar integration) is a future polish — for now, the boolean is manual.