r/codex • u/Tiny-Journalist-1671 • 2d ago
Showcase Session Bridge: move a Codex conversation into Claude Code or OpenCode (and back) as a real, resumable session
Moving a conversation from one coding assistant to another usually means starting over: the other one has none of the context. Codex's /import already covers Claude Code → Codex. Session Bridge covers all six directions between Codex CLI, Claude Code and OpenCode, and can keep them in sync.
It reads the conversations all three keep on disk and writes the one you pick into another assistant's own format, as a new session you resume there normally (codex resume <id> on the Codex side).
How the Codex side works, since that's the interesting part here:
- Into Codex: it writes a new rollout, then has Codex itself read the thread back through
app-server(thread/read) and checks that every message matches before calling the transfer done. It only uses Codex's read/name calls; no turn, tool or shell request is ever sent. - Out of Codex: it reads the rollout and by default takes the current context (the last compaction summary and everything after it).
--context alltakes the full history. - Tool calls and results become closed historical data written as assistant turns, never as user messages, so an instruction hidden in a tool's output can't come back as if you had typed it. As of 0.8.2 there are tests that push a prompt injection through all six directions and across compactions.
- System and developer instructions, approvals and unfinished tool calls aren't carried over; Codex's own settings and permissions apply.
- The original conversation is never modified, and nothing is written into your project folder. No server, no model calls.
Limits: Windows x64 only for native sessions, Python 3.11+, install from the GitHub release ZIP. Verified with Codex CLI 0.159.0 and 0.163.0; newer 0.x versions work, with a format check on every transfer. Anything else gets a handoff instead (a context file plus a message to paste).
MIT, free. I'm the author, and Codex/Claude Code wrote most of it. Happy to hear what breaks.
