AI-SESSION-BRIDGE v0.3.0 · SIGNAL BOX No.1 · MIT LICENSE

claude2codex — move your context, not just your terminal

Move local coding sessions between Claude Code and Codex CLI / Codex app. Or export conversations from the Claude web or desktop app and bring them into Codex.

CODEX LINE — ~/.codex/sessions/*.jsonl CLAUDE LINE — ~/.claude/projects/*.jsonl bridge
GitHub repo Quick start

Codex CLI / app → Claude Code

$ npx tsx src/cli.ts codex2claude 019f73a5
# bridged into ~/.claude/projects/<your-project>/019f73a5-….jsonl
$ claude --resume 019f73a5-3eca-7d10-8484-886430131e53
 What was the secret codeword I told you earlier?
PINEAPPLE-42-OMEGA   # full context survived the switch

Claude Code → Codex CLI / app

$ npx tsx src/cli.ts claude2codex ac6e1142
# bridged into ~/.codex/sessions/… + registered in session index
$ codex resume ac6e1142-6fed-4eaf-b75f-2371404b858b
 What was the secret codeword I told you earlier?
MANGO-77-DELTA   # and new turns keep appending on later resumes

Claude Chat archive → Codex

Import every conversation from an official Claude data export. Each chat becomes a separate, writable Codex session with UI-visible messages, available attachment extracts and tool activity.

$ npx tsx src/cli.ts import-claude-chat ~/Downloads/claude-export
# finds conversations.json and writes one Codex rollout per conversation
$ npx tsx src/cli.ts import-claude-chat ~/Downloads/claude-export --dry-run --json
# inspect counts and titles first; writes nothing

Exports that contain metadata but no message body are reported honestly instead of being presented as recovered text.


Using the desktop and cloud apps

Codex app: imported and converted threads include the events the app needs to display history, and the bridge registers them in the modern local state database when that database is available. Claude web / desktop app: use Claude's official data export, then import conversations.json.

This is intentionally not a live cloud-sync promise: the bridge does not sign in to Claude and can only transfer the messages and attachments included in your export.


What gets mapped

Codex CLI recordClaude Code record
response_item (user / assistant)type: "user" / "assistant"
function_call / function_call_outputtool_use / tool_result
shell_command · read_file · write_file · patch_file · update_planBash · Read · Write · Edit · TodoWrite
session_meta + session index registrationproject dir placement + history.jsonl

Also known as: claude codex bridge, codex2claude, Claude Code to Codex session converter. Works on Windows, macOS and Linux; respects CODEX_HOME and CLAUDE_CONFIG_DIR.