New Features
- Added experimental
/voiceconversations with live transcripts and microphone controls on supported builds, enabled through/experimental. (openai#43581, openai#43651, openai#44331) - The TUI now shows live reasoning summaries in the status row and completion timestamps after successful turns. (openai#43558, openai#43921)
- Added task hiding, archiving, and deletion in the agents overview, plus worktree ownership details and confirmed deletion of clean managed worktrees. (openai#43942, openai#44424, openai#44433)
- Added Touch ID verification for MCP requests in local TUI sessions on supported Macs. (openai#43624, openai#43712, openai#43715)
- Added configurable daemon update schedules and
codex app-server daemon update; saved threads and active goals can recover after daemon restarts. (openai#43542, openai#43562, openai#44314) - Amazon Bedrock can now obtain AWS credentials from configured commands, with caching, expiration-based refresh, and authentication recovery. (openai#44028)
Bug Fixes
- Accepted prompts are now saved even when compaction fails before a turn starts. (openai#44487)
- Fixed missed tmux resizes, transcript viewport restoration, and stale history appearing after switching threads. (openai#43603, openai#43889, openai#43994)
- MCP servers now report expired OAuth credentials accurately and provide reconnect guidance when token refresh fails. (openai#43947, openai#44359)
- Automatic approval reviews now preserve complete actions and authorization evidence more reliably, retry transient failures, and distinguish review failures from unsafe-action findings. (openai#44482, openai#44569, openai#44570)
- Switching accounts now invalidates remote-control sessions, cached WebSocket state, and model catalogs belonging to the previous identity. (openai#43906, openai#44341, openai#44489)
- Blocked Windows-process escapes from restricted WSL sandboxes and hardened brokered shell snapshots against credential exposure. (openai#44286, openai#43909, openai#44040)
Chores
- Aligned Python SDK and runtime publishing with stable CLI releases, using matching versions and verifying runtime assets before SDK publication. (openai#44067)
Changelog
Full Changelog: openai/codex@rust-v0.154.0...rust-v0.155.0
- openai#43521 Preserve standalone release pins during daemon updates @copyberry
- openai#43524 Restrict MCP user verification and add workspace-scoped identity @copyberry
- openai#43527 Discount an approval's own code-mode wrapper from Guardian score lag @copyberry
- openai#43529 Ensure the standalone updater runs on managed daemon starts @copyberry
- openai#43533 Fix jemalloc tools and compiler flags for Bazel musl builds @copyberry
- openai#43534 Preserve Guardian context sections and share planned-action rendering @copyberry
- openai#43538 Move Guardian permission context into the shared section registry @copyberry
- openai#43540 Preserve the multi-agent version when forking at a turn cutoff @copyberry
- openai#43542 Make app-server daemon automatic updates configurable @copyberry
- openai#43545 Preserve fork runtime versions without loading full model context @copyberry
- openai#43547 Add user-verification provider abstractions and RPC adapters @copyberry
- openai#43552 Record the launched app-server executable identity in PID files @copyberry
- openai#43558 Show completion timestamps after successful TUI turns @copyberry
- openai#43562 Add an explicit app-server daemon update command @copyberry
- openai#43568 Wire app-server user verification RPCs to the native provider @copyberry
- openai#43570 Manage synchronous Guardian reviewers through the thread manager @copyberry
- openai#43572 Make the managed app-server shutdown grace period configurable @copyberry
- openai#43576 Group adjacent computer actions in the TUI @copyberry
- openai#43581 Add live WebRTC voice conversations to the TUI @copyberry
- openai#43584 Remove a stale transcript field assignment from the TUI @copyberry
- openai#43595 Centralize bounded Guardian review evidence in guardian-context @copyberry
- openai#43597 Move trusted tool metadata into shared Guardian context @copyberry
- openai#43599 Move trusted skill evidence into the Guardian context registry @copyberry
- openai#43601 Move Guardian image selection into shared context sections @copyberry
- openai#43602 Move Guardian REPL evidence rendering into the shared context registry @copyberry
- openai#43603 Recover missed tmux resize notifications in the TUI @copyberry
- openai#43604 Exclude base instructions from the bundled model catalog @copyberry
- openai#43619 Add a stable TUI/app-server version comparison helper @copyberry
- openai#43621 Add worktree classification to thread telemetry @copyberry
- openai#43622 Warn when the connected Codex service is older than the CLI @copyberry
- openai#43624 Add macOS user verification with Secure Enclave signing @copyberry
- openai#43645 Expand TUI regression coverage for realtime voice conversations @copyberry
- openai#43651 Add voice mute shortcut and recording activity indicators @copyberry
- openai#43656 Animate live voice transcripts with split-flap tiles @copyberry
- openai#43676 Style spoken prompts and link workspace files in voice transcripts @copyberry
- openai#43683 Move voice controls into a dedicated composer strip @copyberry
- openai#43690 Make the voice mute shortcut configurable in the TUI @copyberry
- openai#43695 Stabilize realtime voice meter sampling across redraws @copyberry
- openai#43698 Make older app-server notices configurable in the TUI @copyberry
- openai#43699 Preserve split-flap animation state when voice transcripts scroll @copyberry
- openai#43702 Add a TUI user verification prompt component @copyberry
- openai#43704 Disable clock synchronization in the voice audio sink @copyberry
- openai#43708 Add TUI request bookkeeping for user verification @copyberry
- openai#43712 Enable MCP user verification in the TUI @copyberry
- openai#43715 Enable user verification for the bundled TUI on supported devices @copyberry
- openai#43790 Limit app-server storage metrics to session directories @copyberry
- openai#43795 Pin request reasoning effort while configuration overrides are active @copyberry
- openai#43796 Preserve reasoning effort through compaction and reset it on success @copyberry
- openai#43797 Add configurable memory versions with isolated storage @copyberry
- openai#43798 Batch non-user history eviction to preserve Guardian transcript deltas @copyberry
- openai#43799 Prioritize human evidence in memory v2 extraction @copyberry
- openai#43800 Add summary-only extraction for memory v2 @copyberry
- openai#43805 Centralize Guardian context composition @copyberry
- openai#43806 Centralize Guardian transcript policy in context profiles @copyberry
- openai#43808 Move v2 extraction chunking into the memory writer @copyberry
- openai#43813 Add dedicated memory v2 consolidation and read prompts @copyberry
- openai#43827 Add memory dual writing and v2 readiness reporting @copyberry
- openai#43842 Wait for parent idle before rollback in guardian fork tests @copyberry
- openai#43844 Add staged enterprise OIDC login and coordinated logout @copyberry
- openai#43846 Include completed commentary in the
/copypicker @copyberry - openai#43848 Preserve runtime workspace roots across thread resume @copyberry
- openai#43853 Add canonical permission translation for MXC execution requests @copyberry
- openai#43870 Close MCP stderr readers on client teardown @copyberry
- openai#43873 Handle undefined values before JSON serialization in code mode @copyberry
- openai#43876 Detach Unix hook commands from the controlling terminal @copyberry
- openai#43884 Close active network proxy connections on teardown @copyberry
- openai#43889 Fix transcript viewer restoration and half-page scrolling @copyberry
- openai#43894 Preserve thread identity in code-mode tool dispatch traces @copyberry
- openai#43895 Preserve
__oailbrouting cookies in ChatGPT HTTP clients @copyberry - openai#43897 Persist provider and auth identity with model catalog caches @copyberry
- openai#43900 Propagate Apps tool refreshes to existing threads @copyberry
- openai#43903 Extract Windows deny-read glob scan planning into protocol @copyberry
- openai#43906 Scope model catalog caches to the current provider and auth identity @copyberry
- openai#43907 Preserve complete shell snapshot exports through filtering and replay @copyberry
- openai#43909 Protect shell snapshots when credential brokerage is enabled @copyberry
- openai#43912 Keep Guardian reviewers on summary-based compaction @copyberry
- openai#43913 Add tracing for project instructions and filesystem sandbox operations @copyberry
- openai#43915 Remove the repository devcontainer configurations @copyberry
- openai#43918 Expose the queued event count on
CodexThread@copyberry - openai#43921 Show streaming reasoning summaries in the TUI status row @copyberry
- openai#43925 Add cancellation for native user-verification RPCs @copyberry
- openai#43927 Rename thread artifacts to attachments in the state database @copyberry
- openai#43930 Avoid Windows sandbox setup for irrelevant proxy port changes @copyberry
- openai#43934 Track voice session lifecycle metrics in the TUI @copyberry
- openai#43936 Stabilize subagent and unified exec test fixtures @copyberry
- openai#43937 Tag TUI startup metrics with terminal and multiplexer categories @copyberry
- openai#43939 Add executor-context filesystem permission helpers @copyberry
- openai#43942 Show worktree owner details and add confirmed deletion @copyberry
- openai#43943 Gate new turn submissions on host shutdown admission @copyberry
- openai#43947 Surface MCP reconnect signals when expired OAuth tokens cannot refresh @copyberry
- openai#43948 Show configured app-server updater settings in doctor @copyberry
- openai#43949 Add transactional thread attachment mutations to the state runtime @copyberry
- openai#43950 Keep app-server thread RPCs active until delegated work completes @copyberry
- openai#43953 Preserve per-image generation IDs in image generation analytics @copyberry
- openai#43954 Cache protected shell snapshots and harden capture cleanup @copyberry
- openai#43956 Increase the TUI thread capability test stack to 12 MiB @copyberry
- openai#43959 Gate new app-server work during graceful shutdown @copyberry
- openai#43961 Use curly apostrophes in protocol error messages @copyberry
- openai#43966 Heap-allocate the resume future in the legacy history test @copyberry
- openai#43983 Bundle signed voice resources in macOS releases @copyberry
- openai#43994 Clear stale transcript history when switching threads @copyberry
- openai#44002 Encapsulate executed tool call metadata recording @copyberry
- openai#44025 Refresh workspace lockfile before building macOS voice releases @copyberry
- openai#44027 Support image attachments in agents overview background tasks @copyberry
- openai#44028 Add AWS credential export commands for Amazon Bedrock @copyberry
- openai#44032 Generate Python SDK types from repository app-server schemas @copyberry
- openai#44038 Handle copied credentials in the broker and shell snapshots @copyberry
- openai#44040 Harden credential handling in shell snapshots and replay @copyberry
- openai#44043 Use
StartThreadOptionsacross thread fork APIs @copyberry - openai#44049 Extract credential broker environment and registry helpers @copyberry
- openai#44053 Test Python SDK against the built CLI and installed runtime @copyberry
- openai#44055 Gate Python SDK publishing on runtime availability and verify PyPI files @copyberry
- openai#44056 Add configurable credential providers to the network proxy @copyberry
- openai#44060 Raise Guardian's action review limit to 200,000 bytes @copyberry
- openai#44061 Build Python SDK artifacts before publishing the runtime @copyberry
- openai#44062 Fix voice runtime release builds and packaging @copyberry
- openai#44066 Extend configured credential brokerage to embedded aliases @copyberry
- openai#44067 Publish Python packages after stable CLI releases @copyberry
- openai#44068 Preserve credential broker destinations across environment filtering @copyberry
- openai#44070 Reject empty audio payloads in data URLs @copyberry
- openai#44072 Support configured credential providers across shell snapshots @copyberry
- openai#44077 Refactor credential-broker tunnel protocol detection @copyberry
- openai#44080 Make staged macOS voice runtimes writable before packaging @copyberry
- openai#44084 Expose Python SDK history selection and per-turn options @copyberry
- openai#44086 Add untrusted external messages to the Python SDK @copyberry
- openai#44089 Support credential brokering in plaintext HTTP tunnels @copyberry
- openai#44101 Handle empty voice arguments in macOS release packaging @copyberry
- openai#44121 Reuse MCP bindings while cached servers remain dormant @copyberry
- openai#44138 Coordinate rollout compression with active thread writers @copyberry
- openai#44164 Add Guardian context cost and request token telemetry @copyberry
- openai#44166 Add aggregate budget enforcement for Guardian context @copyberry
- openai#44175 Attach compressed rollouts to diagnostic reports as JSONL @copyberry
- openai#44176 Reduce TUI stack usage during session transitions @copyberry
- openai#44181 Use explicit histogram buckets for Guardian context metrics @copyberry
- openai#44183 Release persistent writers when session startup is cancelled @copyberry
- openai#44198 Preserve voice indicator styles during composer sparkle effects @copyberry
- openai#44200 Use captured step settings when building model context @copyberry
- openai#44202 Use captured step model settings for extension context @copyberry
- openai#44207 Measure total exec-server request duration including queueing @copyberry
- openai#44226 Continue rollout searches when a compressed rollout cannot be searched @copyberry
- openai#44227 Extract Guardian review policy into a dedicated crate @copyberry
- openai#44238 Fix MCP elicitation cancellation and reset state on reconnect @copyberry
- openai#44241 Handle credential provider source remapping across config layers @copyberry
- openai#44242 Use captured step settings for tool planning and execution @copyberry
- openai#44243 Use the originating model when recording conversation history @copyberry
- openai#44248 Preserve tool output truncation budgets across resume and fork @copyberry
- openai#44249 Normalize image detail for the receiving model @copyberry
- openai#44250 Remove retired model entries while preserving migration prompts @copyberry
- openai#44252 Move synchronous Guardian orchestration into the reviewer extension @copyberry
- openai#44255 Always use streamed remote compaction for supported providers @copyberry
- openai#44259 Remove the Windows
/sandbox-add-read-dirslash command @copyberry - openai#44273 Remove the unused legacy remote compaction implementation @copyberry
- openai#44276 Avoid duplicate reasoning effort updates during turn recovery @copyberry
- openai#44277 Surface environment startup failure reasons to the model @copyberry
- openai#44281 Enforce complete request budgets for Guardian reviews @copyberry
- openai#44283 Persist loaded threads before managed daemon shutdown @copyberry
- openai#44284 Add telemetry for the Windows system config namespace @copyberry
- openai#44285 Preserve prewarmed reasoning effort across replay and early rollback @copyberry
- openai#44286 Block WSL interop escapes from restricted filesystem sandboxes @copyberry
- openai#44288 Prevent command hooks from hanging on blocked stdin @copyberry
- openai#44289 Expand MXC volume grants and resolve deny globs @copyberry
- openai#44290 Allow user-requested goal pauses through
update_goal@copyberry - openai#44293 Enforce the async Guardian classifier's complete input budget @copyberry
- openai#44297 Isolate the hook pipe I/O timeout test from shell startup files @copyberry
- openai#44298 Set turn triggers for guardian and memory requests @copyberry
- openai#44299 Record thread recovery candidates on managed daemon shutdown @copyberry
- openai#44307 Add opt-in provisioned macOS CLI release candidates @copyberry
- openai#44311 Honor shared Retry-After deadlines for remote control @copyberry
- openai#44314 Restore saved threads when the managed daemon restarts @copyberry
- openai#44318 Give hosted Codex Apps an independent MCP protocol opt-in @copyberry
- openai#44320 Block goals after three empty automatic continuation turns @copyberry
- openai#44325 Return the prompt hash in upload responses @copyberry
- openai#44327 Prevent filesystem-root read denies in the Windows sandbox @copyberry
- openai#44328 Clear pending TUI questions when accepting a new prompt @copyberry
- openai#44330 Add paginated thread attachment listing to the state runtime @copyberry
- openai#44331 Expose voice conversations in experimental features @copyberry
- openai#44332 Persist disabled plugin IDs in thread settings @copyberry
- openai#44336 Add bounded tool-result metadata support to executed tool calls @copyberry
- openai#44337 Return to the agent command center after archiving on shared servers @copyberry
- openai#44341 Bind remote-control sessions to their authentication owner @copyberry
- openai#44344 Open tasks with Right from the agents overview @copyberry
- openai#44346 Support native verification in MCP tool continuations @copyberry
- openai#44349 Distinguish forked sessions in session-start hooks @copyberry
- openai#44350 Add thread attachment operations with coordinated deletion @copyberry
- openai#44352 Remove path-bearing fields from Guardian review analytics @copyberry
- openai#44354 Extract shared footer hint wrapping in the TUI @copyberry
- openai#44359 Report OAuth authentication failures in MCP status snapshots @copyberry
- openai#44360 Return focus to the agents overview composer on Escape @copyberry
- openai#44377 Update the forked-thread hook test to use
StartThreadOptions@copyberry - openai#44392 Add opt-in model discovery for OpenAI API keys @copyberry
- openai#44400 Start Python SDK turn subscriptions at their attachment point @copyberry
- openai#44424 Add a hide shortcut to the agents overview @copyberry
- openai#44433 Add archive and delete actions to the agents overview @copyberry
- openai#44472 Harden Code Mode tool-call completeness tracking @copyberry
- openai#44482 Improve Guardian retries and review failure reporting @copyberry
- openai#44487 Preserve incoming prompts when pre-turn compaction fails @copyberry
- openai#44489 Reset cached WebSocket state when auth ownership changes @copyberry
- openai#44492 Distinguish HTTP quota errors from rate limits @copyberry
- openai#44493 Bound MCP descriptions separately from Guardian action JSON @copyberry
- openai#44521 Decouple session isolation from subagent attribution @copyberry
- openai#44523 Bound app-server stdio shutdown and handle Unix SIGTERM gracefully @copyberry
- openai#44536 Move Guardian reviewer settings and execution into the reviewer crate @copyberry
- openai#44544 Move Guardian reporting and denial accounting into the extension @copyberry
- openai#44548 Add MIME-filtered resource listing for Codex Apps @copyberry
- openai#44564 Add app-server APIs for stored thread attachments @copyberry
- openai#44569 Preserve complete actions in Guardian approval reviews @copyberry
- openai#44570 Preserve Guardian authorization evidence until request budgeting @copyberry
- openai#44571 Allow extensions to select MCP protocol mode per HTTP server @copyberry
- openai#44574 Use captured action settings for Guardian reviews @copyberry
- openai#44575 Tie network approval reviews to their originating execution @copyberry
- openai#44580 Support symbolic
:rootfilesystem policies in MXC @copyberry - openai#44586 Remove
repo_urlfrom skill invocation analytics events @copyberry