The release notes say /voice. The operator patch says /experimental, Touch ID, and a default that broke third-party backends for a day.
Codex CLI rust-v0.155.0 shipped September 17, 2026 on GitHub under openai/codex. The feature list is loud: experimental /voice conversations with live transcripts and microphone controls on supported builds, enabled through /experimental; live reasoning summaries in the TUI status row plus completion timestamps; Touch ID verification for MCP requests in local TUI sessions on supported Macs; task hide/archive/delete in the agents overview; configurable daemon update schedules and codex app-server daemon update; Amazon Bedrock credentials from configured commands with caching and expiration-based refresh. rust-v0.155.1 shipped September 18 with one bug fix: new local TUI sessions leave reasoning summaries disabled by default again, restoring none, because providers that do not support the field rejected requests. Explicit reasoning-summary settings remain respected (#46467).
This is a primary-source review. No hands-on theater. GitHub release notes are the load-bearing text. GPTMap’s September 19 walkthrough (PyPI status updated September 21) and AI/TLDR’s September 17 plain-English note are secondaries that track the same facts without inventing a GA voice SKU. Distinct from Vault’s classifier billing piece, projects-as-runtime, harness-as-product, live-two-SKUs, and one-Claude workspace notes. The question this week is narrower: what actually changed in the CLI you run, and what should engineering promote versus park.
What it is
Codex CLI is OpenAI’s terminal coding agent. 0.155.0 is a feature release. 0.155.1 is a single-fix release that exists because 0.155.0’s new default was incompatible with some backends. GPTMap frames the pair correctly as one product moment with two tags. npm @openai/codex latest pointed at 0.155.1 when GPTMap checked the registry on September 19. PyPI openai-codex 0.155.1 landed September 20; GPTMap’s September 21 wheel diff says the Python package code is byte-identical to 0.154.0 and the upgrade mainly pulls the CLI 0.155.1 binary via the dependency pin.
Voice is the headline outsiders will screenshot. Release notes are careful: experimental, supported builds, enabled through /experimental. AI/TLDR adds the mechanism color the notes imply: WebRTC voice channel, live transcripts, mute shortcut, recording activity indicators, dedicated composer strip. PR titles in the 0.155.0 changelog mention split-flap transcript animation and workspace file links in transcripts. Treat those as experience texture. The product boundary is still experimental.
Touch ID for MCP is quieter and more operational. On supported Macs, MCP requests in local TUI sessions can require user verification, implemented with macOS user verification and Secure Enclave signing (#43624, #43712, #43715). Companion work restricts MCP user verification and adds workspace-scoped identity (#43524). If your agents call MCP servers that can touch files, browsers, or internal APIs, a biometric gate on the request path is a real control surface.
Reasoning summaries in the status row (#43558, #43921) are observability for humans watching a turn. They became a compatibility incident when default-on collided with providers that omit the field. That is the 0.155.1 story.
What changed
Move one: voice leaves build-side packaging and enters the TUI as an opt-in experiment. GPTMap notes that 0.154.0 still treated voice as build-side preparation (runtime packaging entries, not a shipped user feature). 0.155.0 exposes /voice behind /experimental on supported builds. macOS releases bundle signed voice resources (#43983). Absence of the command on a build means the build does not ship it. Do not invent a cross-platform GA claim.
Move two: MCP requests can demand biometric verification on supported Mac local TUI sessions. This is not a cloud policy toggle and not a Linux default. It is a hardware-backed confirmation when the agent wants an MCP action. Teams that automated MCP-heavy flows in the TUI will feel friction. Teams that worried about silent tool calls get a lever.
Move three: streaming reasoning summaries defaulted on, then defaulted off. 0.155.0 made summaries a status-row feature. 0.155.1 restores none as the default for new local TUI sessions so unsupported providers stop rejecting requests. If you set an explicit summary preference, it still wins. If you upgraded to 0.155.0 on a third-party or limited provider and started seeing hard failures, 0.155.1 is the fix before you debug prompts.
Move four: daemon and Bedrock credential plumbing. Configurable daemon update schedules, an explicit daemon update command, thread and goal recovery after daemon restarts, and Bedrock credentials from configured commands with cache and refresh (#43542, #43562, #44314, #44028). These are ops features. They will not trend on social. They will decide whether managed app-server fleets survive a weekend.
Move five: security and state fixes in the same train. 0.155.0 blocks Windows-process escapes from restricted WSL sandboxes, hardens brokered shell snapshots against credential exposure, invalidates remote-control sessions and caches on account switch, improves MCP OAuth expiry reporting and reconnect guidance, and preserves accepted prompts when pre-turn compaction fails. Not the marketing slide. Still why you upgrade past the voice tweet.
What works
For Mac-local Codex users with sensitive MCP servers, Touch ID verification is the adult feature. It turns “the agent called a tool” into “a human approved a tool on this machine.” That pairs with the earlier MCP OAuth reconnect clarity: expired credentials report accurately instead of failing as mystery 401s (release notes #43947, #44359).
For fleets on Amazon Bedrock, credential-from-command with expiration refresh is how you stop baking long-lived keys into agent hosts. Same product line as enterprise catalog access. Boring. Correct.
For TUI operators on the official OpenAI path who explicitly want reasoning summaries, the status-row stream plus completion timestamps improve watchability during long turns. Keep the preference explicit after 0.155.1 so you are not depending on a default that already flapped once.
For daemon-hosted setups, configurable update schedules and restart recovery of saved threads and active goals reduce “the box rebooted and the agent amnesia’d” tickets. Pair with the account-switch invalidation fixes if you share machines across identities.
Voice can work as a dictation-shaped interface for describing a bug or steering a refactor when your build supports it and you accept experimental volatility. AI/TLDR’s framing is fair: talking removes a typing round trip for dictation-shaped moments, and the transcript keeps a written record. That is utility. It is not a platform promise.
What breaks (or is not ready)
Third-party provider rejections on 0.155.0. The entire point of 0.155.1. Providers that lack reasoning-summary support rejected requests when the default sent the field. Upgrade to 0.155.1. Then set summaries explicitly only where supported.
Voice as automation. Experimental features change. Builds differ. /experimental is a human gate, not a CI flag you should depend on. GPTMap’s FAQ is blunt: do not build automation on /voice. If a vendor pitch says “voice coding is here” because of this tag, ask which build, which enable path, and what SLA exists when the experiment moves.
Touch ID friction in pair sessions and remote workflows. Verification is for local TUI sessions on supported Macs. Headless CI, remote SSH-only flows, and Linux agent hosts are not this feature. Do not write a security policy that assumes biometric MCP gates everywhere Codex runs.
Expecting PyPI drama beyond the binary pin. GPTMap’s September 21 note: upgrading openai-codex to 0.155.1 pulls the CLI binary; Python package code matched 0.154.0 in their wheel diff. Teams diffing Python sources for “what changed in 0.155” will stare at a dependency bump and miss the CLI.
Misreading agents-overview task hygiene as a new runtime model. Hide, archive, delete, and worktree ownership details help operators manage clutter (#43942, #44424, #44433). They are not a replacement for your harness, project runtime, or permission model. Keep those Vault theses separate.

Who it is for
Primary: Engineering and platform teams running Codex CLI locally on Mac with MCP servers that can touch sensitive systems, and teams that hit request rejections after 0.155.0 on non-OpenAI or limited providers.
Secondary: Ops owning app-server daemons and Bedrock credential supply who need update schedules and command-sourced AWS creds.
Curious but constrained: Developers who want /voice for dictation-shaped sessions on a supported build, with eyes open that it is experimental.
Not the buyer: Anyone shopping a “voice coding SKU” for procurement, or anyone hoping biometric MCP gates cover CI runners. Wrong surface. Wrong promise.
Pricing and limits
No new billed SKU in the release notes. Voice is an experimental client capability on supported builds, not a separately priced product line called out in rust-v0.155.0. Limits that bind: /experimental enablement, per-build voice availability, Mac-only Touch ID path for MCP verification, and reasoning-summary compatibility on the provider you actually call. 0.155.1’s default none is the compatibility floor. Explicit config remains the opt-in.
What operators get wrong
Leading with “Codex can talk now” in the exec summary while burying the MCP gate and the 0.155.1 revert. Staying on 0.155.0 because the voice blog post used that tag. Writing playbooks that assume Touch ID on every host. Turning experimental voice into a scheduled job. Collapsing daemon and Bedrock credential work into “misc chores” until a restart loses threads. Treating GPTMap or AI/TLDR paraphrases as stronger than the GitHub notes when filing an incident.
Second-order effects
Security review gains a concrete question: which MCP servers require user verification in local TUI use, and who is allowed to approve? Biometric gates without an allowlist philosophy become either theater or deadlock.
Provider strategy sharpens. Defaults that assume OpenAI-shaped response fields will keep breaking multi-backend shops. 0.155.1 is a small revert with a large lesson: observability features need capability negotiation, not optimism.
Vendor communication risk rises. “Voice coding arrives in the terminal” (AI/TLDR’s headline shape) will travel farther than “reasoning-summary default restored to none.” Internal FAQs should lead with upgrade target 0.155.1, MCP verification behavior, and experimental status for /voice, in that order.
Tooling supply chains matter again. npm latest vs pinned 0.155.0, PyPI binary pins, and macOS signed voice resources are distribution details that decide whether two developers on the same team share a feature.

What to do this week
- Standardize on rust-v0.155.1 (or newer patch), not 0.155.0. If anyone installed 0.155.0 for voice, move them forward so reasoning-summary defaults stop rejecting third-party or limited providers (GitHub rust-v0.155.1; GPTMap section on the revert).
- Document the MCP verification policy for Mac local TUI users. Which servers prompt Touch ID, who may approve, what to do when verification blocks a flow, and that CI/Linux paths are out of scope (release notes #43624 / #43712 / #43715).
- Set reasoning-summary preferences explicitly per provider. Do not rely on defaults that already flipped twice in two days. Official OpenAI path can opt into status-row summaries. Unsupported providers stay on
none.
- Park voice under an experimental lab profile. Enable
/experimentalonly on named developer machines with supported builds. No production runbooks, no unattended voice. Re-read release notes before demos.
- Roll daemon update schedule and Bedrock credential-command config through a pilot host. Confirm thread/goal recovery after a controlled daemon restart (#44314) and credential refresh behavior (#44028) before fleet-wide claims.
- Update the internal FAQ from primary sources. Link GitHub rust-v0.155.0 and rust-v0.155.1. One paragraph: voice is experimental; Touch ID MCP gates are Mac-local; 0.155.1 restores summary default to none; upgrade target is 0.155.1+. Keep aggregator posts as reading aids, not incident truth.
Sharp close
Voice is not the SKU. The SKU is still Codex CLI, and this week’s honest changelog is a biometric MCP gate, a default that punched third-party backends until 0.155.1 restored none, and an experimental WebRTC path you enable with /experimental on builds that actually ship it. Ship the patch. Write the MCP policy. Keep voice in the lab. If your leadership slide only says “we can talk to the agent now,” you marketed the demo and skipped the controls that decide whether the agent should have spoken to your tools at all.




