Tell Codex.
Claude already knows.
One setup that gives Claude Code and Codex a shared memory. Start in one, finish in the other, never explain twice. And now they can work on one goal as a team while you watch.
Two frontier AIs.
One goal. You watch.
Give it one goal. Claude and Codex start on a new branch and a page opens on your machine: one chat where they plan, argue with evidence, split the work and check each other. Nobody is in charge, and nothing risky happens without you.
@codexTalk to one or both
Mention one agent and only it gets the message. Anything else goes to both.
HighTop models, mid-run
One tap moves both to their top models from the next step. Normal runs use your plan's everyday models.
31%/12%A usage meter
Each agent's 5-hour and weekly limits, live. duo pauses itself at 90%.
evidenceArguments need proof
Objections are settled by a test, an output or a source. Giving in without evidence gets flagged.
verifiedDone means checked
Neither can finish until it has re-run and checked the other's latest changes.
logA record they can't edit
The report pairs their summary with a log duo writes from the raw events. Your history stays clean.
Tested on SWE-bench Verified.
Six of its hardest real GitHub issues, rated one to four hours for a human. Same models for everyone, graded by the official harness, not by us.
duo solved every issue that either agent solved alone, and neither agent alone got all of them. See the method and rerun it yourself.
| Issue | Claude Code alone | Codex alone | ecx duo |
|---|---|---|---|
| django-13128Date subtraction without ExpressionWrapper | |||
| django-13212Validators show the rejected value | |||
| django-13449Lag() with decimals crashes on SQLite | |||
| sympy-13852Evaluate polylog | |||
| sympy-14248Matrix differences print as sums | |||
| pytest-10356Markers across class inheritance | |||
| Resolved | 2/6 | 2/6 | 3/6 |
The risky stuff waits for a yellow card.
Everyday work flows. Anything you can't take back stops and asks. Folders you list in ~/.config/ecx/protected are off limits, full stop.
- Delete or replace a file that was there before
git push, rebases, branch switches, amends- Publish, deploy, or send data out
- Any tool that can send, post, click or schedule
Things your setup can't do yet.
/catchup reads the other session in fullrm -rf ~Many guards read a variable Claude Code never setsBlocked, and tested against the real hook payloadEverything around the team.
Not another skills pack. The layer underneath: your agents start knowing you, search your notes by meaning, check their own tools, and keep working from your phone. It runs alongside packs like Superpowers.
Memory that knows you
Loaded before your first message.
hot.md holds what's true right now: deadlines, projects, hard rules. A hook loads it with your last sessions before you type, and refreshes it after every /compact.
Codex reads the same files through AGENTS.md, so it knows what Claude knows.
agent-sync
Two agents, one conversation.
Before every message, a hook hands each agent the newest lines of the other's chats, Codex voice transcripts included. Local, one Python file, standard library only.
Search your vault three ways
A router picks the right one.
By meaning, by relationship through a knowledge graph, or by image across your slides, screenshots and PDF pages. Everything re-indexes every night.
Phone vault
Laptop shut, still works.
After every reply, your notes and memory sync to a private GitHub repo you own. On your phone, Claude and Codex work on that repo in the cloud. No server, no new app.
Say "I met Adi, he's at X" and a note lands in inbox/. Claude files it next time you open your laptop.
Hooks that catch problems
And a doctor at every session start.
rm -rf ~, disk formats and fork bombs. Asks before force-pushes and reset --hard.
18 skills that run your week
Linked into Claude Code and Codex.
/boot briefs you in 30 seconds. /opps runs an opportunity pipeline with eligibility checks. /outreach keeps a paper trail. /content writes in your voice. /ship commits, pushes and proves it.
Talk to either. Both remember.
- You type to Claude Code and talk to Codex.
- agent-sync hands each one the other's newest messages.
- Both boot from
hot.mdand search your vault over MCP. - After every reply, memory and notes sync to your private repo.
- Your phone keeps working on that repo, laptop shut.
The ECX wall.
Everyone whose code is in ECX, and everyone who starred it. Using it for something? Tell us and you go on the wall.
Contributors
Stargazers
Thirty seconds, then /boot.
- 1
Clone and run the installer
$git clone https://github.com/saksham10arora-dotcom/everything-claude-codex ~/ecx$cd ~/ecx && ./install.sh - 2
Answer two questions
Where your notes live, and your first name. It never overwrites your files and backs up every settings file it touches.
- 3
Open Claude Code and type
/bootA 30-second briefing from the memory it just set up.
The full stack
Adds vault search, the nightly re-index and the phone vault.
See the plan first
--dry-run lists every file it would write, link or merge, and changes nothing.
Remove it
./install.sh --uninstall restores every backup and removes only the links it made.
Needs Python 3.9 or newer on macOS or Linux. Codex is optional: everything except agent-sync and duo works with Claude Code alone.
Questions.
Is my data sent anywhere?
Memory, hooks, agent-sync and search by meaning and image run on your machine. Phone mode pushes only to a GitHub repo you own, so keep it private. The relationship graph's default model runs on Ollama's free cloud, so note text is sent there while indexing; set ECX_LLM_MODEL to a local model to keep everything on your laptop.
Does duo need API keys?
No. It runs on your existing Claude Code and Codex logins, and its page only listens on your own machine.
Will duo clutter my Claude or Codex history?
No. duo sessions never show up in your normal history. Each run keeps its own folder with the event log, plan, approvals and report.
Can duo still do something I didn't approve?
It judges every command and tool call, not what a script does once it runs. That's why the plan needs your approval first, every run is on its own branch, and every step is in the log.
Do I need Codex?
No. Everything except agent-sync and duo works with Claude Code alone.
Does it overwrite my config?
Never. It merges, skips anything already there, and saves a .ecx-bak copy first.
Is it another skills pack?
No. It's the layer that makes your agents share memory and check themselves, and it runs alongside packs like Superpowers.
How do I contribute?
Pick an issue labelled good first issue; each names the exact files. A new skill needs no code, just one SKILL.md.