Codex CLI: which commands you can actually build on

5 min readSimon BudziakBy Simon Budziak

On this page6 sections
Title card reading Read the label, not the changelog, with the OpenAI Codex logo and name in the top-left corner. A navy background with a stylized terminal window outlined in thin gold, holding seven stacked bars: most lit warm cream and steady, one glowing faintly and unevenly, and the bottom one dimmed and struck through by a fine gold line.

If you build tooling on a fast-moving agent CLI, the question that matters is not what shipped last week. It is which parts will still be there next quarter. Codex CLI answers that directly: its reference publishes a maturity label on every command, and reading those labels tells you more than any changelog roundup can. Some commands that look headline-worthy are still Experimental months after launch, and at least one is now Deprecated. This post was first published on 17 May 2026 as a roundup of three releases, and rewritten on 29 August 2026 once there was enough record to check it against.

What 35 more releases did to the May forecast

The original covered Codex CLI 0.128.0 through 0.130.0, three releases across eight days at the end of April and start of May. Since then OpenAI has published 35 further stable releases, ending at 0.151.0 on 29 August 2026, according to the npm registry’s publish record.

That volume is exactly why a “these 7 changes matter most” post cannot stay useful. What can stay useful is the direction, and the May post made three directional bets. All three held, which is worth saying plainly because a forecast that lands is as informative as one that fails:

  • More agentic. Persisted /goal workflows still exist, documented as “Set, edit, pause, resume, view, or clear a task goal”. The direction went further than the post predicted: Codex now also ships spawned agent threads, with /agent and /subagents to “Switch the active agent thread. Inspect or continue work in a spawned subagent thread.”
  • More terminal-native. Vim mode, raw scrollback, the resume and fork picker and workspace-aware /diff all survive, joined by /personality for response style and /ps for background terminals.
  • More team-operable. codex plugin and codex plugin marketplace are both Stable now, which is the label that matters if you were waiting before standardising a plugin set across a team.

The label that answers “can I build on this?”

Here is the part that replaces the changelog habit. The Codex CLI reference explains its own contract: “Each section shows the option’s maturity and flags deprecated options and risky combinations.”

That single line is more operationally useful than any release-notes summary, because it is a forward-looking statement rather than a backward-looking one. A changelog tells you something changed. A maturity label tells you whether OpenAI is asking you to depend on it yet.

Two entries make the point better than an explanation.

codex remote-control is still Experimental. The May post called it “one of the strongest signals in this batch”, and that read was right about direction: it is the entry point for headless, remotely controlled Codex. It is also, three and a half months and 35 releases later, still labelled Experimental, described as “Run or manage remote control for the local app-server, or create a short-lived pairing code.” Direction and readiness are different things, and a changelog only ever shows you the first.

codex mcp-server is now Deprecated. The reference is explicit about the replacement: “Deprecated interface for running Codex as an MCP server over stdio. Use the Codex app server instead.” If you wired Codex into another tool as an MCP server earlier this year, that is the line to act on, and no amount of reading feature announcements would have surfaced it.

A three-rung vertical ladder on a navy card. The top rung is labelled Stable and described as safe to build on and to standardise across a team. The middle rung is labelled Experimental, meaning usable but pinned and wrapped, with codex remote-control given as an example still on that rung after 35 releases. The bottom rung is labelled Deprecated, meaning migrate now, with codex mcp-server given as an example and the Codex app server named as its replacement.
The reference publishes this per command. It is the part of the docs worth re-reading each quarter, and the part a changelog roundup cannot give you.

What we do with an Experimental command

Experimental does not mean avoid. It means the cost of a change lands on you, so budget for it:

  • Pin the version. codex update exists precisely because the release cadence is high; on an Experimental surface, choosing when to take an update is the difference between a scheduled change and a surprise one.
  • Wrap it in one place. One adapter around codex remote-control means a breaking change is a single edit rather than a search across a codebase.
  • Do not put it under a human gate. An approval step resting on an Experimental transport inherits its instability, and the failure shows up exactly when a person is waiting.
  • Re-read the label, not the release notes. The maturity is where a promotion or a deprecation is stated in one word.

The same problem on the other CLI, with a different answer

This is the second time we have hit the same underlying question from opposite directions. On Claude Code, the trap is that shipped fixes get re-defaulted, so the answer is to pin the behaviours you depend on in committed settings. On Codex, the surfaces are labelled, so the answer is to read the label before you build.

Both are the same discipline: treat the agent CLI as a dependency with a version policy, not as a product you passively receive. That is also why we keep a deliberately small, stable plugin set rather than chasing every new one, and why the subagent work landing in both products is worth watching as capability rather than adopting as habit.

The honest limitation

One thing this post cannot do is tell you the current label for a command you care about. Labels move, which is the entire point, and a page that froze them in prose would be the exact failure it is describing. Open the reference and read the maturity column for the specific command you are about to depend on. Verified against Codex CLI 0.151.0, the release current on 29 August 2026.

Sources

Last updated:

Train your team to build this