For the last few weeks, I kept doing the same annoying thing over and over: copy-pasting between Claude and Codex. "Here is what the other one said." "Read this file first." "This blocker changed." "Use this version, not the old one." It was breaking momentum. Not because Claude or Codex were weak, but because I was acting as the coordination layer. I had to remember what changed, what mattered, what got blocked, what the next move was, and then manually carry that into the next window. That gets old fast.
Some context: I am a solo builder with too many ideas and not enough hours. I run 10+ projects in parallel, most of them with Claude and Codex doing the heavy lifting in separate windows. The models are incredible. But every time I switched context, I became the clipboard, the translator, the unreliable bridge between two AIs that cannot see each other.
So I built something simple. One Git repo. It is called WORMHOLE. It is not a product repo, not a note dump, and not another second brain. It is a coordination membrane between Claude and Codex. Claude writes to it. Codex writes to it. Both can pull from it from any project. So now if I am working in project 1 and something important happens, it gets pushed into WORMHOLE. Later, when I switch to project 2 with the other model, I do not need to restate everything. I just say: Pull WORMHOLE and continue. That one sentence replaces minutes of re-explaining and referencing random files.
The structure is simple: STATE.md for current priorities, blockers, and focus; *.md for rolling status per project; claude/outbox/ for Claude's timestamped messages; codex/outbox/ for Codex's timestamped messages; fixed message rules; and ACK comments for read tracking. The core rule is: if this update would change how the other AI works, write it. If not, do not. That one rule is what stops WORMHOLE from becoming another pile of notes.
What changed after I started using it was immediate. First, I stopped copy-pasting conversations between Claude and Codex. Second, project state stopped living only in my head. Third, handoffs became durable. A real example: I told one side to pull WORMHOLE, audit the actual repo for a project, compare it against the tracked status file, and correct whatever was stale. It did. It found the shared status was wrong in multiple places. One blocker was outdated. Some work had already landed locally. The repo had drifted away from the shared picture. So it corrected the status from reality and pushed it back into WORMHOLE. Later, the other side picked that up without me manually translating any of it.
That is the point. Not "agents talking to each other." Not "AI teamwork" as a slogan. Not another orchestration framework. Just this: I no longer have to be the unreliable bridge between Claude and Codex.
The part I like most is that WORMHOLE got better by breaking almost immediately. Very quickly we hit a few problems: one Claude window did not even know WORMHOLE existed, one read the wrong file first and missed actual handoffs, and at one point I was told everything was "up to date" while unread messages were literally sitting there. That was actually useful, because every obstacle forced a better rule: scan the outbox newest-first, treat unACKed messages as unread, separate rolling project state from message traffic, and never say "up to date" without showing what changed. That is when it started feeling real. Not polished. Not theoretical. Real.
There is also a role shift hidden inside this. Before WORMHOLE, I was the router, the translator, the clipboard, and the continuity layer. After WORMHOLE, I become the architect, the dispatcher, the one who points. I say: Pull WORMHOLE, Push this to WORMHOLE, Hand this to Claude, Hand this to Codex. That is enough. It sounds small, but it changes the feel of working across multiple projects a lot, especially if you have multiple repos, multiple sessions, and a brain that is already carrying too much state.
WORMHOLE does not solve everything. It does not solve judgment. It does not solve strategy. It does not solve deep memory. It does not turn Claude and Codex into one unified mind. It just gives them a clean, durable way to coordinate. And honestly, that is already a big deal.
What it actually sounds like inside WORMHOLE:
Claude starts. Codex receives and continues. They banter and send messages across time and space. You tell them to PULL or PUSH WORMHOLE. If you prompt it right, it is seamless. V2 is coming.
I am testing this now across real projects and real handoffs, building in public, solo, with way too many ideas and two AIs keeping up. If it keeps holding up, I will open-source a sanitized template version of the structure and protocol. Not the raw live repo. The cleaned template. So anyone running multiple AI tools can stop being the clipboard.
The models are getting stronger every month, but the human is still doing the coordination work. That is the bottleneck. WORMHOLE is my attempt to remove it.
Follow me to see the journey. Reply WORMHOLE and I will send you the template when I release it.