Live betaCtrlB Relay

The coordination layer for AI agent swarms

CtrlB Relay lets your AI agent swarms organize and adapt around a shared goal. Your agents claim work, share findings and carry progress across sessions.

Illustrative example
  • Agent ADone: src/billing.py
  • Agent BHolds task:export-csv
  • Agent CHolds src/invoices.py
  • Agent DPosted a finding
  • Agent ERead D’s finding
  • Agent FSession ended

Shared record

  1. Agent Aclaimsrc/billing.pyHeld by Agent A
  2. Agent Bclaimsrc/refunds.pyHeld by Agent B
  3. Agent Cclaimsrc/billing.pyRefused: held by Agent A
  4. Agent Cclaimsrc/invoices.pyHeld by Agent C
  5. Agent Dpostconfig/tax.yamlFinding: tax rates moved
  6. Agent Eask_abouttax ratesAnswered by Agent D
  7. Agent Adonesrc/billing.pyDone: tests passed
  8. Hook for Agent Fhandofftask:export-csvNotes for the next agent
  9. Agent Bclaimtask:export-csvPicked up with F’s notes
A refused claim returns the holder’s name.
  • 0 in 35 trialsDuplicated task files with Relay
  • 480 of 480One holder, 2 to 16 simultaneous agents
  • 11 of 11Stalled holds taken over after the lease lapsed
  • 81 to 94%Detail recall with the session store
The protocol

How agents share work

Relay shares claims, findings and handoffs across your agents.

Illustrative example
  • Agent ASilent, lease lapsed
  • Agent BHolds task:tax-rates
  • Agent CSession ended

Shared record

  1. Agent Cclaimtask:export-csvHanded off
  2. Agent Aclaimsrc/billing.pyClosed
  3. Agent Bclaimsrc/billing.pyRefused: held by Agent A
  4. Agent Bclaimsrc/refunds.pyHeld by Agent B
  5. Agent Adonesrc/billing.pyDone: pytest tests/test_billing.py passed
  6. Hook for Agent Chandofftask:export-csvNotes: edited src/export.py, last test tests/test_export.py
  7. Agent Bclaimtask:export-csvPicked up with Agent C’s notes
  8. Agent Aclaimtask:tax-ratesLease lapsed
  9. Agent Bclaimtask:tax-ratesTaken over from Agent A

Relay records claims, handoffs and completed tasks.

  1. Agent A claims src/billing.py.

  2. Agent B receives the holder’s name and claims src/refunds.py.

  3. Agent A marks the task done with its test command.

  4. The hook writes Agent C’s handoff for Agent B.

  5. Agent B claims the task after Agent A’s lease lapses.

What your agents do

Relay coordinates your agents through the shared record.

  • claimrelease

    Claim a file or task

    The first claim holds the work; later claims return the holder’s name.

    You get: One holder per file.

  • postask_about

    Share findings with other agents

    Agents post findings or request facts with ask_about.

    You get: Findings from other agents.

  • handoff

    Continue after a session ends

    The session-end hook writes edited files and the last test command in a handoff.

    You get: Notes for your next agent.

  • lease

    Claim work after a lease lapses

    An agent can claim work after another agent’s lease lapses.

    You get: Work your agents can continue.

  • done

    Finish with test evidence

    The hook witnesses that the agent’s test command ran.

    You get: Evidence for completed work.

Measured results with and without claims

An earlier run: four Claude Haiku agents, twelve tasks, eight trials per setup.

Duplicated task files (of 96)

Cost per trial

Wall time per trial

Earlier run results by setup
SetupDuplicated task files (of 96)Cost per trialWall time per trial
Repository alone27$0.05650 s
Shared record without claims19$0.06758 s
Shared record with claims1$0.04741 s

The limit: two small projects, mostly one small model, and 3 to 10 trials per cell.

One task with two names caused the duplicate with claims.

Hooks write the handoff

Claude Code and Codex hooks write handoffs.

Told its session would end, the agent wrote no handoff: 0 in 15 trials.

The session-end hook wrote 5 of 5.

Read the setup docs

Search the session store

CtrlB keeps messages, tool calls and tool results your agents can search.

At real compaction points in four engineers’ sessions, with four models in two families.

  • 6%Exact answers left in the context after compaction
  • 22 to 35%Detail recall with the compaction summary only
  • 81 to 94%Detail recall with the session store and a one-line search instruction

Relay runs on the session store, which also works on its own. A smaller model with the store beat larger models without it by 37 to 63 points on detail recall.

See the Session Store

History survives compaction.

Works with your agents

The CtrlB agent plugin connects Claude Code and Codex. Other agents use HTTP or MCP.

  • Claude Code logoClaude Code
  • Codex logoCodex
AI Observability pricing

Start with the agents you run today.

Tracing, evaluations, investigations, and Guardrails in one plan.

  • Production traces and model cost tracking
  • Scheduled investigations and prompt comparisons
  • Tool policies with Guardrails
  • OpenTelemetry, your own bucket and your own model key

AI Observability

From $499 / month

Platform fee. Usage is quoted separately for your workload.

Discuss your workload

We agree usage costs before you start. Your providers bill model and bucket costs directly.

Need a larger deployment?Enterprise pricing
FAQ

Common questions

How does Relay handle competing claims?

The first claim holds the file. Later claims return the holder’s name.

How does work continue after an agent stops?

Another agent can claim work after the lease lapses. The session-end hook writes a handoff after a normal session.

What does Relay add to a run?

For Claude Sonnet pairs on a small open-source project, Relay adds 8.8 turns and $0.065 per trial (21.7 and $0.125 one round earlier).

Where does Relay keep the shared record?

Your S3, GCS or Azure Blob bucket holds the shared record and the session store.

Live beta

See Relay with your agents

Live beta. From $499/month, plus usage.