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.
$ 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
$ 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
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.
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.
| Codex CLI record | Claude Code record |
|---|---|
| response_item (user / assistant) | type: "user" / "assistant" |
| function_call / function_call_output | tool_use / tool_result |
| shell_command · read_file · write_file · patch_file · update_plan | Bash · Read · Write · Edit · TodoWrite |
| session_meta + session index registration | project 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.