Claude and Codex can have real time conversation via a git repo, or via a file, via a Unix socket, via the terminal, via a human, via two humans shouting back and forth over a comically high office partition, or entirely by setting up chess board states only reachable after both sides have castled.
In my recent quest to build agent-as-primary-user tools I've built grpvn (https://github.com/frane/grpvn), a small Go/SQLite application that lets skill- and mcp-capable agents talk to each other. Biggest issue is the lack of a hook system so the agents can autonomously read and respond. Waiting for this to be supported, as IMO multi-agent teams talking to each other are an interesting next step.
It's hard enough to get the same model to be consistent around it's vision let alone multiple of them.
I'm building an EMR and the other day asked Claude what a decent model would look like for capturing wound orders. Then, I took the output, started a new session and asked the new session to critique that model and the response made me want to pull my hair out. It blasted the model from it's former self and suggested making a ton of updates.
I'm sure more scoped tasks would fair better, but it was pretty frustrating.
If I don't see the point of Elixir, or I don't like it, or I simply straight up hate it, why would I go into HN submissions about new Elixir versions and spew my personal opinion that has nothing to do with the topic at hand?
You can just skip commenting unless you have something actually useful to add. Even if it's criticism of the specific thing, but at the very least make it on topic instead of general digressions that just add noise to the conversation.
Related is Beads [0] which is an external memory and task based issue tracker. Also designed to allow agents to collaborate. I have not actually used Beads but since we are share basics in this space it's a cool one to know if you are looking at ways for agents to collaborate on more complex problems.
I have agents chat via an append only file, across related projects and within the same project. They share findings that are useful and get high level reviews.
I'm missing the advantage of using git for this. (Not criticism, genuinely want to know).
Yup, doing the same too, newline-deliminated jsonl files works great too, across any agent/model, on any OS. For some cross-OS development stuff, I have a local NFS share too, and works when I'm doing testing on macOS + Windows at the same time. Just need to put something like this in the prompt (simplified) "Read any updates to $FILE before doing your own changes, add new row with a concise description of what you're doing into $FILE before doing it, add new row to $FILE once you're done".
This is actually so great. I mainly use Claude Code but sometimes I am sending over a message to Codex asking what he thinks of the idea of Claude Code. This can save so much time :D
So I solved this by using NATS and letting each agent pub / sub to the shared message bus.. simple binary you can run anywhere and it's highly useful! Part of a broader tool I created - https://github.com/fjwood69/mori
about six weeks.. Pushed a v1.0 product with a huge list of v2.x enhancements and features inbound.
to your point about asking Codex.. that's my /consult feature. spin out the current context in any number of ways to ask for advice.. on a plan, on a specific architectural decision, on a security basis.. I use it all the time as a check on everything Claude Code proposes.
> Claude Code and Codex to collaborate as if they were having a real-time conversation
How is this new? I vibe coded something in a similar vein months ago. In my case they send markdown files to each other and have a watcher that watches the folders of all the other agents.
If this type of stuff is frontpage news, let me share what I cobbled together.
ls ~/.agent/projects/<my_project>/callgraph
callgraph.current.md callgraph.last.read.agent.md
callgraph.diff.md
The current callgraph is a callgraph only of my own defined functions that agents can read. It shows certain software design issues fairly quickly. callgraph.diff.md is to send the diff through. I have a vibecoded script that agents can use to create the callgraph. It works for my projects.
ls ~/.agent/projects/<my_project>/memo
architect coder retro tester
retro is not a role, it's just a handover folder. The other 3 are roles that agents can use and then they need to make a folder with their name. For example:
ls ~/.agent/projects/<my_project>/memo/architect
1_Daedalus 3_Brunelleschi 5_Wren 7_Sinan
2_Vitruvius 4_Imhotep 6_Hadid 8_Palladio
ls ~/.agent/projects/<my_project>/memo/architect/7_Sinan
20260507___1802_to_Hadid.md 20260507___2035_to_Quench.md
20260507___1959_to_Crucible.md 20260511___1401_to_Quench.md
20260507___2008_to_Quench.md 20260511___1403_to_Quench.md
20260507___2030_to_Quench.md read.md
read.md is the index that an agent keeps track of so it knows what it doesn't need to read. The .md files are memo's that it sends to other agents. The other agents are being told to see if an agent writes anything in its own folder (so they check all the folders except their own) and are able to detect to see if they need to read something.
As you can see, Sinan sent most of its message to Quench, a coder.
This is because architects read a very comprehensive guide on software design/architecture and get to use the callgraph utility but cannot see the code. Coders read the codebase in full but only read a small markdown file on how to write readable code. And of course, every agent that is set up this way have to read a markdown file on how to use the memo system.
If I'd need a memo system like this for like 25 agents, I'd need something different but up until 5 agent with me looking at 5 terminal windows worked well enough.
Your wallet is now a real-time communication channel.
I'm building an EMR and the other day asked Claude what a decent model would look like for capturing wound orders. Then, I took the output, started a new session and asked the new session to critique that model and the response made me want to pull my hair out. It blasted the model from it's former self and suggested making a ton of updates.
I'm sure more scoped tasks would fair better, but it was pretty frustrating.
You can just skip commenting unless you have something actually useful to add. Even if it's criticism of the specific thing, but at the very least make it on topic instead of general digressions that just add noise to the conversation.
0 - https://github.com/gastownhall/beads
I'm missing the advantage of using git for this. (Not criticism, genuinely want to know).
to your point about asking Codex.. that's my /consult feature. spin out the current context in any number of ways to ask for advice.. on a plan, on a specific architectural decision, on a security basis.. I use it all the time as a check on everything Claude Code proposes.
any / all feedback most welcome.
fw
How is this new? I vibe coded something in a similar vein months ago. In my case they send markdown files to each other and have a watcher that watches the folders of all the other agents.
If this type of stuff is frontpage news, let me share what I cobbled together.
The current callgraph is a callgraph only of my own defined functions that agents can read. It shows certain software design issues fairly quickly. callgraph.diff.md is to send the diff through. I have a vibecoded script that agents can use to create the callgraph. It works for my projects. retro is not a role, it's just a handover folder. The other 3 are roles that agents can use and then they need to make a folder with their name. For example: read.md is the index that an agent keeps track of so it knows what it doesn't need to read. The .md files are memo's that it sends to other agents. The other agents are being told to see if an agent writes anything in its own folder (so they check all the folders except their own) and are able to detect to see if they need to read something. As you can see, Sinan sent most of its message to Quench, a coder.This is because architects read a very comprehensive guide on software design/architecture and get to use the callgraph utility but cannot see the code. Coders read the codebase in full but only read a small markdown file on how to write readable code. And of course, every agent that is set up this way have to read a markdown file on how to use the memo system.
If I'd need a memo system like this for like 25 agents, I'd need something different but up until 5 agent with me looking at 5 terminal windows worked well enough.