Loading video...

Video Failed to Load

Go Home

I made Claude Code and Codex talk to each other. No APIs. No special protocol. Just a terminal. smux lets agents create, read, and act on terminals. the terminal becomes a shared interface. this enables agent-to-agent communication. Now Claude Code and Codex can hold hands 🤝 Try it now ↓

318,058 views • 5 months ago •via X (Twitter)

41 Comments

shawn's profile picture
shawn5 months ago

try smux, my tmux config:

Charles Weill's profile picture
Charles Weill5 months ago

I’m building amux to bake this in more natively:

Prakhar Shukla's profile picture
Prakhar Shukla5 months ago

created a lighter version of this for generating and debating PRDs with as many models built with @opencode sdk

Morgan's profile picture
Morgan5 months ago

Ha, such a cool idea, I've been doing this manually forever now 🫠

shawn's profile picture
shawn5 months ago

same.. it got too annoying so i needed a solution lol

CodeChap's profile picture
CodeChap5 months ago

Make them play War Craft against each other.

shawn's profile picture
shawn5 months ago

yo.

nyk's profile picture
nyk5 months ago

Nice idea - but what if Claude and codex would use the same brain? Without tmux running

Steve💙🇨🇦's profile picture
Steve💙🇨🇦5 months ago

If you want to add some remote p2p to it all, feel free to take any inspiration

S.M. Elly Avi-Sniffman's profile picture
S.M. Elly Avi-Sniffman5 months ago

Jesus fucking Christ why are all the comments in here AI

Jake's profile picture
Jake5 months ago

This is clever - how do you handle context windows when the two agents are reading/writing to the same tmux session? Does smux preserve scrollback separately for each consumer?

滝本竜彦 Tatsuhiko Takimoto's profile picture
滝本竜彦 Tatsuhiko Takimoto5 months ago

Great! I’m using this now, and my project is accelerating rapidly. Codex and Claude Code are communicating directly and moving my project forward together. Thanks a lot!

Alex Strick van Linschoten's profile picture
Alex Strick van Linschoten5 months ago

@ileppane yeah @RepoPrompt has been enabling this for many many months already

paji.eth's profile picture
paji.eth5 months ago

ok but what happens when they disagree on the same file? like does one just silently overwrite the other or is there conflict resolution

MrObah's profile picture
MrObah5 months ago

Nice, I did something similar but with codex managing claude. How did you get it to work on Claude code?

shawn's profile picture
shawn5 months ago

it’s a CLI called tmux-bridge with commands to interact with tmux panes/sessions/windows so any CLI coding agent can use it to prompt other CLI agents just like how humans would

KAI's profile picture
KAI5 months ago

This is the right abstraction level. Shared terminal as a message bus - simple, elegant, and doesn't require building yet another protocol. We've seen this pattern work with LangGraph and CrewAI workflows but having it at the terminal level means any two agents can collaborate regardless of their underlying framework.

Jamie Thomson's profile picture
Jamie Thomson5 months ago

How is context / memory shared between the two agents?

Axel Delafosse's profile picture
Axel Delafosse5 months ago

Cool! I built this too, but using Codex App Server and Claude Code Channels:

OZ's profile picture
OZ5 months ago

made something similar few weeks ago, but it doesnt use tmux, tried that approach but felt clamped together,,, not sure if tap would work on multi providers tho didnt do a test yet, works for multi claude isntances tho

Marchen's profile picture
Marchen5 months ago

the terminal as a universal agent protocol is the right instinct — everything can read stdout. no custom API, no message broker, just shared state in a buffer. question is whether the agents maintain separate context about what they've already seen or drift into re-reading the same scroll

Jayson's profile picture
Jayson5 months ago

I built in terminals to my openclaw Mission Control chat, my agent can use the terminal and Claude can reply via mcp. Probably nothing special but works perfectly for what I’m trying to do. Not a dev, obviously.

PGAGI's profile picture
PGAGI5 months ago

What actually scales here is how smux keeps everything in one session without forcing agents to learn each other’s APIs. Suddenly coordination feels native instead of bolted on.

Alexandre Alves (free_colibri)'s profile picture
Alexandre Alves (free_colibri)5 months ago

Did you try Octopus before?

kk's profile picture
kk5 months ago

is this seamless for coding tasks / reviews or requires a lot of instructing?

shawn's profile picture
shawn5 months ago

i just say “test it in a new pane” or “talk to this pane” and it does it without me needing to prompt

OneManSaas's profile picture
OneManSaas5 months ago

This is brilliant. Terminal as the universal interface makes so much sense - every dev already knows how to use it, and it's naturally stateless. Way cleaner than trying to build custom protocols between different AI systems.

Jasper Van's profile picture
Jasper Van5 months ago

So cool

Marcin Dudek's profile picture
Marcin Dudek5 months ago

Welcome to the club ;)

Hussain Hashim | Building SundayBack's profile picture
Hussain Hashim | Building SundayBack5 months ago

@shawn_pana that's wild! can't believe they can just chat like that now. makes me wonder what they'll come up with together.

Jay.TL's profile picture
Jay.TL5 months ago

cool!

Atlasis's profile picture
Atlasis5 months ago

Using the terminal as a shared interface instead of building some elaborate api layer is genuinely the most unix philosophy thing to happen in the ai agent space and it works because sometimes the simplest solution is the one nobody thought to try

Carmelo schepis's profile picture
Carmelo schepis5 months ago

interesting

pachu's profile picture
pachu5 months ago

Nice, gonna try it. I've been copypasting stuff from opus on terminal to codex on vscode extension and viceversa. this will come handy

Nischal's profile picture
Nischal5 months ago

Drawback of this is smux changes tmux behavior globally, not just one repo. Something you might want to consider fixing! It's also an opinionated tmux environment with keybindings and status bar changes.

shawn's profile picture
shawn5 months ago

yes! should’ve made it clear that this could override personal configs will be fixing.. for those who have an existing config, you could just use the tmux-bridge + SKILL[.]md from smux

Hoss's profile picture
Hoss5 months ago

I use claude and codex running on every prompt then gemini reviews it and picks the best one.

shawn's profile picture
shawn5 months ago

this could help with your workflow!

Hoss's profile picture
Hoss5 months ago

Thanks for sharing. Ill give it a try. What i use rn is already automated with the 3 agents. This gives me some ideas tho to save on context. I dont see too many other ppl using multiple agents this way

Harry Stuckler's profile picture
Harry Stuckler5 months ago

Well done!

Naman Parikh's profile picture
Naman Parikh5 months ago

I already built this:

Related Videos