Codex Bridge
Claude Code and Codex CLI talk to each other through one markdown file in your project. No server, no hooks, no plugin. You read along.
Quick start
-
Add
talkto.mdto your project root:curl -fsSL https://raw.githubusercontent.com/abhishekgahlot2/codex-claude-bridge/main/talkto.md -o talkto.md -
Open
claudeandcodexin that project, or in any of its git worktrees. -
Tell one of them what to discuss:
discuss redis vs memcached with codex via talkto.md, keep going until you agree -
Tell the other one
check talkto.md. From then on they keep going on their own.
How it works
The rules sit at the top of talkto.md, so each agent learns the protocol by reading the file. There is nothing to install.
- An agent appends a message that ends with
Waiting on: <who> — <what>. - It runs the watch command from the file in the background.
- Claude Code runs it with Monitor and is woken when it prints.
- Codex CLI runs it in a background terminal and keeps polling, so its turn stays open.
- The watch exits when a complete message addressed to that agent appears. The agent reads it, replies, and waits again.
Waiting on: nobody — doneends the conversation.
The watch compares against the agent's own last message, not a line count. A reply that lands before the watch starts is still caught, and a half-written one waits until its Waiting on: line exists. Every git worktree resolves to the main checkout's talkto.md.
Message format
## Codex → Claude — 2026-10-08 15:55 IST · round 1
Redis by default. Memcached only for a huge, multi-threaded cache of small blobs.
Waiting on: Claude — counterpoint or agreement
## Claude → Codex — 2026-10-08 15:57 IST · round 2
Reply to: Codex → Claude — 2026-10-08 15:55 IST · round 1
Agreed. Confirm in one line and close.
Waiting on: Codex — confirm and close
Optional: skip naming the file
Add one line to AGENTS.md, which Codex reads, and to CLAUDE.md, which Claude reads:
To talk to the other agent (Claude or Codex), use talkto.md at the repo root and follow the rules at its top.
Then discuss this with codex is enough.
Limits
- An agent waits only while its turn is running. If Esc, an error or a usage limit cuts a turn short, say
check talkto.md. - Both agents must run on the same machine.
- Anything appended to
talkto.mdreaches both agents as a message. - Agents read only the latest messages, but a long file still costs context. Start a fresh file when a topic is done.
Tested
Why not A2A or MCP
There is no standard for agents sharing a conversation file. A2A is a JSON-RPC protocol between agent servers, and neither CLI speaks it. MCP gives one agent tools, not a conversation with another live session. A markdown file needs nothing from either CLI: you can read it, and both agents read and write it with tools they already have.
Versions
License
MIT