Codex CLI 0.155, Explained: Experimental /voice, Touch ID for MCP Requests, and the 0.155.1 Revert
Codex CLI 0.155.0/0.155.1 back to back: experimental /voice behind /experimental, streaming reasoning summaries, Touch ID for MCP requests, daemon update schedules, Bedrock credentials — plus the 0.155.1 reasoning-summary revert.
Codex CLI shipped two stable releases back to back on 2026-09-17 and 09-18: rust-v0.155.0 and rust-v0.155.1. The 0.155.0 release is a feature drop — most notably, the voice runtime that was still a "build-side signal" in the previous release enters the TUI as experimental /voice. The 0.155.1 release does exactly one thing: revert 0.155.0's default-on reasoning summaries. This article walks the official release notes item by item (re-fetched via the GitHub API on 2026-09-19; npm and PyPI distribution status verified against the registry APIs the same day).
Update, 2026-09-21: PyPI's openai-codex shipped 0.155.1 on 09-20 — a per-file diff of the 0.154.0 and 0.155.1 wheels shows the openai_codex package's Python code is byte-identical; the only substantive change is the dependency pin moving from openai-codex-cli-bin==0.154.0 to ==0.155.1 (installing it brings the CLI 0.155.1 binary along). Statements below written before 09-20 that say "PyPI remains 0.154.0" or "0.155.x has not reached PyPI" stand as checkpoint records from 09-19.
1. Overview: two releases, one table
| 0.155.0 (2026-09-17) | 0.155.1 (2026-09-18) | |
|---|---|---|
| Positioning | Feature release | Single-fix release |
| Features | Experimental /voice, streaming reasoning summaries in the TUI, agents-overview task management, Touch ID for MCP requests, daemon update schedules, Bedrock credential commands | None |
| Fixes | Six groups (section 4) | Reasoning-summary default restored to none (#46467) |
2. /voice: from build-side signal to experimental feature
In 0.154.0, voice was still "build-side preparation" — three platforms of voice-runtime packaging entries plus a voice-cygwin build input explicitly not distributed with user packages; our coverage at the time said plainly that it was not a shipped feature. 0.155.0 moves that one step forward: experimental /voice conversations enter the TUI — live transcripts, microphone controls, a configurable mute shortcut — enabled through /experimental on supported builds, with macOS releases bundling signed voice resources (#43983).
The PR titles add texture at the experience layer: split-flap transcript animation, voice controls gathered into a dedicated composer strip, spoken prompts and workspace files clickable in transcripts. Treat those as release-material signals; the feature boundary is what the release notes say: experimental, per-build, off by default.
3. The other features: verification, observability, operations
- Touch ID verification for MCP requests: on supported Macs, MCP requests in local TUI sessions can require user verification, implemented with macOS user verification plus Secure Enclave signing (#43624 / #43712 / #43715). Companion changes: restrictions on MCP user verification and a workspace-scoped identity (#43524). For anyone connecting sensitive MCP servers, this is a new biometric gate.
- TUI observability: the status row shows streaming reasoning summaries and completion timestamps after successful turns (#43558 / #43921). Note that this feature connects directly to the 0.155.1 revert — see section 5.
- Agents-overview task management: task hiding, archiving, and deletion; worktree ownership details; confirmed deletion of clean managed worktrees (#43942 / #44424 / #44433).
- Daemon operations: configurable update schedules and the new
codex app-server daemon updatecommand (#43542 / #43562); saved threads and active goals recover after daemon restarts (#44314). - Bedrock credential commands: Amazon Bedrock can obtain AWS credentials from configured commands, with caching, expiration-based refresh, and authentication recovery (#44028). This is the same product line as our earlier GPT-6-Astra / Bedrock coverage — with Astra in the catalogs, the enterprise credential supply path is filling in.
# Upgrade to 0.155.1 (the npm latest tag points at 0.155.1, checked 2026-09-19)
npm install -g @openai/codex@latest
4. The fixes: security and state consistency
Three of the six fix groups deserve detail:
Security: Windows-process escapes from restricted WSL sandboxes are blocked (#44286); brokered shell snapshots are hardened against credential exposure when credential brokerage is enabled (#43909 / #44040); switching accounts now invalidates the previous identity's remote-control sessions, cached WebSocket state, and model catalogs (#43906 / #44341 / #44489) — multi-account users will feel the tightening, and it is deliberate.
MCP reliability: MCP servers report expired OAuth credentials accurately and provide reconnect guidance when token refresh fails (#43947 / #44359) — combined with 0.154.0's coordinated OAuth token refresh, visibility into MCP auth state has improved markedly across the two releases.
Approvals and compaction: automatic approval reviews preserve complete actions and authorization evidence more reliably, retry transient failures, and distinguish review failures from unsafe-action findings (#44482 / #44569 / #44570); accepted prompts are saved even when compaction fails before a turn starts (#44487). Also: missed tmux resizes, transcript viewport restoration, and stale history after switching threads (#43603 / #43889 / #43994).
5. 0.155.1: one default reverted, two situations
The 0.155.1 notes are a single paragraph: new local TUI sessions no longer send reasoning summaries by default (the default returns to none), fixing request rejection by providers that do not support the field; explicit settings remain respected (#46467).
Unpacked, there are two situations: on the official OpenAI backend, 0.155.0's default-on summaries paired with the streaming status row are an experience upgrade; on third-party providers, the same default gets requests rejected outright. 0.155.1 chooses to return the default to none and hand the choice to explicit configuration — if requests started getting rejected after you moved to 0.155.0, upgrade to 0.155.1 first, then debug.
6. Versions and installation
- CLI: rust-v0.155.1 (2026-09-18) is the current stable; the npm
@openai/codexdist-tag latest points at 0.155.1 (checked via the registry API on 2026-09-19). 0.156.0 is in alpha (alpha.4, 2026-09-18). - TypeScript SDK:
@openai/codex-sdk0.155.1 is npm latest (0.155.0 / 0.155.1 published 09-17 / 09-18). - Python SDK: PyPI
openai-codexshipped 0.155.1 on 2026-09-20 (checked via the PyPI API on 09-21) — the 0.155.0 changelog's pipeline-alignment note (#44067) has landed; a per-file wheel diff shows the Python code is byte-identical to 0.154.0, and upgrading brings the CLI 0.155.1 binary via the dependency pin.
7. Common pitfalls and troubleshooting
- Third-party provider requests rejected after upgrading to 0.155.0: most likely the reasoning-summary default; upgrade to 0.155.1 (default restored to none) or set reasoning summaries explicitly.
- Cannot find /voice: check two things — whether your build is supported and whether you have enabled it under /experimental; experimental features ship per build, and its absence means just that.
- MCP tool calls now demand verification: Touch ID / user verification is a local-TUI-session feature since 0.155.0; follow the prompt on supported Macs, or adjust user-verification settings in configuration.
- Scripts calling codex mcp-server fail: that entry was removed in 0.154.0 and will not return; standard MCP servers use stdio / Streamable HTTP transports.
- Python SDK version confusion: 0.155.1 is on PyPI (shipped 09-20, checked 09-21); note its Python code is identical to 0.154.0 (per the 09-21 wheel diff) — upgrading brings the CLI 0.155.1 binary. The warning against unsigned packages from third-party mirrors stands.
8. Next steps
- Codex CLI 0.154.0 and SDK 0.154.0: Worktrees, ExternalMessage, and the ultra Reasoning Effort — the previous release, where worktrees, ExternalMessage, and the voice build-side signal were first documented.
- GPT-6-Astra Goes Live: Codex Model Picker and Amazon Bedrock Catalogs — the product background for this release's Bedrock credential commands.
- MCP Authorization Explained: How OAuth 2.1 Lands in MCP (2026-07-28 Spec) — the protocol-level mechanics behind the MCP OAuth refresh and reconnect guidance improved across 0.154 and 0.155.
- openai-python 3.15/3.16 and openai-node 7.18/7.19: Cache Prewarming, Webhook Management, connector_id Deprecation — the API-side SDK releases from the same window; read the two together.
Key points
- Voice lands: the build-side voice-runtime preparations of 0.154.0 become an experimental feature in 0.155.0 — /voice conversations in the TUI (live transcripts, microphone controls, a configurable mute shortcut), enabled through /experimental on supported builds; macOS releases bundle signed voice resources (#43983)
- Verification: MCP requests in local TUI sessions on supported Macs can require Touch ID, implemented with macOS user verification and Secure Enclave signing (#43624 / #43712 / #43715); MCP user-verification restrictions and workspace-scoped identity land in the same batch (#43524)
- TUI observability: the status row shows streaming reasoning summaries and completion timestamps after successful turns (#43558 / #43921); the agents overview gains task hiding / archiving / deletion, worktree ownership details, and confirmed deletion of clean managed worktrees (#43942 / #44424 / #44433)
- Daemon and credentials: daemon update schedules are configurable and a new codex app-server daemon update command exists (#43542 / #43562); saved threads and active goals recover after daemon restarts (#44314); Amazon Bedrock can obtain AWS credentials from configured commands, with caching, expiration-based refresh, and authentication recovery (#44028)
- Fixes: MCP servers report expired OAuth credentials accurately and provide reconnect guidance when token refresh fails (#43947 / #44359); Windows-process escapes from restricted WSL sandboxes are blocked and brokered shell snapshots hardened against credential exposure (#44286 / #43909 / #44040); switching accounts invalidates the previous identity's remote-control sessions, cached WebSocket state, and model catalogs (#43906 et al.); accepted prompts survive a compaction failure before a turn starts (#44487)
- The 0.155.1 revert: the reasoning-summary default for new local TUI sessions returns to none — the 0.155.0 default of sending reasoning summaries got requests rejected by providers that do not support them; explicit settings remain respected (#46467). Distribution: TS SDK @openai/codex-sdk 0.155.1 is npm latest (checked 2026-09-19); PyPI openai-codex 0.155.1 shipped 2026-09-20 (checked 09-21; Python code identical to 0.154.0)
Frequently asked questions
Official references
- ChangelogCodex CLI 0.155.0 Release Notes (GitHub, primary source for the feature and fix lists)
- ChangelogCodex CLI 0.155.1 Release Notes (GitHub, the reasoning-summary default revert)
- Changelog@openai/codex (npm, CLI distribution package and dist-tag status, checked 2026-09-19)
- Changelogopenai-codex (PyPI, Python SDK distribution status, checked 2026-09-21)
Related articles
Codex Cloud Setup: Environments, Cloud Tasks, and the codex cloud CLI
Codex Cloud (called Codex Web in the source) is the hosted Codex surface: tasks run in cloud environments organized per GitHub repo, and the codex cloud CLI submits, tracks, and pulls diffs back to your machine.
Read articleCodex CLI config.toml: The Complete Guide to Models, Approvals, MCP and Layered Config
Codex CLI centers on ~/.codex/config.toml: model picks the model, approval_policy gates prompts, sandbox_mode sets boundaries, mcp_servers wires tools, profiles switch scenarios.
Read articleCodex CLI Sandbox Modes: sandbox_mode and approval_policy Explained
Codex CLI sandbox has four levels — read-only, workspace-write, external-sandbox, danger-full-access — plus a separate approval_policy axis. Every value checked against the codex source enums.
Read articleSubscribe to GPTMap Weekly
One email every Monday: curated OpenAI updates, deep dives, and best practices. No ads, unsubscribe anytime.
Submitting opens Buttondown in a new tab to confirm your subscription.