agent-relay is an open-source prototype that passes turns between a Codex session and a Claude Code session, so one can plan and review while the other implements, and stops whenever a person needs to decide. It was posted to Hacker News as Show HN: Agent-relay for multi-vendor coding sessions on October 27, 2026; the code is in Saranyan Vigraham’s saranyan/agent-relay repository under the MIT license. What follows is what the README and changelog report.
On this page
The problem it describes
The README starts from a gap between vendors: Claude can hand work to Claude, but sessions from different vendors, such as Codex for planning and review and Claude Code for the code, “can’t talk to each other”. Without a relay, the author writes, “you’re the one transferring context”, copying plans, results and reviews between terminals.
How the relay works
According to the README, one session leads and the other follows:
- Controller. Runs only in the foreground, keeps exactly one turn in flight, enforces a turn budget and a per-turn timeout, and stops at every point where a human has to decide.
- Bus. An on-disk store of messages and events. The changelog describes immutable messages and append-only, hash-chained event streams that can be rebuilt from disk.
- Adapters. Talk to each client. The README says every capability is explicit and adapters never invent acknowledgments; other agents can be added by writing an adapter.
Each turn ends with a small relay block that tells the controller what to do next. The README lists the uses the author has in mind for the prototype: Codex writes the plan and reviews, Claude implements, and the loop runs until the reviewer accepts or asks you something; a second model critiques each change before you see it; and bounded jobs such as “at most 8 turns, 15 minutes per turn”, with an optional webhook or SMS notification when a decision is needed.
What it can’t see
The author is explicit about the limits (README):
- The relay sees each turn only from the outside, so tool loops, subagents and long-running commands inside a turn are invisible to it. The turn budget counts hand-offs, not work; the per-turn timeout is the only hard limit inside a turn.
- A Claude Code follower that the relay starts has no tools at all, or, under the coding policy, only Read, Edit, Write, Glob and Grep inside a macOS sandbox. Codex’s multi-agent mode is recorded but not yet enforced.
- Sessions you open yourself in a terminal keep whatever permissions you gave them until you hand them over.
The web console started with relay serve binds to 127.0.0.1 only and prints a link with a one-time token (web console tour).
Status
The changelog dates the first public release, 0.1.0, to October 24, 2026 and calls it “an experimental developer preview”. Its unreleased section reports a live run in which Codex 0.163.0 led Claude Code 2.1.310 through a bounded two-turn run, and the README’s status table dates that verification to October 25, 2026. Attaching to an already open Codex session and handing over an existing session are built but not yet verified live, and driving a Claude Code session while it is open in a terminal is not possible.
Try it
The README says the demos use pretend sessions and no model quota, and need macOS and Python 3.11 or newer:
git clone https://github.com/saranyan/agent-relay.git && cd agent-relay
scripts/console-demo.sh # the web console, with a few pretend sessions
scripts/walkthrough.sh # the full two-terminal flow in a temporary folder
With the Claude Code and Codex CLIs installed, it gives these commands for real sessions:
export AGENT_RELAY_ROOT=~/relay-root
bin/relay init --participants codex claude
bin/relay console # [n] launch Codex and Claude Code, [p] pair them, [s] start
For a different approach to the same pairing, see Orchevia’s Claude Code and Codex pipeline; for how the two tools differ, see Claude Code vs Codex.





