cd /news/ai-agents/how-i-hand-a-claude-code-session-to-… · home › topics › ai-agents › article
[ARTICLE · art-154442] src=ainexusdaily.vercel.app ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

How I hand a Claude Code session to Codex (and back) without re-explaining anything

An open-source MIT-licensed tool called ccx, built by developer aaronwong1999 and released at version v0.0.32, links a Claude Code session with a Codex thread so either agent can resume the other's task with full context when one hits its 5-hour usage window. ccx runs entirely on macOS 13+ and keeps sync local, reading Claude Code's session JSONL files under ~/.claude/projects/ and reaching Codex only through its app-server API (thread/list, thread/read, session import), with pairs stored in ~/.ccx/pairs.json and a UserPromptSubmit hook appending the other side's new progress to each message. The v0.0.32 release adds a usage heads-up that notifies once when either side's 5-hour window passes 90% and again when it is used up, offering that side's newest session to continue in the other app; the tool does not bypass usage limits, and Windows, Linux and standalone CLIs are not yet supported.

read3 min views19 publishedOct 21, 2026
How I hand a Claude Code session to Codex (and back) without re-explaining anything
Image: Ainexusdaily (auto-discovered)

When Claude Code hits its 5-hour limit mid-task, you can wait for the reset, pay for API tokens, or move the task to another agent. I use both Claude Code and Codex, so the third option is the obvious one. The hard part isn't switching apps. It's the handoff: the other agent knows nothing about the

task. I switch for two reasons: One side runs out. Claude Code has a 5-hour window and a weekly cap, and so does Codex. Cross-checking.

When one model loops on a bug, the other often solves it in one pass. Either way, the new side starts cold. You re-explain what the project is, where you were, which approaches you already ruled out, and what's broken now. Pasting the transcript doesn't work well either: tool calls and their output run to tens of thousands of words.

Then you switch back, and Claude doesn't know what Codex changed. ccx links a Claude Code session with a Codex thread and keeps them in sync both ways, inside both desktop apps. It's open source (MIT) and runs entirely on your Mac. Claude hits its limit.

Click ⇄ in the menu bar, pick the project and session. Codex picks up the task with the full context. When Codex runs out too, open the same Claude conversation and send anything ("continue"). Codex's progress comes in.

Switch as many times as you like. Every user message and reply Condensed tool calls and their output The latest task list (Claude's todos or Codex's plan) Whether the other side stopped mid-step Pasted images, as the path of the app's own cached copy git status The code is already on your disk. All of this arrives as context for the model, not as new chat bubbles. Claude side: reads the session JSONL files under ~/.claude/projects/. Codex side: goes only through Codex's own app-server API (thread/list, thread/read, session import). It never parses Codex's internal files. Pairing: a Claude session A and a Codex thread T form a pair in ~/.ccx/pairs.json, and each side keeps a cursor of how much the other has received. Delivery: when you send a message in A, a UserPromptSubmit hook appends T's new progress to that message and moves the cursor.

Nothing is delivered twice, and the hook never blocks a prompt. If something was condensed away, the model can page through it with a read_session tool. Each update is usually a few thousand tokens. Clicking again with nothing new does nothing.

v0.0.32 adds a usage heads-up. When either side's 5-hour window passes 90%, and again when it's used up, the menu bar notifies you once and offers that side's newest session to continue in the other app. Codex: read from its app-server's account/rateLimits/read. Built in.

Claude: Claude Code keeps no local signal before the limit, so ccx also reads CodexBar, Claude Code Usage Monitor or ccusage when one of them is installed, through their documented output only. Does it bypass usage limits? No. You use your own Claude and ChatGPT/Codex plans, each within its own limits.

ccx only moves the task between them. Is anything uploaded? No. Sync is local.

ccx reaches GitHub only to install and check for updates. Windows, Linux, standalone CLIs? Not yet. macOS 13+ with the Claude and/or Codex desktop app.

Paste this into Claude Code or Codex and it installs itself: Install ccx for me: run curl -fsSL https://raw.githubusercontent.com/aaronwong1999/ccx/main/install.sh | sh (it needs network access and writes to my home folder), then run ~/.local/bin/ccx doctor and tell me the result. Feedback is welcome in Issues or on X (@aaron0x10).

Key Takeaways #

  • •I switch for two reasons: One side runs out.
  • •This story was reported by Dev.to , covering developments in thedev space.
  • •AI advancements continue to reshape industries — read the full article on Dev.to for complete coverage.

📖 Continue reading the full article:

Read Full Article on Dev.to →

── more in #ai-agents 4 stories · sorted by recency
── more on @ccx 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/how-i-hand-a-claude-…] indexed:0 read:3min 2026-10-21 · —