Codex vs Claude Code: Two Different Design Philosophies
16 September 2026
Since 2025, Anthropic has grabbed a lion’s share of the headlines around its knowledge-work capabilities and Claude Code as a coding harness. OpenAI has closed much of the gap with Codex.
There are many ways to compare the two: model quality, agentic behaviour, context management, speed, cost and developer experience.
But I recently came across a difference that I found much more interesting:
The design philosophy of the harness itself.
Codex: A replaceable model
Codex is deliberately designed to be model-agnostic. OpenAI has open-sourced the Codex harness, and the underlying model is treated as a configurable component.
Changing the model in Codex is easy, if not always straightforward. For a non-OpenAI model, you can configure the provider and model in Codex’s config.toml, or create a profile and launch Codex against it.
The model is effectively a replaceable part of the stack.
Claude Code: An integrated experience
Claude Code takes a different approach.
Claude Code is primarily designed around Claude models. To use another model, you typically need to put an Anthropic-compatible gateway such as LiteLLM in between, point Claude Code at that gateway, and configure the gateway to translate or route requests to the model you actually want to use.
In short, it is not the same first-class model-switching experience.
What I found in my own experiments
I tried both approaches in my own lab.
With Codex, changing the model or provider felt like something the architecture expected me to do.
With Claude Code, using another model felt more like something the architecture allowed me to do.
That distinction may sound small, but I think it is quite profound.
It reflects two very different philosophies:
- Claude Code: Build the best integrated experience around Claude.
- Codex: Build a great coding harness and let the model underneath it be replaceable.
For OpenAI, a company whose core business is building models, that is a fascinating design choice.
References
