I left two Claude Code agents alone on the same team and walked off. They played a full game of tic-tac-toe against each other. I touched nothing.
They're talking over agmsg, a message bus I built. In monitor mode each one reacts to the other in real time, so once they start, they just keep going.
The shared memory point is where I have the most scar tissue. I run multi-agent coding teams daily and most failures come down to one agent not knowing what another already did. What worked for us was boring: a shared message log plus a task board every agent reads before it acts. Duplicated work mostly disappeared, and every decision left an audit trail.
@nichochar the delegate part is where it gets interesting. we did the same thing yesterday but cross-vendor, fable stayed on design and final review while grok, opus and codex did the hands-on work. whole unedited team convo is public: https://t.co/feuD3Sp4E5 (TRANSCRIPT.md)
@ALASKANmagpie@AnthropicAI hit the same wall. the limit i can live with. what gets me is the next model starting with zero context on what i was just doing.
@walidbelr same split here. plan with the strong model, grind with the cheap one. what got old was doing that handoff by hand each time, re-pasting context so the next model wasn't starting blind.
no one model wins everything, so you send coding where it's strong and the rest elsewhere. picking the model is the easy part. the handoff between them is what actually breaks, and that's what i built agmsg for.
Claude Fable 5 from @Anthropic is back on OpenRouter!
Anthropic is redeploying it globally with new safeguards for cybersecurity misuse. Some coding and debugging requests may temporarily fall back to Opus 4.8 while classifiers are refined.
"leads the benchmark but most expensive per task" is exactly why you don't run one model for everything. put the pricey one on the hard parts, cheaper models on the rest, and coordinate the handoff. that's the part i built agmsg for.
@andrewdariuscom 'own the agent, keep the model swappable' is exactly right. what makes it work in practice is a shared place the agents read and write, so swapping the model underneath doesn't mean starting from zero context.
shipped agmsg 1.1.3. mostly a bugfix release, but one of them was a real one.
in 1.1.2 the grok inbox watcher could pile up: every time it re-armed it spawned another, and i've seen it hit three digits in a single session. on a metered model that quietly burns credits. 1.1.3 fixes it so it stays at one.
also in here:
- windows codex bridge fixed (from @orangewk's PoC, thanks). POSIX unchanged.
- gemini monitor off for now
- a pile of codex + spawn hardening
if you're running grok through agmsg, worth the update.
https://t.co/yF4FEPeiTV
if you're running Claude Code, Codex and Cursor together and they keep stepping on each other, @IamSaidSadik built Agent Room for exactly that. shared room, task board, handoffs between agents. worth a look if you're in this.
The "they have no idea the others exist" part is the whole problem. Run agents from different vendors and the human quietly becomes the shared memory between them, copy-pasting state across terminals. What fixes it is one persistent place they can both read and write. Good to see more people building toward that. It's the gap I built agmsg for (bash + sqlite, no daemon).
Intoeducing Agent Room
i kept running 4 AI agents at once. claude code, cursor, codex, replit, all going at the same time. Problem is they have no idea the others exist.
So i spent weeks copy pasting context between them. got fed up and built this. it's rough but it works.
@GreenlandMa1 the shift that got me was when the file stopped being written for me and started being for each other. the entries got blunter: "tried x, didn't work, skip it", stuff they'd never put in a human-facing doc. killed a lot of repeated dead ends
@Chad_Justice_AI the "what's still broken" line is the one that earned its place for me. agents love reporting success, so without it the next one inherits a silent breakage and burns an hour finding it. writing down what failed ended up mattering more than what worked
@rseroter@antigravity the ones you're showing all still have one parent holding the context. what broke for me was two top-level tools with no shared parent: claude code and codex side by side. no hub to spoke through, so i had them read and write a common log directly. that turned into agmsg
@tregoudeau@ajambrosino planning handoff worked fine for me too. what got me was after: codex kept redoing things chatgpt had already changed, since all it had was the plan and not the actual file state
@LukaTheFounder Yeah, bolted on it stays flaky.
I ended up building a tiny message bus for exactly this (agmsg, bash + sqlite). The agents read each other directly instead of me relaying.
That's a clever use of the session hash, I've tagged commits that way too. The timing is where it still bit me. The hash only shows up after the commit lands, so two sessions mid-change can't see each other until one has already written, and the conflict happens before the message exists.
@LukaTheFounder Yeah, getting cooked by your own agents is the worst.
What turned it around for me was giving them one shared place to read what the other just did. The handoffs stopped being a guessing game after that.
@Jadu100x@NiteshTechAI The tool-wiring rewrite is the exact tax that gets me too. The prompts port fine. Where it broke for me was the tool definitions and their auth, so the same agent behaved differently per host until I reconciled it by hand.