New Features
- Open
/configto search preferences across categories, change supported settings immediately, and see which changes require a restart. (#52990, #53429) - Send a follow-up while Codex is responding to steer it immediately. Interrupting a turn also stops active Code Mode cells and their nested tool calls. (#51812, #51835)
- Configure a leader key in
/keymap. The default isCtrl+X, shortcut hints stay open until you choose or cancel, and voice mute moves toF9. (#52273) - Restart a managed background server from
/daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173) - Codex can run independent read-only tools in parallel, including skill, memory, and conversation-history lookups. (#52245)
- Daybreak is enabled by default for eligible accounts.
codex execcan also select it with an OpenAI API key when the server offers access. (#53701, #53717)
Bug Fixes
- Resuming a saved thread restores its permissions and network approvals, while respecting explicit overrides and current managed policy. (#53150, #53419, #53424)
- The network proxy now checks permission before a DNS lookup, rejects duplicate
Hostheaders, and prevents credential aliases from bypassing inspection hooks. (#51650, #52661, #53506) - Return to an existing side conversation with
/sideafter switching threads. Answers to pending prompts also go back to the thread that asked. (#52184, #53436) - On Windows,
Ctrl+VandShift+Insertpaste text as well as images. On WSL, repeated pastes reuse the clipboard reader, and copy attempts time out instead of hanging. (#53224, #52967, #53453) - Local commands finish promptly when a child keeps an output pipe open. Remote commands preserve late-arriving output so the final poll can still collect it. (#52652, #53331, #53622)
codex execno longer prints the same file diff again after an unrelated command. (#53444)
Documentation
- Updated the bundled OpenAI Docs guidance for migrations to the GPT-6 family, including model-specific reasoning, tool use, and data residency considerations. (#51768)
- Clarified how the Linux sandbox uses bubblewrap for filesystem isolation and seccomp for syscall filtering. (#52610)
Chores
- Codex now uses its standard shell executor and no longer bundles a patched
zsh. Configurations using the retired shell flags receive a migration notice. (#52160, #52213) - Reduced Linux and macOS release package size by stripping symbols from packaged binaries while preserving them in the original build outputs. (#52178)
Changelog
Full Changelog: rust-v0.162.0...rust-v0.163.0
- #51539 Add completion-aware realtime attachment and session-scoped detach @zahan-oai
- #51547 Add a Windows MXC sandbox opt-out @iceweasel-oai
- #51556 Complete dynamic tool lifecycles on cancellation @mikelam-oai
- #51575 Expose package assembly helpers and support gzip DotSlash artifacts @bolinfest
- #51595 Add thread ID exclusions to
thread/list@btraut-openai - #51602 Distinguish thread listing failures from exhausted history @btraut-openai
- #51611 Signal abandonment of unanswered MCP elicitations @nicksteele-oai
- #51627 Stabilize Guardian snapshot prefixes by separating assistant context @jif-oai
- #51642 Fix retained context handling for typed section content @jif-oai
- #51650 Require hostname authorization before proxy DNS lookups @jif-oai
- #51651 Persist Guardian review failures for reports across restarts @jif-oai
- #51652 Record telemetry for AGENTS.md changes made by apply_patch @jif-oai
- #51678 Move Windows sandbox tests into a dedicated integration binary @jif-oai
- #51683 Roll back stale Guardian reviews before reusing reviewer history @olliem-oai
- #51689 Wait for helper completion in HTTP header cancellation tests @jif-oai
- #51690 Add a feature flag for Code Mode tool description ordering @swastik-oai
- #51704 Honor tool-description-first ordering in Code Mode @swastik-oai
- #51710 Fix a discovery race in the external auth refresh test @jgershen-oai
- #51734 Load persisted sender context for Guardian reviews @jif-oai
- #51755 Reuse MCP handler metadata for cache comparisons @owenlin0
- #51761 Reduce tool metadata cloning in the code-mode runtime @akira-oai
- #51768 Expand OpenAI Docs migration guidance to the GPT-6 model family @kkahadze-oai
- #51775 Prevent recursive Tokio tracing in telemetry and SQLite logs @zbarsky-openai
- #51786 Preserve sandbox overrides across execution requests @iceweasel-oai
- #51794 Advertise Ultrafast for GPT-6.1 Sol on Amazon Bedrock @celia-oai
- #51800 Remove duplicate field initializers in extension registry tests @anp-oai
- #51808 Preserve diagnostic reasons for MCP user verification failures @berkdeniz-oai
- #51812 Enable instant interrupts by default @pakrym-oai
- #51819 Migrate the MXC sandbox to the 1.0.0 SDK @iceweasel-oai
- #51822 Avoid sharing violations when repairing Windows runtime ACLs @johnl-oai
- #51823 Share MCP binding tool metadata with prepared calls @owenlin0
- #51828 Add policy-based file contents integrity checks @iceweasel-oai
- #51831 Add MXC sandbox integrity dependency and policy preparation @iceweasel-oai
- #51835 Enable code mode interruption by default @won-openai
- #51840 Add a bubblewrap backend for sandbox integrity checks @iceweasel-oai
- #51841 Add a macOS Seatbelt backend for sandbox integrity @iceweasel-oai
- #51842 Add a sandbox integrity runner with outcome and timing metrics @iceweasel-oai
- #51843 Run sandbox integrity checks before commands and filesystem operations @iceweasel-oai
- #51847 Preserve Cargo package names in Bazel Rust builds @dkovalenko-oai
- #51848 Align Bazel release builds with Cargo and fix platform compatibility @dkovalenko-oai
- #51849 Fix package smoke tests for Cargo and Bazel debug symbols @dkovalenko-oai
- #51850 Add Bazel release staging archives @dkovalenko-oai
- #51855 Add Bazel support to the Codex package build action @dkovalenko-oai
- #51856 Build Bazel release artifacts alongside Cargo artifacts @dkovalenko-oai
- #51857 Add an app-server prompt prefix compatibility test @jif-oai
- #51865 Use readable plugin mentions without suppressing same-name skills @canvrno-oai
- #51866 Preserve line breaks and links in multiline async questions @pash-openai
- #51868 Record tool registration metrics for each sampling request @akira-oai
- #51872 Keep global app-server config independent of the launch directory @etraut-openai
- #51884 Add experimental prediction forks that inherit parent context @liame-oai
- #51890 Add the missing
mxc-sdkUTF-8 resource patch for Bazel @iceweasel-oai - #51892 Preserve tool call completeness when recorded arguments are truncated @ningyi-oai
- #51893 Record metrics for incremental tool updates @akira-oai
- #51895 Report specific reasons for WebSocket continuation failures @pakrym-oai
- #51896 Preserve native errors in Windows sandbox ACL diagnostics @alishobeiri-oai
- #51897 Use a dedicated matcher for network domain policies @rafael-oai
- #51908 Honor the user input setting for asynchronous questions @mandal-OAI
- #51930 Support model-specific function description prefixes @tz-openai
- #51963 Attribute compaction analytics to the correct voice session @reia-oai
- #51974 Log Windows sandbox availability and backend selection @iceweasel-oai
- #52034 Preserve agent state when unloading idle multi-agent v2 children @jif-oai
- #52040 Add regression coverage for cancelled agent reloads @jif-oai
- #52048 Cover instant interruption in steered-input persistence tests @jif-oai
- #52061 Run Guardian conversation classifiers concurrently and preserve action order @felixxia-oai
- #52062 Add scenario coverage for worker context across idle eviction @jif-oai
- #52065 Require assessment text in the Guardian parser @ioanbudea-OAI
- #52081 Fix idle cleanup for disconnected multi-agent v2 children @jif-oai
- #52119 Expose originating tool call metadata in command environments @leo-oai
- #52160 Remove the patched zsh shell execution backend @jif-oai
- #52164 Make environment context date and timezone configurable @surajs-oai
- #52176 Show AWS GovCloud guidance at startup and remember acknowledgment @jackz100
- #52177 Set a User-Agent for package archive downloads @bolinfest
- #52178 Strip symbols from source-built release package binaries @bolinfest
- #52182 Expose a verified sandbox launcher to local MCP servers @bolinfest
- #52183 Add optional descriptions to agent message board channels @jif-oai
- #52184 Preserve side conversations across thread navigation @etraut-openai
- #52193 Enforce managed MXC requirements on Windows @iceweasel-oai
- #52195 Track source attribution for individual context parts @tz-openai
- #52200 Allow plugin toggles while searching and preserve filters on refresh @fcoury-oai
- #52203 Expose Codex lifecycle status in iTerm2 sessions @fcoury-oai
- #52213 Stop bundling patched zsh in Codex packages @jif-oai
- #52215 Enforce application network policy in standalone MCP commands @lsingh-oai
- #52220 Add configurable default plugin activation policy @stevenlee-oai
- #52223 Enforce application network policy for daemon updates @jackz100
- #52225 Fix config rebuild call in the Windows MXC preference test @virajrai-oai
- #52226 Include foreground activity in iTerm2 session status @fcoury-oai
- #52228 Honor API-key feature gates in TUI Daybreak selection @julee-oai
- #52234 Support request IDs in exec-server WebSocket handshakes @mattj-openai
- #52235 Recover gRPC code-mode sessions after missing-session errors @surajs-oai
- #52241 Preserve subagent capabilities independently of forked history @anp-oai
- #52245 Enable parallel execution for read-only tools @zamoshchin-openai
- #52250 Add opt-in Guardian trust for orchestrator connector identities @ankushg
- #52256 Normalize formatting in docs, web assets, and sample scripts @anp-oai
- #52268 Preserve large arguments in executed tool call metadata @ningyi-oai
- #52270 Enable text selection in the fullscreen TUI footer @fcoury-oai
- #52273 Add configurable persistent leader shortcuts to the TUI @fcoury-oai
- #52274 Add structured tracing for Guardian reviews and background scoring @ioanbudea-OAI
- #52277 Preserve UTF-8 byte semantics in network domain matching @rafael-oai
- #52278 Honor custom OTLP metrics exporters when analytics is disabled @jackz100
- #52288 Remove duplicate field initializers from extension registry tests @anp-oai
- #52295 Emit one developer notice per incremental namespace update batch @akira-oai
- #52299 Make Bazel release jobs advisory @anp-oai
- #52302 Add opt-in credential masking for proxied sandboxed sessions @winston-openai
- #52304 Persist remote-control RPC preferences in managed daemon settings @etraut-openai
- #52325 Track history initialization in Responses turn metadata @anp-oai
- #52329 Remove per-content source attribution metadata @anp-oai
- #52330 Clamp wrapped source ranges before remapping terminal hyperlinks @bc-openai
- #52337 Add durable thread read state with revision-checked updates @btraut-openai
- #52350 Expose experimental durable thread read state in the app server @btraut-openai
- #52363 Expand realtime v3 voice support @jacksonmoody-oai
- #52381 Preserve per-session routing for gRPC code mode @cassirer-openai
- #52384 Notify subscribers when thread read state changes @btraut-openai
- #52395 Add experimental app-server thread read-state updates @btraut-openai
- #52418 Avoid an extra blank quote line when pasting text with a trailing newline @bc-openai
- #52535 Add opt-in history prefix preservation for full agent forks @jif-oai
- #52557 Forward clipboard copies to the terminal in Herdr sessions @fcoury-oai
- #52568 Expose message board permissions and structured denials @jif-oai
- #52591 Fix races in remote environment and session replacement tests @jif-oai
- #52608 Upgrade
hyperto 1.11.1 and test connection closure @jif-oai - #52610 Align Linux sandbox names and docs with bubblewrap and seccomp @bolinfest
- #52621 Add template setup for local agent message boards @jif-oai
- #52629 Consolidate local message board storage helpers @jif-oai
- #52635 Skip background workspace routing reads without ChatGPT auth @joesavona
- #52637 Add experimental thread item lookup by ID @btraut-openai
- #52640 Count interrupted goal continuations toward the no-activity limit @etraut-openai
- #52648 Limit daemon feature compatibility checks to explicit CLI overrides @etraut-openai
- #52652 Bound local exec-server output draining after process exit @jif-oai
- #52659 Add an opt-in feature for subagent model context defaults @hlevy-openai
- #52660 Handle completion events in either order in shell snapshot tests @jif-oai
- #52661 Prevent brokered credential aliases from bypassing MITM hooks @viyatb-oai
- #52671 Add retention annotations to submitted tool outputs @won-openai
- #52674 Move the exec-server test fixture into shared test support @anp-oai
- #52676 Refresh persisted capability roots from owner-provided configuration @teddywyly-oai
- #52679 Add timeout-aware exec-server configuration reads @hlevy-openai
- #52681 Reject reserved Serde JSON keys in code mode @cassirer-openai
- #52682 Validate Windows sandbox accounts before password repair @zm-oai
- #52685 Preserve code mode cancellation during output serialization @cassirer-openai
- #52686 Add opt-in retention for turn tool outputs @won-openai
- #52689 Forward per-turn Cyber access programs to Guardian @daneschneider-oai
- #52696 Fix marketplace path matching for Windows junctions @zm-oai
- #52700 Update the exec-server stable compatibility baseline to Codex 0.162.1 @iceweasel-oai
- #52702 Retry bootstrap GETs through the system proxy after request failures @abhinav-oai
- #52707 Migrate the Windows MXC sandbox to split MXC crates @iceweasel-oai
- #52721 Explain session creation failures during server shutdown @etraut-openai
- #52723 Add opt-in gRPC over stdio for the code-mode host @cconger
- #52724 Add observers for initial exec-server connection attempts @aaronl-openai
- #52725 Report terminal program status with OSC 7501 @fcoury-oai
- #52736 Allow model catalogs to override incremental tool notices @akira-oai
- #52742 Add opt-in output token replay for OpenAI requests @pakrym-oai
- #52748 Make code-mode
exit()stop the entire cell @cconger - #52756 Classify voice session failures and record terminal outcomes @bc-openai
- #52778 Make pinned transcript prompts clickable @fcoury-oai
- #52825 Report exec runtime resets before accepting further requests @JenZhao
- #52923 Stabilize the realtime steering timeline test @anp-oai
- #52937 Retain client-marked tool outputs across compaction @won-openai
- #52946 Keep agent command center rows stable across progress updates @fcoury-oai
- #52952 Verify reset notification during code-mode host recovery @etraut-openai
- #52959 Reduce stack usage in async TUI tests @jif-oai
- #52964 Defer owned transcript redraws during raw paste bursts @etraut-openai
- #52967 Reuse and prewarm the WSL clipboard text reader @etraut-openai
- #52968 Keep startup modals protected when terminal input draining times out @etraut-openai
- #52972 Upgrade
rmcpto3.5.1and harden lifecycle tests @alishobeiri-oai - #52990 Add a searchable
/configpreferences panel to the TUI @fcoury-oai - #53049 Add connection-bound reply handles for app-server requests @bc-openai
- #53109 Handle broken pipes gracefully in plugin list output @fcoury-oai
- #53148 Fix startup draft recovery for pending Vim Replace keys @etraut-openai
- #53150 Restore thread-owned permissions on cold resume @etraut-openai
- #53152 Allow selecting and copying TUI turn tips @etraut-openai
- #53153 Show subagent navigation shortcuts in TUI help @etraut-openai
- #53155 Keep remote app-server events deliverable during shutdown @etraut-openai
- #53156 Simplify the custom terminal drawing API @bc-openai
- #53173 Allow restarting managed background servers from the TUI @etraut-openai
- #53201 Keep agents navigation available after a thread is archived @etraut-openai
- #53224 Support Windows clipboard text paste shortcuts in the TUI @etraut-openai
- #53331 Finish remote exec cleanup when output streams remain open @jif-oai
- #53339 Test final polling of remote processes with open output streams @jif-oai
- #53358 Remove selected protocol, apply-patch, MCP, and TUI tests @vb-openai
- #53369 Allow turns when the agent message board is unavailable @jif-oai
- #53382 Ignore the unsafe-libyaml advisory in dependency audits @swastik-oai
- #53389 Use cached login credentials for Guardian decisions @swastik-oai
- #53393 Distinguish Guardian parent-compaction failure reasons @ioanbudea-OAI
- #53400 Add explicit local board connections with fixed runtime access @jif-oai
- #53412 Isolate arg0 helper directories by operating system @jif-oai
- #53419 Restore saved thread permissions during configuration loading @jif-oai
- #53424 Add regression coverage for network grants on cold thread resume @jif-oai
- #53426 Preserve Windows runtime registration failure diagnostics @zm-oai
- #53429 Apply configuration toggles live and improve settings navigation @fcoury-oai
- #53436 Route TUI request replies to their originating connection and thread @bc-openai
- #53438 Stop identifying Apple Terminal from
TERM_SESSION_ID@etraut-openai - #53440 Preserve status line accents on 16-color terminals @etraut-openai
- #53443 Use local MSVC toolchains for native Windows Bazel tests @etraut-openai
- #53444 Suppress repeated turn diffs in
codex exechuman output @fcoury-oai - #53451 Treat incomplete responses as terminal errors @jif-oai
- #53452 Close input admission while a turn finishes recording @etraut-openai
- #53453 Prefer the Windows clipboard and bound copy attempts on WSL @etraut-openai
- #53485 Update
quinn-prototo 0.11.18 @smurching-oai - #53496 Preserve pending Effects toggles across save refreshes @fcoury-oai
- #53506 Reject duplicate Host headers in the network proxy @jfoo-oai
- #53556 Deduplicate TUI modifier handling and terminal color caching @bc-openai
- #53595 Add async compaction feature configuration @rka-oai
- #53606 Prepare compaction helpers for background requests @rka-oai
- #53614 Add infrastructure for speculative remote V2 compaction @rka-oai
- #53617 Allow hiding native tools while retaining the multi-agent V2 runtime @jif-oai
- #53620 Reuse background results for remote V2 compaction @rka-oai
- #53622 Preserve remote exec output until it is collected @jif-oai
- #53628 Record truncation metrics for accepted Guardian review inputs @ioanbudea-OAI
- #53631 Materialize the thread before testing a discovered daemon restart @jif-oai
- #53632 Stabilize write ordering in the shared message board scenario @jif-oai
- #53633 Add an environment API key fallback for Guardian Decisions @swastik-oai
- #53654 Keep spawned children provisional until the spawn result returns @jif-oai
- #53657 Share hook configuration across cloned hook views @jif-oai
- #53660 Extract shared multi-agent v2 thread spawning @jif-oai
- #53668 Improve remote exec-server test startup diagnostics @jif-oai
- #53670 Account for token usage from incomplete responses @jif-oai
- #53672 Keep discovered Apps tools available during startup recovery @jif-oai
- #53673 Publish Rust releases with the GitHub CLI @jif-oai
- #53678 Preserve inherited context in prediction forks @keyz
- #53689 Constrain API-key model access programs to server support @julee-oai
- #53691 Account for replay caches in encrypted compaction budgets @ioanbudea-OAI
- #53693 Add keyboard selection support to the transcript view @fcoury-oai
- #53698 Interrupt and drain canceled classifier responses before socket reuse @felixxia-oai
- #53699 Cancel Guardian V2 classifications that exceed the tool-call lag window @felixxia-oai
- #53701 Enable CLI Daybreak by default and enforce background-turn eligibility @julee-oai
- #53706 Preserve URLs and email addresses during external agent migration @jif-oai
- #53709 Separate MCP sandbox policy from launcher metadata @bolinfest
- #53717 Enable Cyber access programs for API-key sessions by default @julee-oai
- #53723 Wire V2 capability discovery through exec-server RPC @TAFOYA-OAI