codex-router vs claude-code-router vs opencodex
This page compares Codex Router with the two projects it is most often mentioned alongside: claude-code-router (CCR) and opencodex. It is a community-maintained snapshot — every project below is evolving quickly, so verify details against each project’s own documentation before choosing.
codex-router
Codex Router is a local, credential-isolating model router for the Codex App and CLI. It speaks the Responses API, merges external entries into Codex’s native model catalog, and keeps the built-in OpenAI provider intact — so routed models appear in the normal picker next to native GPT models, and ChatGPT login, profiles and MCP settings are preserved. It ships a registry of tested providers (DeepSeek, Kimi, GLM, Grok, Claude, opencode Go, Command Code, Meta, Qwen plan and more), a doctor command, per-user background services on macOS, Windows and Linux, and optional desktop tray companions.
Its stated design goals are credential isolation (each key in its own protected file, injected only for that provider), local-only listeners on 127.0.0.1, and reversible, snapshotted migration from recognized older Kimi router layouts.
claude-code-router (CCR)
claude-code-router is the best-known router for Claude Code, the command-line agent from Anthropic. It has its own documentation site and a large community. If you work inside Claude Code and want to route its requests to other models, CCR is the natural fit.
Codex Router and CCR target different apps: CCR routes Claude Code’s Anthropic protocol traffic, while Codex Router routes Codex’s Responses traffic. They are not drop-in alternatives for each other — the right choice depends almost entirely on which agent you use.
opencodex
opencodex is a reference project that demonstrated the “merged model catalog plus built-in provider routing” pattern for Codex — the same pattern Codex Router is built on, as acknowledged in the repository’s NOTICE.md. It has an official documentation site (opencodex.me) and its own community.
Where opencodex established the pattern, Codex Router is a separate, registry-driven implementation that extends it: a validated provider registry under config/, per-provider credential isolation, guided multi-provider setup, a doctor command, a tray, and weekly changelog tracking.
Comparison table
| codex-router | claude-code-router | opencodex | |
|---|---|---|---|
| Target app | Codex App & CLI | Claude Code | Codex |
| Wire protocol | Responses API | Anthropic protocol | Responses API |
| Picker integration | Native Codex picker (catalog merge) | Claude Code model routing | Native Codex picker (catalog merge) |
| Provider focus | DeepSeek, Kimi, GLM, Grok, Claude, opencode Go, Command Code, Meta, Qwen plan, catalog-only providers | Model-agnostic router | Provider-agnostic router |
| Credential handling | Per-provider isolated key files + OAuth reuse | Provider credentials | Provider credentials |
| Extras | doctor, background services, macOS tray, Windows/Linux tray, migration | Docs site, active community | Docs site (opencodex.me) |
| License | MIT | Open source | MIT |
How to choose
- You use Codex and want external models → Codex Router is designed for exactly this, with the native picker integration.
- You use Claude Code and want external models → look at claude-code-router, which targets Claude Code’s protocol.
- You want to study the catalog-merge pattern or contribute to it → opencodex is the reference implementation, and Codex Router’s
NOTICE.mddocuments the lineage.
All three projects are independent community efforts. None is affiliated with or endorsed by OpenAI, Anthropic, Moonshot AI, DeepSeek, xAI or OpenRouter.
Related: models overview, how it works, about this site.