The third release I want to write about this week is OpenAI’s Codex CLI 0.134.0, which shipped yesterday, May 26. The release notes include a one-line bullet that does the most directional work: “Let read-only MCP tools run concurrently when they advertise readOnlyHint.” On its own, the change is small. It applies to a single field in the MCP spec, on tools that opted into the field, in a single CLI’s runtime. The pattern it completes — what three different vendors did to defaults in the same week — is the part I want to spend the piece on.
What the change does
MCP — the Model Context Protocol — is the surface AI coding agents use to talk to external tools, data sources, and services. From the caller’s perspective, MCP was a serial protocol. You called a tool, it returned, you called the next tool, it returned. The Codex CLI 0.134.0 release changes that for tools that mark themselves with a specific spec field, readOnlyHint. A tool whose author set readOnlyHint: true now runs concurrently with other read-only tools in the same Codex session. No flag, no opt-in at the CLI level — concurrent is the default for opted-in tools.
This is a small change with a sharp edge. The field readOnlyHint is part of the MCP spec; it has been there for months. Most MCP server authors I checked have not set it. The default flip changes nothing for those servers. For the servers whose authors did set it correctly, every read-only tool now runs in parallel. For the servers whose authors set it incorrectly — readOnlyHint: true on a tool that has side effects — every read-only-but-actually-not tool now runs in parallel with itself, potentially executing side effects concurrently. The default’s correctness is symmetric, and the symmetry is a real audit cost for anyone who maintains MCP servers.
What I did before writing this
I started auditing the readOnlyHint values on every MCP server I run. The audit took roughly an hour and turned up two tools mis-marked — one that did filesystem caching as a side effect of a “read,” and one whose “read” was actually a database call with a write log. I want to be careful with this datum because it is mine, not a population estimate; I am not telling you that some percentage of MCP tools are mis-marked. I am telling you that two of mine were, that the audit is straightforward, and that the upgrade to 0.134.0 prompts the audit on the right schedule.
A pattern completing across three vendors
I have been writing about defaults in two earlier pieces this week. The piece on Claude Code 2.1.152, the opt-in that quietly disappeared, tracked a specific kind of default-flip: Auto mode no longer requires opt-in consent. The piece on Copilot’s targeted model rules, the org chart picks your model, tracked another: each model in the catalog ships as Enabled (automatically on for all organizations) or Optional. The Codex CLI 0.134.0 change is the third instance in the same week — read-only MCP tools now run concurrently when they advertise readOnlyHint.
Three vendors. Three different layers of the stack. Three defaults turned toward “more automatic, less consent.”
The Anthropic flip is at the session policy layer — Auto mode is the consent model for what runs inside a Claude Code session. The Copilot flip is at the org policy layer — the Enabled/Optional default is the consent model for which models a given organization gets. The OpenAI flip is at the protocol behavior layer — concurrent execution is the consent model for how MCP tools interleave. Three different scopes; three flips in the same direction. None of the three flips required user action to take effect. All three of them changed how the tool runs by default starting from the release date.
A trajectory that has been forming
The post that traces the longer thread of this argument is parallel agents and the per-developer meter, earlier this month. That piece followed parallelism from “agents run in parallel” to “each developer gets their own meter.” Today’s Codex change moves the parallelism story one tier down again — from per-developer-meter parallelism to per-MCP-tool concurrency. Each tier I have traced has added simultaneity that was not present at the tier above it. The system is getting more parallel, not just more automatic; and the increases happen at the protocol level, not at the user-action level.
The steelman, which is real
Auto-mode opt-in was friction for power users who had crossed the consent surface dozens of times. Pre-selected Enabled defaults are admin convenience for enterprises that would otherwise re-enter every choice at the organization level. Concurrent read-only MCP reads are faster, and “faster” is a real value when you are waiting on twenty tool calls in series. Each individual default-flip has a real case. The thing I am arguing is not that any single flip was wrong. The thing I am arguing is that the cumulative shape of the default-on accretion — three vendors in a week, three layers of the stack — is worth tracking as a pattern, not just as three releases.
What audit lives inside this
The audit you can do per release got more complex this week. For Claude Code 2.1.152, the question is: what consent surface did this release remove? For Copilot, the question is: which models did the enterprise admin set to Enabled, and which of your organization’s developers will run them tomorrow as a result? For Codex CLI 0.134.0, the question is: are my MCP servers’ readOnlyHint flags correctly set, and if not, what side effects am I now running concurrently?
The three audits are different in detail. The pattern is the same: every release this week shipped a behavior change behind a default, and every behavior change requires you to audit your configuration to know what is now happening that wasn’t happening last week.
The line that matters
The developer’s job this year is auditing defaults, not picking them. The defaults are flipping faster than the docs are catching up, and the gap between “what a release ships” and “what your setup actually does after upgrade” is a function of the audit cadence you maintain, not the release notes you read. I added “what defaults shifted on in this release?” to my upgrade-notes checklist, alongside “what consent surface disappeared?” The release that triggered this piece is Codex CLI 0.134.0 adds conversation search and concurrent read-only MCP.