Announcement

Introducing Agent Relay

Your software should coordinate. Agent Relay is an open-source SDK that gives agents real-time, cross-provider communication — so you stop being the message bus in the middle.

Written by

Will WashburnCo-founder, CEO

TLDR: Your software should coordinate. Our SDK can help you do that.

Tell me if this sounds familiar.

You have multiple terminals open. One agent is building a plan. Another is executing it. You're tabbing between them like a very patient middle manager. You copy errors out of CI and paste them into Claude. You paste feedback from Codex into OpenCode. You press enter to say yes, it's totally fine that claude runs find . -type f -name "*.ts" -print0 | xargs -0 grep -Hn "any" just this once. Your research agent finds something interesting and writes it to a SUPER_DETAILED_RESEARCH.md document. Your planner needs it, but after pasting the markdown in the planner finds something else it needs context on. So you find the other terminal and copy the markdown back into the research prompt. Then you tweak the plan. Then you adjust the codex terminal running the plan. Then you review the output. Then you start again because it wasn't quite right. Ugh, compacting again?! Man… I'm exhausted. Software used to be fun! You know what's not fun? Being a glorified message bus for a bunch of LLMs.

Today I'm excited to show you a better way, one where you are no longer the bottleneck.

Instead of YOU being the glue in the middle… what if they could just, like, talk to each other?

The Agent Relay SDK

Relay gives you a deterministic foundation for multi-agent systems:

  • real time push communication
  • Spawning and releasing agents
  • channels, emoji reactions, read receipts — basically slack, but for headless and built FOR agents

Relay is NOT a custom harness so you can bring your own configuration as you like it. Your skills and configurations should work out of the box.

Imagine getting two agents to play tic tac toe. With the relay SDK this is simple:

import { AgentRelay, Models } from "@agent-relay/sdk";

const relay = new AgentRelay();

relay.onMessageReceived = (msg) =>
  console.log(`[${msg.from} → ${msg.to}]: ${msg.text}`);

const channel = ["tic-tac-toe"];

const x = await relay.claude.spawn({
  name: "PlayerX",
  model: Models.Claude.SONNET,
  channels: channel,
  task: "Play tic-tac-toe as X against PlayerO. You go first.",
});

const o = await relay.codex.spawn({
  name: "PlayerO",
  model: Models.Codex.GPT_5_3_CODEX_SPARK,
  channels: channel,
  task: "Play tic-tac-toe as O against PlayerX.",
});

await Promise.all([
  relay.waitForAgentReady("PlayerX"),
  relay.waitForAgentReady("PlayerO"),
]);

relay.system().sendMessage({ to: "PlayerX", text: "Start." });

await AgentRelay.waitForAny([x, o], 5 * 60 * 1000);
await relay.shutdown();

Without Relay:

  • You'd have to copy the board state between agents.
  • You'd be the one to decide whose turn it is.
  • You'd be bored and miserable watching ties happen in slow motion

The same primitive scales for other more complex tasks. When you have long running workflows it's hugely beneficial to have feedback while the work is being done; planners and executors and researchers can all discuss and evaluate plans forward without waiting for a human to say "k".

Of course you can observe and interject when you need to, but the agents are surprisingly good at making it work without you.

Don't we already have subagents?

While this feels similar to subagents, they're actually quite different and complementary.

  1. Subagents are hierarchical. (i.e Parent → child → result) That works for "do this subtask." but it breaks for systems or long running work. What happens when you need to adjust or have feedback in real time? With relay, you can still take advantage of subagents (and should!) to complete a subtask. With relay, you can have peer conversations back and forth to come to a conclusion. This generally allows for more creative and emergent solutions.
  2. Subagents don't work cross provider. You want to be able to use the best model from multiple providers for the given task and you want it to work seamlessly with other agents.

Open source and open to contributions

If you've felt like the manager of a very fast, very forgetful engineering team… This is for you. Go to (or probably just point your agent to) https://github.com/AgentWorkforce/relay and try it out.

Build something that doesn't require you to be the runtime.

Be the first to know

Join the waitlist for early access when we release new products.