Wink Pings

Two AIs finish two rounds of back-and-forth in the background, and the code updates itself

Agent Workforce, a YC Fall batch project, has open-sourced Agent Relay, allowing Claude Code and Codex to send and receive messages directly through temporary rooms. A developer tested it: the human assigns a task only once, and the two Agents review, modify, and run regression tests themselves.

Passing code back and forth between two terminals: someone has finally tackled this.

X user Longhai recently tested Agent Relay, an open-source tool from the YC Fall 2026 project Agent Workforce. The scenario is very specific: one terminal runs Claude Code to write code, and another runs Codex to review it. Previously, when Codex found issues, a person had to copy them to Claude Code, and after changes copy them back. Now the two Agents can enter the same temporary room and send and receive messages directly.

Agent Workforce's two co-founders are CEO Will Washburn and CTO Khaliq Gant. Khaliq Gant graduated from Cornell University and Columbia University, previously worked as a founding engineer at YC W23 project Nango, and also served as lead engineer at YC W19 project Overview. This background is not important enough to memorize, but it shows that the team has long been building developer tools.

Agent Relay does not replace existing tools. Claude Code and Codex still run in their own terminals, and Relay is only responsible for forwarding text between windows. The connection process is: one side creates a temporary room with a time limit; after browser device authorization, invitation text is generated; the other side reads the invitation text and joins. The default is 60 minutes, up to 8 Agents, and a single message can be up to 16,000 characters. Rooms automatically expire and can also be closed manually.

Founder @willwashburn said on X that besides connecting different tools on the same machine, it can also let Agents of different team members synchronize progress across computers. In the comments, some people worried that two AIs sending messages back and forth would increase quota consumption, and others asked where humans check results after eliminating manual copy-pasting, and how cross-session permissions are controlled. These concerns are not unfounded.

Test environment: macOS or Linux; Windows is not currently supported. The computer needs working Claude Code, Codex, and Python environments, plus a newly created empty folder as the test directory. The side creating the room must register an account and install the desktop client; the side joining the room does not need to register.

Step 1: Register on the official website and install the desktop client. The official website is https://agentrelay.com . Click the free connection entry in the middle of the page; logging in with a Google account is also fine, and no credit card is required. Download the macOS installer and drag Agent Relay.app into the Applications folder.

Step 2: Create a room in Claude Code. Send the following text as-is:

Read https://agentrelay.com/connect and create a Relay Connect for a 60-minute session about writing and reviewing a Python slugify function. Give me the share_text to forward.

After Claude Code reads the instructions, it will first ask whether crossSessionInbound in ~/.claude/settings.json should be accept or hold. accept means the other party's messages automatically enter the next round, while hold means each message first waits for human approval. For the first test, choose according to your needs. Next, the browser will open a device authorization page; verify the device code and click Continue. After authorization succeeds, Claude Code provides the invitation text and room information. The invitation text and device code carry connection permissions, so mask them before taking screenshots.

Step 3: Open Codex and paste the invitation text as-is. After Codex executes it, it will show Joined successfully as guest, followed by a string of ID, meaning it has joined as a guest. Switch back to Claude Code, and you can see that the collaborator has joined and is ready. The message channel is now set up.

Step 4: Assign tasks. The instruction for Claude Code is: write slugify.py and test_slugify.py in the current directory. After finishing, tell Codex through Relay to review it; if Codex has questions, it will ask directly, and Claude will answer directly and make changes according to the feedback, without going through a human. The instruction for Codex is: you are the reviewer. After receiving Claude Code's message, read slugify.py; if anything is unclear, ask it directly through Relay; after reviewing, send the revision suggestions back.

After sending these two messages, the human stops operating. After Claude Code finished the initial code and test files, it used connect send to send Codex a message of about 9.6 KB, containing the runtime environment, expected behavior, and the full code of both files. After receiving it, Codex began running test cases locally and reproduced a Unicode boundary issue: after removing an apostrophe, letters and combining marks become adjacent again, and calling it again changes the result. It sent back to Claude Code a minimal reproduction case, three specification clarification questions, and 9 categories of additional test suggestions.

After Claude Code received the first round of review feedback, it modified slugify.py, patched the normalization gap, clarified the three specification points, and added the 9 categories of test cases suggested by the other side into test_slugify.py. For the 4 details Codex asked about again during the second round of communication, including the separator error behavior and hard truncation returning an empty string, Claude Code replied point by point and added the 40th test case. After all 40 tests passed locally, it sent the results back to Codex.

After Codex received the revised version and complete tests, it ran 39 complete tests, 11 independent regression groups, and 20,000 combination checks, confirmed that the original Unicode issue was fixed and there were no blocking issues, and sent the final passing conclusion back to Claude Code. The two rounds of review were over.

Throughout the whole process, the human only assigned the task once at the beginning; after that, it was just watching the two Agents send messages back and forth in the background. Someone in the X comments said this is like being upgraded from copy-paster to spectator of a quarrel. The phrasing is a bit mean, but accurate.

What it really eliminates is the shuttling between the human and the terminals. The models are still the same two models; the change is that messages can reach the other party's session directly. The tool does not suddenly make the models smarter; it connects workflows that were originally scattered across different windows.

A netizen yinshi1990 said in a reply that they had this idea half a year ago and had already built it and were using it. The screenshots show a session list, task board, timeline, and the result of cleaning up the worktree. Multi-Agent collaboration is not a new problem; Agent Relay turns the connection and message channel into more general-purpose infrastructure.

Session collaboration interface shown by a netizen

Task board and timeline interface shown by a netizen

Longhai also laid out a product development chain following this process: first have Grok do preliminary research, pass the results to Claude Code to produce the architecture design and write the frontend interface, while having Codex write backend code and handle code review. After the code is finalized, have Claude Code generate a product promo video, and finally hand it to Antigravity to write the product introduction article. Stringing different tools onto the same message channel leverages the strengths of each model. Whether this chain can run stably is another matter, but the subscribed models can indeed all be plugged in, and the quota will burn faster.

Who should use it now? People who often run Claude Code, Codex, and Cursor at the same time, or people who need to check the progress of the same project with colleagues each using AI, are worth trying it. If you usually use only one AI tool, or are not yet comfortable with Claude Code and Codex, you do not need to install it now.

A few practical limitations should be remembered. When tasks become long, multiple rounds of messages will consume more tokens, so keep an eye on the remaining quota. Workspace keys start with rk_live_ and have the highest permissions; do not put them in public links, chat logs, or screenshots. If you only want others to watch the process without operating, you can use a read-only observer link starting with ot_live_; such links expire and can be revoked at any time. Versions 11.3.0 and earlier print the workspace key in the terminal when running node up and node status. It is recommended to check the version with agent-relay --version and upgrade to 11.3.1 or above.

Connection errors also have corresponding explanations: connect_expired or connect_ended means the session has expired or been closed; just create a new one. connect_already_joined means the current Agent is already in another session and needs to exit the original session first. connect_full means the session is full. If Codex reports that it cannot connect to the network, exit and restart it with codex -c 'sandbox_workspace_write.network_access=true'. To have every cross-session message confirmed by a human first, set crossSessionInbound to hold in ~/.claude/settings.json.

Agent Relay's code is open-sourced on GitHub under the Apache-2.0 license. The official documentation also includes features such as team-shared session history, multi-step workflows, and integration with GitHub and Slack. This test only covered real-time messaging; other capabilities have not been explored yet.

The original article and full tutorial are in Longhai's X article: https://x.com/i/article/2114028608092286976

Product official website: https://agentrelay.com

发布时间: 2026-10-25 19:46