On Thursday, August 20, OpenAI shipped Codex CLI v0.149.0 and Anthropic shipped Claude Code v2.1.238 — same day, within hours of each other. The release notes tell you more than the benchmarks do. Codex’s update added a Linux desktop app and, more tellingly, a /import command that pulls in your setup and recent chats from Claude Code and Cursor. The desktop app doesn’t just run Codex; it supports Claude Code, Claude Cowork, and Cursor as first-class citizens.

That’s not competition. That’s a merger in slow motion.

The Benchmarks Stopped Mattering

The Hacker News thread that’s been bouncing around this week — “A week of using Codex more than Claude” — treats the question as a consumer choice. Which tool fits my workflow? Which one reasons better on my repo? Fair questions, but they’re the wrong frame.

Look at the numbers. On Terminal-Bench 2.1, the independent vals.ai run from August 19 has GPT-5.6 Sol at 85.8% and Opus 5 at 84.6%. Another board puts them at 89.5% and 89.1%. Within half a point either way. On SWE-bench Verified, Opus 5 posts 97.0%. The gap between the two flagship models is now smaller than the gap between two runs of the same model on different days.

When the scores converge, the scoreboard stops being the story. The story is what the vendors do next — and what they did next was build bridges to each other.

The Import Button Is the Tell

Think about what /import actually means. OpenAI is saying: bring your Claude Code configuration, your plugins, your recent work, and we’ll run it. Anthropic’s desktop app, per the release notes, supports Claude Code, Claude Cowork, and Cursor — and Codex can import from all of them.

A company that believed it was winning a platform war does not build an on-ramp from the rival’s product. It builds walls. The fact that both sides are building doors instead tells you what the people with the data already know: the switching cost between these tools is approaching zero, and the moat was never in the CLI.

The moat was supposed to be the model. But the models are converging. The moat was supposed to be the ecosystem. But the ecosystems are now interoperable. What’s left is a commodity layer — a very good, very fast, very expensive commodity layer — with interchangeable front-ends on top.

Who Loses When the War Ends

The people who need to update their priors are the ones pricing in a winner. The venture investors who backed one horse. The enterprise buyers who signed three-year commitments to one vendor’s agent platform. The developers who’ve built their identity around being a “Claude person” or a “Codex person.”

A developer I know — mid-level, works at a fintech in Chicago, spends his days in a terminal — put it this way over Slack this week: “I switched from Claude Code to Codex on a Tuesday and back on Thursday. It took twenty minutes each way. I don’t even remember why I switched back.” That’s the future. Not loyalty, not lock-in — churn, driven by whichever tool shipped the latest feature that week.

The uncomfortable implication for the reader who likes market competition: this is what competition actually looks like when it works. Not two champions slugging it out for a decade, but a rapid convergence that destroys margins and turns yesterday’s differentiators into today’s table stakes. The “war” narrative is more fun to write about, but the import button is more honest.

The Real Question

If the front-end is interchangeable and the model layer is converging, where does the value accrue? Not to the CLI vendors, who are now competing on convenience. Not to the benchmark leaderboards, which are within noise. The value accrues to whoever owns the compute, the data, and the distribution — and to the developers, who get to treat these tools as disposable.

That’s the part the HN thread misses. The thread is a review. The release notes are a surrender. Both sides have stopped trying to win the war and started trying to win the week. The war is over. Nobody’s declaring victory, because nobody won.

Sources