{"id":"src_5o4Llv42g_j-oLZvOjA9p","slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed","url":"https://developers.openai.com/codex/changelog","orgId":"org_XCtsUSrelarAybkAnBD3g","productId":"prod_0iP-smZKtQJYKB6w0zrye","productSlug":"codex","org":{"id":"org_XCtsUSrelarAybkAnBD3g","slug":"openai","name":"OpenAI"},"isPrimary":false,"isHidden":false,"discovery":"curated","metadata":"{\"feedUrl\":\"https://developers.openai.com/codex/changelog/rss.xml\",\"feedType\":\"unknown\",\"feedDiscoveredAt\":\"2026-04-07T17:24:33.749Z\",\"noFeedFound\":false,\"feedEtag\":\"W/\\\"a3febae05b33a36074e38cadc752cad7\\\"\",\"feedLastModified\":\"Sat, 17 Oct 2026 22:24:26 GMT\",\"feedContentDepth\":\"anchor-fragment\",\"sourceActor\":{\"nextAlarmAt\":\"2026-10-18T15:54:48.486Z\",\"lastAlarmAt\":\"2026-10-18T03:52:25.824Z\",\"managed\":true}}","notice":null,"kind":"platform","stars":null,"starsFetchedAt":null,"releaseCount":215,"releasesLast30Days":27,"avgReleasesPerWeek":6.5,"latestVersion":"0.163.0","latestDate":"2026-10-15T00:00:00.000Z","changelogUrl":null,"hasChangelogFile":false,"lastFetchedAt":"2026-10-17T23:54:48.486Z","lastPolledAt":"2026-10-17T23:54:47.870Z","changeDetectedAt":null,"trackingSince":"2025-05-19T00:00:00.000Z","releases":[{"id":"rel_EN-aGeo36X7V1XKaMlNHS","version":"0.163.0","type":"feature","title":"Codex CLI Release: 0.163.0","summary":"New /config panel searches preferences across categories and flags which changes need a restart, and sending a follow-up while Codex is responding now steers it immediately, with interrupts stopping active Code Mode cells and nested tool calls. Also restarts managed background servers from /daemon, adds a configurable leader key in /keymap, and enables Daybreak by default for eligible accounts.","titleGenerated":"Codex CLI 0.163.0 adds /config search and Code Mode steering","titleShort":"Codex /config searches preferences; follow-ups steer mid-turn","breaking":"minor","importance":4,"content":"## New Features\n\n- Open `/config` to search preferences across categories, change supported settings immediately, and see which changes require a restart. ([#52990](https://github.com/openai/codex/pull/52990), [#53429](https://github.com/openai/codex/pull/53429))\n- 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](https://github.com/openai/codex/pull/51812), [#51835](https://github.com/openai/codex/pull/51835))\n- Configure a leader key in `/keymap`. The default is `Ctrl+X`, shortcut hints stay open until you choose or cancel, and voice mute moves to `F9`. ([#52273](https://github.com/openai/codex/pull/52273))\n- Restart a managed background server from `/daemon`. Codex warns about work the restart could interrupt, then reconnects automatically. ([#53173](https://github.com/openai/codex/pull/53173))\n- Codex can run independent read-only tools in parallel, including skill, memory, and conversation-history lookups. ([#52245](https://github.com/openai/codex/pull/52245))\n- Daybreak is enabled by default for eligible accounts. `codex exec` can also select it with an OpenAI API key when the server offers access. ([#53701](https://github.com/openai/codex/pull/53701), [#53717](https://github.com/openai/codex/pull/53717))\n\n## Bug Fixes\n\n- Resuming a saved thread restores its permissions and network approvals, while respecting explicit overrides and current managed policy. ([#53150](https://github.com/openai/codex/pull/53150), [#53419](https://github.com/openai/codex/pull/53419), [#53424](https://github.com/openai/codex/pull/53424))\n- The network proxy now checks permission before a DNS lookup, rejects duplicate `Host` headers, and prevents credential aliases from bypassing inspection hooks. ([#51650](https://github.com/openai/codex/pull/51650), [#52661](https://github.com/openai/codex/pull/52661), [#53506](https://github.com/openai/codex/pull/53506))\n- Return to an existing side conversation with `/side` after switching threads. Answers to pending prompts also go back to the thread that asked. ([#52184](https://github.com/openai/codex/pull/52184), [#53436](https://github.com/openai/codex/pull/53436))\n- On Windows, `Ctrl+V` and `Shift+Insert` paste text as well as images. On WSL, repeated pastes reuse the clipboard reader, and copy attempts time out instead of hanging. ([#53224](https://github.com/openai/codex/pull/53224), [#52967](https://github.com/openai/codex/pull/52967), [#53453](https://github.com/openai/codex/pull/53453))\n- 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](https://github.com/openai/codex/pull/52652), [#53331](https://github.com/openai/codex/pull/53331), [#53622](https://github.com/openai/codex/pull/53622))\n- `codex exec` no longer prints the same file diff again after an unrelated command. ([#53444](https://github.com/openai/codex/pull/53444))\n\n## Documentation\n\n- Updated the bundled OpenAI Docs guidance for migrations to the GPT-6 family, including model-specific reasoning, tool use, and data residency considerations. ([#51768](https://github.com/openai/codex/pull/51768))\n- Clarified how the Linux sandbox uses bubblewrap for filesystem isolation and seccomp for syscall filtering. ([#52610](https://github.com/openai/codex/pull/52610))\n\n## Chores\n\n- 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](https://github.com/openai/codex/pull/52160), [#52213](https://github.com/openai/codex/pull/52213))\n- Reduced Linux and macOS release package size by stripping symbols from packaged binaries while preserving them in the original build outputs. ([#52178](https://github.com/openai/codex/pull/52178))\n\n## Changelog\n\nFull Changelog: [rust-v0.162.0...rust-v0.163.0](https://github.com/openai/codex/compare/rust-v0.162.0...rust-v0.163.0)\n\n- [#51539](https://github.com/openai/codex/pull/51539) Add completion-aware realtime attachment and session-scoped detach [@zahan-oai](https://github.com/zahan-oai)\n- [#51547](https://github.com/openai/codex/pull/51547) Add a Windows MXC sandbox opt-out [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51556](https://github.com/openai/codex/pull/51556) Complete dynamic tool lifecycles on cancellation [@mikelam-oai](https://github.com/mikelam-oai)\n- [#51575](https://github.com/openai/codex/pull/51575) Expose package assembly helpers and support gzip DotSlash artifacts [@bolinfest](https://github.com/bolinfest)\n- [#51595](https://github.com/openai/codex/pull/51595) Add thread ID exclusions to `thread/list` [@btraut-openai](https://github.com/btraut-openai)\n- [#51602](https://github.com/openai/codex/pull/51602) Distinguish thread listing failures from exhausted history [@btraut-openai](https://github.com/btraut-openai)\n- [#51611](https://github.com/openai/codex/pull/51611) Signal abandonment of unanswered MCP elicitations [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#51627](https://github.com/openai/codex/pull/51627) Stabilize Guardian snapshot prefixes by separating assistant context [@jif-oai](https://github.com/jif-oai)\n- [#51642](https://github.com/openai/codex/pull/51642) Fix retained context handling for typed section content [@jif-oai](https://github.com/jif-oai)\n- [#51650](https://github.com/openai/codex/pull/51650) Require hostname authorization before proxy DNS lookups [@jif-oai](https://github.com/jif-oai)\n- [#51651](https://github.com/openai/codex/pull/51651) Persist Guardian review failures for reports across restarts [@jif-oai](https://github.com/jif-oai)\n- [#51652](https://github.com/openai/codex/pull/51652) Record telemetry for AGENTS.md changes made by apply\\_patch [@jif-oai](https://github.com/jif-oai)\n- [#51678](https://github.com/openai/codex/pull/51678) Move Windows sandbox tests into a dedicated integration binary [@jif-oai](https://github.com/jif-oai)\n- [#51683](https://github.com/openai/codex/pull/51683) Roll back stale Guardian reviews before reusing reviewer history [@olliem-oai](https://github.com/olliem-oai)\n- [#51689](https://github.com/openai/codex/pull/51689) Wait for helper completion in HTTP header cancellation tests [@jif-oai](https://github.com/jif-oai)\n- [#51690](https://github.com/openai/codex/pull/51690) Add a feature flag for Code Mode tool description ordering [@swastik-oai](https://github.com/swastik-oai)\n- [#51704](https://github.com/openai/codex/pull/51704) Honor tool-description-first ordering in Code Mode [@swastik-oai](https://github.com/swastik-oai)\n- [#51710](https://github.com/openai/codex/pull/51710) Fix a discovery race in the external auth refresh test [@jgershen-oai](https://github.com/jgershen-oai)\n- [#51734](https://github.com/openai/codex/pull/51734) Load persisted sender context for Guardian reviews [@jif-oai](https://github.com/jif-oai)\n- [#51755](https://github.com/openai/codex/pull/51755) Reuse MCP handler metadata for cache comparisons [@owenlin0](https://github.com/owenlin0)\n- [#51761](https://github.com/openai/codex/pull/51761) Reduce tool metadata cloning in the code-mode runtime [@akira-oai](https://github.com/akira-oai)\n- [#51768](https://github.com/openai/codex/pull/51768) Expand OpenAI Docs migration guidance to the GPT-6 model family [@kkahadze-oai](https://github.com/kkahadze-oai)\n- [#51775](https://github.com/openai/codex/pull/51775) Prevent recursive Tokio tracing in telemetry and SQLite logs [@zbarsky-openai](https://github.com/zbarsky-openai)\n- [#51786](https://github.com/openai/codex/pull/51786) Preserve sandbox overrides across execution requests [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51794](https://github.com/openai/codex/pull/51794) Advertise Ultrafast for GPT-6.1 Sol on Amazon Bedrock [@celia-oai](https://github.com/celia-oai)\n- [#51800](https://github.com/openai/codex/pull/51800) Remove duplicate field initializers in extension registry tests [@anp-oai](https://github.com/anp-oai)\n- [#51808](https://github.com/openai/codex/pull/51808) Preserve diagnostic reasons for MCP user verification failures [@berkdeniz-oai](https://github.com/berkdeniz-oai)\n- [#51812](https://github.com/openai/codex/pull/51812) Enable instant interrupts by default [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51819](https://github.com/openai/codex/pull/51819) Migrate the MXC sandbox to the 1.0.0 SDK [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51822](https://github.com/openai/codex/pull/51822) Avoid sharing violations when repairing Windows runtime ACLs [@johnl-oai](https://github.com/johnl-oai)\n- [#51823](https://github.com/openai/codex/pull/51823) Share MCP binding tool metadata with prepared calls [@owenlin0](https://github.com/owenlin0)\n- [#51828](https://github.com/openai/codex/pull/51828) Add policy-based file contents integrity checks [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51831](https://github.com/openai/codex/pull/51831) Add MXC sandbox integrity dependency and policy preparation [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51835](https://github.com/openai/codex/pull/51835) Enable code mode interruption by default [@won-openai](https://github.com/won-openai)\n- [#51840](https://github.com/openai/codex/pull/51840) Add a bubblewrap backend for sandbox integrity checks [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51841](https://github.com/openai/codex/pull/51841) Add a macOS Seatbelt backend for sandbox integrity [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51842](https://github.com/openai/codex/pull/51842) Add a sandbox integrity runner with outcome and timing metrics [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51843](https://github.com/openai/codex/pull/51843) Run sandbox integrity checks before commands and filesystem operations [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51847](https://github.com/openai/codex/pull/51847) Preserve Cargo package names in Bazel Rust builds [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#51848](https://github.com/openai/codex/pull/51848) Align Bazel release builds with Cargo and fix platform compatibility [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#51849](https://github.com/openai/codex/pull/51849) Fix package smoke tests for Cargo and Bazel debug symbols [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#51850](https://github.com/openai/codex/pull/51850) Add Bazel release staging archives [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#51855](https://github.com/openai/codex/pull/51855) Add Bazel support to the Codex package build action [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#51856](https://github.com/openai/codex/pull/51856) Build Bazel release artifacts alongside Cargo artifacts [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#51857](https://github.com/openai/codex/pull/51857) Add an app-server prompt prefix compatibility test [@jif-oai](https://github.com/jif-oai)\n- [#51865](https://github.com/openai/codex/pull/51865) Use readable plugin mentions without suppressing same-name skills [@canvrno-oai](https://github.com/canvrno-oai)\n- [#51866](https://github.com/openai/codex/pull/51866) Preserve line breaks and links in multiline async questions [@pash-openai](https://github.com/pash-openai)\n- [#51868](https://github.com/openai/codex/pull/51868) Record tool registration metrics for each sampling request [@akira-oai](https://github.com/akira-oai)\n- [#51872](https://github.com/openai/codex/pull/51872) Keep global app-server config independent of the launch directory [@etraut-openai](https://github.com/etraut-openai)\n- [#51884](https://github.com/openai/codex/pull/51884) Add experimental prediction forks that inherit parent context [@liame-oai](https://github.com/liame-oai)\n- [#51890](https://github.com/openai/codex/pull/51890) Add the missing `mxc-sdk` UTF-8 resource patch for Bazel [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#51892](https://github.com/openai/codex/pull/51892) Preserve tool call completeness when recorded arguments are truncated [@ningyi-oai](https://github.com/ningyi-oai)\n- [#51893](https://github.com/openai/codex/pull/51893) Record metrics for incremental tool updates [@akira-oai](https://github.com/akira-oai)\n- [#51895](https://github.com/openai/codex/pull/51895) Report specific reasons for WebSocket continuation failures [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51896](https://github.com/openai/codex/pull/51896) Preserve native errors in Windows sandbox ACL diagnostics [@alishobeiri-oai](https://github.com/alishobeiri-oai)\n- [#51897](https://github.com/openai/codex/pull/51897) Use a dedicated matcher for network domain policies [@rafael-oai](https://github.com/rafael-oai)\n- [#51908](https://github.com/openai/codex/pull/51908) Honor the user input setting for asynchronous questions [@mandal-OAI](https://github.com/mandal-OAI)\n- [#51930](https://github.com/openai/codex/pull/51930) Support model-specific function description prefixes [@tz-openai](https://github.com/tz-openai)\n- [#51963](https://github.com/openai/codex/pull/51963) Attribute compaction analytics to the correct voice session [@reia-oai](https://github.com/reia-oai)\n- [#51974](https://github.com/openai/codex/pull/51974) Log Windows sandbox availability and backend selection [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#52034](https://github.com/openai/codex/pull/52034) Preserve agent state when unloading idle multi-agent v2 children [@jif-oai](https://github.com/jif-oai)\n- [#52040](https://github.com/openai/codex/pull/52040) Add regression coverage for cancelled agent reloads [@jif-oai](https://github.com/jif-oai)\n- [#52048](https://github.com/openai/codex/pull/52048) Cover instant interruption in steered-input persistence tests [@jif-oai](https://github.com/jif-oai)\n- [#52061](https://github.com/openai/codex/pull/52061) Run Guardian conversation classifiers concurrently and preserve action order [@felixxia-oai](https://github.com/felixxia-oai)\n- [#52062](https://github.com/openai/codex/pull/52062) Add scenario coverage for worker context across idle eviction [@jif-oai](https://github.com/jif-oai)\n- [#52065](https://github.com/openai/codex/pull/52065) Require assessment text in the Guardian parser [@ioanbudea-OAI](https://github.com/ioanbudea-OAI)\n- [#52081](https://github.com/openai/codex/pull/52081) Fix idle cleanup for disconnected multi-agent v2 children [@jif-oai](https://github.com/jif-oai)\n- [#52119](https://github.com/openai/codex/pull/52119) Expose originating tool call metadata in command environments [@leo-oai](https://github.com/leo-oai)\n- [#52160](https://github.com/openai/codex/pull/52160) Remove the patched zsh shell execution backend [@jif-oai](https://github.com/jif-oai)\n- [#52164](https://github.com/openai/codex/pull/52164) Make environment context date and timezone configurable [@surajs-oai](https://github.com/surajs-oai)\n- [#52176](https://github.com/openai/codex/pull/52176) Show AWS GovCloud guidance at startup and remember acknowledgment [@jackz100](https://github.com/jackz100)\n- [#52177](https://github.com/openai/codex/pull/52177) Set a User-Agent for package archive downloads [@bolinfest](https://github.com/bolinfest)\n- [#52178](https://github.com/openai/codex/pull/52178) Strip symbols from source-built release package binaries [@bolinfest](https://github.com/bolinfest)\n- [#52182](https://github.com/openai/codex/pull/52182) Expose a verified sandbox launcher to local MCP servers [@bolinfest](https://github.com/bolinfest)\n- [#52183](https://github.com/openai/codex/pull/52183) Add optional descriptions to agent message board channels [@jif-oai](https://github.com/jif-oai)\n- [#52184](https://github.com/openai/codex/pull/52184) Preserve side conversations across thread navigation [@etraut-openai](https://github.com/etraut-openai)\n- [#52193](https://github.com/openai/codex/pull/52193) Enforce managed MXC requirements on Windows [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#52195](https://github.com/openai/codex/pull/52195) Track source attribution for individual context parts [@tz-openai](https://github.com/tz-openai)\n- [#52200](https://github.com/openai/codex/pull/52200) Allow plugin toggles while searching and preserve filters on refresh [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52203](https://github.com/openai/codex/pull/52203) Expose Codex lifecycle status in iTerm2 sessions [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52213](https://github.com/openai/codex/pull/52213) Stop bundling patched zsh in Codex packages [@jif-oai](https://github.com/jif-oai)\n- [#52215](https://github.com/openai/codex/pull/52215) Enforce application network policy in standalone MCP commands [@lsingh-oai](https://github.com/lsingh-oai)\n- [#52220](https://github.com/openai/codex/pull/52220) Add configurable default plugin activation policy [@stevenlee-oai](https://github.com/stevenlee-oai)\n- [#52223](https://github.com/openai/codex/pull/52223) Enforce application network policy for daemon updates [@jackz100](https://github.com/jackz100)\n- [#52225](https://github.com/openai/codex/pull/52225) Fix config rebuild call in the Windows MXC preference test [@virajrai-oai](https://github.com/virajrai-oai)\n- [#52226](https://github.com/openai/codex/pull/52226) Include foreground activity in iTerm2 session status [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52228](https://github.com/openai/codex/pull/52228) Honor API-key feature gates in TUI Daybreak selection [@julee-oai](https://github.com/julee-oai)\n- [#52234](https://github.com/openai/codex/pull/52234) Support request IDs in exec-server WebSocket handshakes [@mattj-openai](https://github.com/mattj-openai)\n- [#52235](https://github.com/openai/codex/pull/52235) Recover gRPC code-mode sessions after missing-session errors [@surajs-oai](https://github.com/surajs-oai)\n- [#52241](https://github.com/openai/codex/pull/52241) Preserve subagent capabilities independently of forked history [@anp-oai](https://github.com/anp-oai)\n- [#52245](https://github.com/openai/codex/pull/52245) Enable parallel execution for read-only tools [@zamoshchin-openai](https://github.com/zamoshchin-openai)\n- [#52250](https://github.com/openai/codex/pull/52250) Add opt-in Guardian trust for orchestrator connector identities [@ankushg](https://github.com/ankushg)\n- [#52256](https://github.com/openai/codex/pull/52256) Normalize formatting in docs, web assets, and sample scripts [@anp-oai](https://github.com/anp-oai)\n- [#52268](https://github.com/openai/codex/pull/52268) Preserve large arguments in executed tool call metadata [@ningyi-oai](https://github.com/ningyi-oai)\n- [#52270](https://github.com/openai/codex/pull/52270) Enable text selection in the fullscreen TUI footer [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52273](https://github.com/openai/codex/pull/52273) Add configurable persistent leader shortcuts to the TUI [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52274](https://github.com/openai/codex/pull/52274) Add structured tracing for Guardian reviews and background scoring [@ioanbudea-OAI](https://github.com/ioanbudea-OAI)\n- [#52277](https://github.com/openai/codex/pull/52277) Preserve UTF-8 byte semantics in network domain matching [@rafael-oai](https://github.com/rafael-oai)\n- [#52278](https://github.com/openai/codex/pull/52278) Honor custom OTLP metrics exporters when analytics is disabled [@jackz100](https://github.com/jackz100)\n- [#52288](https://github.com/openai/codex/pull/52288) Remove duplicate field initializers from extension registry tests [@anp-oai](https://github.com/anp-oai)\n- [#52295](https://github.com/openai/codex/pull/52295) Emit one developer notice per incremental namespace update batch [@akira-oai](https://github.com/akira-oai)\n- [#52299](https://github.com/openai/codex/pull/52299) Make Bazel release jobs advisory [@anp-oai](https://github.com/anp-oai)\n- [#52302](https://github.com/openai/codex/pull/52302) Add opt-in credential masking for proxied sandboxed sessions [@winston-openai](https://github.com/winston-openai)\n- [#52304](https://github.com/openai/codex/pull/52304) Persist remote-control RPC preferences in managed daemon settings [@etraut-openai](https://github.com/etraut-openai)\n- [#52325](https://github.com/openai/codex/pull/52325) Track history initialization in Responses turn metadata [@anp-oai](https://github.com/anp-oai)\n- [#52329](https://github.com/openai/codex/pull/52329) Remove per-content source attribution metadata [@anp-oai](https://github.com/anp-oai)\n- [#52330](https://github.com/openai/codex/pull/52330) Clamp wrapped source ranges before remapping terminal hyperlinks [@bc-openai](https://github.com/bc-openai)\n- [#52337](https://github.com/openai/codex/pull/52337) Add durable thread read state with revision-checked updates [@btraut-openai](https://github.com/btraut-openai)\n- [#52350](https://github.com/openai/codex/pull/52350) Expose experimental durable thread read state in the app server [@btraut-openai](https://github.com/btraut-openai)\n- [#52363](https://github.com/openai/codex/pull/52363) Expand realtime v3 voice support [@jacksonmoody-oai](https://github.com/jacksonmoody-oai)\n- [#52381](https://github.com/openai/codex/pull/52381) Preserve per-session routing for gRPC code mode [@cassirer-openai](https://github.com/cassirer-openai)\n- [#52384](https://github.com/openai/codex/pull/52384) Notify subscribers when thread read state changes [@btraut-openai](https://github.com/btraut-openai)\n- [#52395](https://github.com/openai/codex/pull/52395) Add experimental app-server thread read-state updates [@btraut-openai](https://github.com/btraut-openai)\n- [#52418](https://github.com/openai/codex/pull/52418) Avoid an extra blank quote line when pasting text with a trailing newline [@bc-openai](https://github.com/bc-openai)\n- [#52535](https://github.com/openai/codex/pull/52535) Add opt-in history prefix preservation for full agent forks [@jif-oai](https://github.com/jif-oai)\n- [#52557](https://github.com/openai/codex/pull/52557) Forward clipboard copies to the terminal in Herdr sessions [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52568](https://github.com/openai/codex/pull/52568) Expose message board permissions and structured denials [@jif-oai](https://github.com/jif-oai)\n- [#52591](https://github.com/openai/codex/pull/52591) Fix races in remote environment and session replacement tests [@jif-oai](https://github.com/jif-oai)\n- [#52608](https://github.com/openai/codex/pull/52608) Upgrade `hyper` to 1.11.1 and test connection closure [@jif-oai](https://github.com/jif-oai)\n- [#52610](https://github.com/openai/codex/pull/52610) Align Linux sandbox names and docs with bubblewrap and seccomp [@bolinfest](https://github.com/bolinfest)\n- [#52621](https://github.com/openai/codex/pull/52621) Add template setup for local agent message boards [@jif-oai](https://github.com/jif-oai)\n- [#52629](https://github.com/openai/codex/pull/52629) Consolidate local message board storage helpers [@jif-oai](https://github.com/jif-oai)\n- [#52635](https://github.com/openai/codex/pull/52635) Skip background workspace routing reads without ChatGPT auth [@joesavona](https://github.com/joesavona)\n- [#52637](https://github.com/openai/codex/pull/52637) Add experimental thread item lookup by ID [@btraut-openai](https://github.com/btraut-openai)\n- [#52640](https://github.com/openai/codex/pull/52640) Count interrupted goal continuations toward the no-activity limit [@etraut-openai](https://github.com/etraut-openai)\n- [#52648](https://github.com/openai/codex/pull/52648) Limit daemon feature compatibility checks to explicit CLI overrides [@etraut-openai](https://github.com/etraut-openai)\n- [#52652](https://github.com/openai/codex/pull/52652) Bound local exec-server output draining after process exit [@jif-oai](https://github.com/jif-oai)\n- [#52659](https://github.com/openai/codex/pull/52659) Add an opt-in feature for subagent model context defaults [@hlevy-openai](https://github.com/hlevy-openai)\n- [#52660](https://github.com/openai/codex/pull/52660) Handle completion events in either order in shell snapshot tests [@jif-oai](https://github.com/jif-oai)\n- [#52661](https://github.com/openai/codex/pull/52661) Prevent brokered credential aliases from bypassing MITM hooks [@viyatb-oai](https://github.com/viyatb-oai)\n- [#52671](https://github.com/openai/codex/pull/52671) Add retention annotations to submitted tool outputs [@won-openai](https://github.com/won-openai)\n- [#52674](https://github.com/openai/codex/pull/52674) Move the exec-server test fixture into shared test support [@anp-oai](https://github.com/anp-oai)\n- [#52676](https://github.com/openai/codex/pull/52676) Refresh persisted capability roots from owner-provided configuration [@teddywyly-oai](https://github.com/teddywyly-oai)\n- [#52679](https://github.com/openai/codex/pull/52679) Add timeout-aware exec-server configuration reads [@hlevy-openai](https://github.com/hlevy-openai)\n- [#52681](https://github.com/openai/codex/pull/52681) Reject reserved Serde JSON keys in code mode [@cassirer-openai](https://github.com/cassirer-openai)\n- [#52682](https://github.com/openai/codex/pull/52682) Validate Windows sandbox accounts before password repair [@zm-oai](https://github.com/zm-oai)\n- [#52685](https://github.com/openai/codex/pull/52685) Preserve code mode cancellation during output serialization [@cassirer-openai](https://github.com/cassirer-openai)\n- [#52686](https://github.com/openai/codex/pull/52686) Add opt-in retention for turn tool outputs [@won-openai](https://github.com/won-openai)\n- [#52689](https://github.com/openai/codex/pull/52689) Forward per-turn Cyber access programs to Guardian [@daneschneider-oai](https://github.com/daneschneider-oai)\n- [#52696](https://github.com/openai/codex/pull/52696) Fix marketplace path matching for Windows junctions [@zm-oai](https://github.com/zm-oai)\n- [#52700](https://github.com/openai/codex/pull/52700) Update the exec-server stable compatibility baseline to Codex 0.162.1 [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#52702](https://github.com/openai/codex/pull/52702) Retry bootstrap GETs through the system proxy after request failures [@abhinav-oai](https://github.com/abhinav-oai)\n- [#52707](https://github.com/openai/codex/pull/52707) Migrate the Windows MXC sandbox to split MXC crates [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#52721](https://github.com/openai/codex/pull/52721) Explain session creation failures during server shutdown [@etraut-openai](https://github.com/etraut-openai)\n- [#52723](https://github.com/openai/codex/pull/52723) Add opt-in gRPC over stdio for the code-mode host [@cconger](https://github.com/cconger)\n- [#52724](https://github.com/openai/codex/pull/52724) Add observers for initial exec-server connection attempts [@aaronl-openai](https://github.com/aaronl-openai)\n- [#52725](https://github.com/openai/codex/pull/52725) Report terminal program status with OSC 7501 [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52736](https://github.com/openai/codex/pull/52736) Allow model catalogs to override incremental tool notices [@akira-oai](https://github.com/akira-oai)\n- [#52742](https://github.com/openai/codex/pull/52742) Add opt-in output token replay for OpenAI requests [@pakrym-oai](https://github.com/pakrym-oai)\n- [#52748](https://github.com/openai/codex/pull/52748) Make code-mode `exit()` stop the entire cell [@cconger](https://github.com/cconger)\n- [#52756](https://github.com/openai/codex/pull/52756) Classify voice session failures and record terminal outcomes [@bc-openai](https://github.com/bc-openai)\n- [#52778](https://github.com/openai/codex/pull/52778) Make pinned transcript prompts clickable [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52825](https://github.com/openai/codex/pull/52825) Report exec runtime resets before accepting further requests [@JenZhao](https://github.com/JenZhao)\n- [#52923](https://github.com/openai/codex/pull/52923) Stabilize the realtime steering timeline test [@anp-oai](https://github.com/anp-oai)\n- [#52937](https://github.com/openai/codex/pull/52937) Retain client-marked tool outputs across compaction [@won-openai](https://github.com/won-openai)\n- [#52946](https://github.com/openai/codex/pull/52946) Keep agent command center rows stable across progress updates [@fcoury-oai](https://github.com/fcoury-oai)\n- [#52952](https://github.com/openai/codex/pull/52952) Verify reset notification during code-mode host recovery [@etraut-openai](https://github.com/etraut-openai)\n- [#52959](https://github.com/openai/codex/pull/52959) Reduce stack usage in async TUI tests [@jif-oai](https://github.com/jif-oai)\n- [#52964](https://github.com/openai/codex/pull/52964) Defer owned transcript redraws during raw paste bursts [@etraut-openai](https://github.com/etraut-openai)\n- [#52967](https://github.com/openai/codex/pull/52967) Reuse and prewarm the WSL clipboard text reader [@etraut-openai](https://github.com/etraut-openai)\n- [#52968](https://github.com/openai/codex/pull/52968) Keep startup modals protected when terminal input draining times out [@etraut-openai](https://github.com/etraut-openai)\n- [#52972](https://github.com/openai/codex/pull/52972) Upgrade `rmcp` to `3.5.1` and harden lifecycle tests [@alishobeiri-oai](https://github.com/alishobeiri-oai)\n- [#52990](https://github.com/openai/codex/pull/52990) Add a searchable `/config` preferences panel to the TUI [@fcoury-oai](https://github.com/fcoury-oai)\n- [#53049](https://github.com/openai/codex/pull/53049) Add connection-bound reply handles for app-server requests [@bc-openai](https://github.com/bc-openai)\n- [#53109](https://github.com/openai/codex/pull/53109) Handle broken pipes gracefully in plugin list output [@fcoury-oai](https://github.com/fcoury-oai)\n- [#53148](https://github.com/openai/codex/pull/53148) Fix startup draft recovery for pending Vim Replace keys [@etraut-openai](https://github.com/etraut-openai)\n- [#53150](https://github.com/openai/codex/pull/53150) Restore thread-owned permissions on cold resume [@etraut-openai](https://github.com/etraut-openai)\n- [#53152](https://github.com/openai/codex/pull/53152) Allow selecting and copying TUI turn tips [@etraut-openai](https://github.com/etraut-openai)\n- [#53153](https://github.com/openai/codex/pull/53153) Show subagent navigation shortcuts in TUI help [@etraut-openai](https://github.com/etraut-openai)\n- [#53155](https://github.com/openai/codex/pull/53155) Keep remote app-server events deliverable during shutdown [@etraut-openai](https://github.com/etraut-openai)\n- [#53156](https://github.com/openai/codex/pull/53156) Simplify the custom terminal drawing API [@bc-openai](https://github.com/bc-openai)\n- [#53173](https://github.com/openai/codex/pull/53173) Allow restarting managed background servers from the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#53201](https://github.com/openai/codex/pull/53201) Keep agents navigation available after a thread is archived [@etraut-openai](https://github.com/etraut-openai)\n- [#53224](https://github.com/openai/codex/pull/53224) Support Windows clipboard text paste shortcuts in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#53331](https://github.com/openai/codex/pull/53331) Finish remote exec cleanup when output streams remain open [@jif-oai](https://github.com/jif-oai)\n- [#53339](https://github.com/openai/codex/pull/53339) Test final polling of remote processes with open output streams [@jif-oai](https://github.com/jif-oai)\n- [#53358](https://github.com/openai/codex/pull/53358) Remove selected protocol, apply-patch, MCP, and TUI tests [@vb-openai](https://github.com/vb-openai)\n- [#53369](https://github.com/openai/codex/pull/53369) Allow turns when the agent message board is unavailable [@jif-oai](https://github.com/jif-oai)\n- [#53382](https://github.com/openai/codex/pull/53382) Ignore the unsafe-libyaml advisory in dependency audits [@swastik-oai](https://github.com/swastik-oai)\n- [#53389](https://github.com/openai/codex/pull/53389) Use cached login credentials for Guardian decisions [@swastik-oai](https://github.com/swastik-oai)\n- [#53393](https://github.com/openai/codex/pull/53393) Distinguish Guardian parent-compaction failure reasons [@ioanbudea-OAI](https://github.com/ioanbudea-OAI)\n- [#53400](https://github.com/openai/codex/pull/53400) Add explicit local board connections with fixed runtime access [@jif-oai](https://github.com/jif-oai)\n- [#53412](https://github.com/openai/codex/pull/53412) Isolate arg0 helper directories by operating system [@jif-oai](https://github.com/jif-oai)\n- [#53419](https://github.com/openai/codex/pull/53419) Restore saved thread permissions during configuration loading [@jif-oai](https://github.com/jif-oai)\n- [#53424](https://github.com/openai/codex/pull/53424) Add regression coverage for network grants on cold thread resume [@jif-oai](https://github.com/jif-oai)\n- [#53426](https://github.com/openai/codex/pull/53426) Preserve Windows runtime registration failure diagnostics [@zm-oai](https://github.com/zm-oai)\n- [#53429](https://github.com/openai/codex/pull/53429) Apply configuration toggles live and improve settings navigation [@fcoury-oai](https://github.com/fcoury-oai)\n- [#53436](https://github.com/openai/codex/pull/53436) Route TUI request replies to their originating connection and thread [@bc-openai](https://github.com/bc-openai)\n- [#53438](https://github.com/openai/codex/pull/53438) Stop identifying Apple Terminal from `TERM_SESSION_ID` [@etraut-openai](https://github.com/etraut-openai)\n- [#53440](https://github.com/openai/codex/pull/53440) Preserve status line accents on 16-color terminals [@etraut-openai](https://github.com/etraut-openai)\n- [#53443](https://github.com/openai/codex/pull/53443) Use local MSVC toolchains for native Windows Bazel tests [@etraut-openai](https://github.com/etraut-openai)\n- [#53444](https://github.com/openai/codex/pull/53444) Suppress repeated turn diffs in `codex exec` human output [@fcoury-oai](https://github.com/fcoury-oai)\n- [#53451](https://github.com/openai/codex/pull/53451) Treat incomplete responses as terminal errors [@jif-oai](https://github.com/jif-oai)\n- [#53452](https://github.com/openai/codex/pull/53452) Close input admission while a turn finishes recording [@etraut-openai](https://github.com/etraut-openai)\n- [#53453](https://github.com/openai/codex/pull/53453) Prefer the Windows clipboard and bound copy attempts on WSL [@etraut-openai](https://github.com/etraut-openai)\n- [#53485](https://github.com/openai/codex/pull/53485) Update `quinn-proto` to 0.11.18 [@smurching-oai](https://github.com/smurching-oai)\n- [#53496](https://github.com/openai/codex/pull/53496) Preserve pending Effects toggles across save refreshes [@fcoury-oai](https://github.com/fcoury-oai)\n- [#53506](https://github.com/openai/codex/pull/53506) Reject duplicate Host headers in the network proxy [@jfoo-oai](https://github.com/jfoo-oai)\n- [#53556](https://github.com/openai/codex/pull/53556) Deduplicate TUI modifier handling and terminal color caching [@bc-openai](https://github.com/bc-openai)\n- [#53595](https://github.com/openai/codex/pull/53595) Add async compaction feature configuration [@rka-oai](https://github.com/rka-oai)\n- [#53606](https://github.com/openai/codex/pull/53606) Prepare compaction helpers for background requests [@rka-oai](https://github.com/rka-oai)\n- [#53614](https://github.com/openai/codex/pull/53614) Add infrastructure for speculative remote V2 compaction [@rka-oai](https://github.com/rka-oai)\n- [#53617](https://github.com/openai/codex/pull/53617) Allow hiding native tools while retaining the multi-agent V2 runtime [@jif-oai](https://github.com/jif-oai)\n- [#53620](https://github.com/openai/codex/pull/53620) Reuse background results for remote V2 compaction [@rka-oai](https://github.com/rka-oai)\n- [#53622](https://github.com/openai/codex/pull/53622) Preserve remote exec output until it is collected [@jif-oai](https://github.com/jif-oai)\n- [#53628](https://github.com/openai/codex/pull/53628) Record truncation metrics for accepted Guardian review inputs [@ioanbudea-OAI](https://github.com/ioanbudea-OAI)\n- [#53631](https://github.com/openai/codex/pull/53631) Materialize the thread before testing a discovered daemon restart [@jif-oai](https://github.com/jif-oai)\n- [#53632](https://github.com/openai/codex/pull/53632) Stabilize write ordering in the shared message board scenario [@jif-oai](https://github.com/jif-oai)\n- [#53633](https://github.com/openai/codex/pull/53633) Add an environment API key fallback for Guardian Decisions [@swastik-oai](https://github.com/swastik-oai)\n- [#53654](https://github.com/openai/codex/pull/53654) Keep spawned children provisional until the spawn result returns [@jif-oai](https://github.com/jif-oai)\n- [#53657](https://github.com/openai/codex/pull/53657) Share hook configuration across cloned hook views [@jif-oai](https://github.com/jif-oai)\n- [#53660](https://github.com/openai/codex/pull/53660) Extract shared multi-agent v2 thread spawning [@jif-oai](https://github.com/jif-oai)\n- [#53668](https://github.com/openai/codex/pull/53668) Improve remote exec-server test startup diagnostics [@jif-oai](https://github.com/jif-oai)\n- [#53670](https://github.com/openai/codex/pull/53670) Account for token usage from incomplete responses [@jif-oai](https://github.com/jif-oai)\n- [#53672](https://github.com/openai/codex/pull/53672) Keep discovered Apps tools available during startup recovery [@jif-oai](https://github.com/jif-oai)\n- [#53673](https://github.com/openai/codex/pull/53673) Publish Rust releases with the GitHub CLI [@jif-oai](https://github.com/jif-oai)\n- [#53678](https://github.com/openai/codex/pull/53678) Preserve inherited context in prediction forks [@keyz](https://github.com/keyz)\n- [#53689](https://github.com/openai/codex/pull/53689) Constrain API-key model access programs to server support [@julee-oai](https://github.com/julee-oai)\n- [#53691](https://github.com/openai/codex/pull/53691) Account for replay caches in encrypted compaction budgets [@ioanbudea-OAI](https://github.com/ioanbudea-OAI)\n- [#53693](https://github.com/openai/codex/pull/53693) Add keyboard selection support to the transcript view [@fcoury-oai](https://github.com/fcoury-oai)\n- [#53698](https://github.com/openai/codex/pull/53698) Interrupt and drain canceled classifier responses before socket reuse [@felixxia-oai](https://github.com/felixxia-oai)\n- [#53699](https://github.com/openai/codex/pull/53699) Cancel Guardian V2 classifications that exceed the tool-call lag window [@felixxia-oai](https://github.com/felixxia-oai)\n- [#53701](https://github.com/openai/codex/pull/53701) Enable CLI Daybreak by default and enforce background-turn eligibility [@julee-oai](https://github.com/julee-oai)\n- [#53706](https://github.com/openai/codex/pull/53706) Preserve URLs and email addresses during external agent migration [@jif-oai](https://github.com/jif-oai)\n- [#53709](https://github.com/openai/codex/pull/53709) Separate MCP sandbox policy from launcher metadata [@bolinfest](https://github.com/bolinfest)\n- [#53717](https://github.com/openai/codex/pull/53717) Enable Cyber access programs for API-key sessions by default [@julee-oai](https://github.com/julee-oai)\n- [#53723](https://github.com/openai/codex/pull/53723) Wire V2 capability discovery through exec-server RPC [@TAFOYA-OAI](https://github.com/TAFOYA-OAI)","publishedAt":"2026-10-15T00:00:00.000Z","fetchedAt":"2026-10-16T03:31:00.895Z","url":"https://developers.openai.com/codex/changelog/#github-release-414286110","media":[],"coverageCount":0},{"id":"rel_q5LB7umkm9tI2-0dMo-Ds","version":"5.5","type":"feature","title":"GPT-5.5 retirement in Codex","summary":"Effective October 14, 2026 at noon PDT, GPT-5.5 retires from Codex for users signed in with ChatGPT, while the OpenAI API and API-key-authenticated Codex sessions are unaffected. Workspace defaults, saved model settings, managed configurations, custom agents, scheduled tasks, and scripts still selecting gpt-5.5 should be updated to GPT-6.1 Sol (gpt-6.1-sol).","titleGenerated":"Codex retires GPT-5.5 for ChatGPT sign-ins on October 14, 2026","titleShort":"GPT-5.5 retires in Codex for ChatGPT sign-ins","breaking":"major","importance":4,"content":"# GPT-5.5 retirement in Codex\n\nEffective October 14, 2026, at noon PDT (19:00 UTC), GPT-5.5 retires from\nCodex for users signed in with ChatGPT. The OpenAI API and Codex sessions\nauthenticated with an API key aren't affected.\n\nUse **GPT-6.1 Sol** (`gpt-6.1-sol`) when available to your plan and client.\nUpdate workspace defaults, saved model settings, managed configurations,\ncustom agents, scheduled tasks, and scripts that still select `gpt-5.5`.\n\nSee [GPT-5.5 retirement](/codex/models#gpt-55-retirement) for plan-specific\nreplacements and [workspace model availability](/codex/enterprise/workspace-model-availability#prepare-for-the-gpt-55-retirement)\nfor administrator guidance.","publishedAt":"2026-10-14T00:00:00.000Z","fetchedAt":"2026-10-15T03:16:37.290Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-14-gpt-55-retirement","media":[],"coverageCount":0},{"id":"rel_IAgHtYdA5VMM8-ra4wvlC","version":null,"type":"feature","title":"Composer predictions in Codex","summary":"Composer predictions adds autocomplete-style suggestions for the next message in the Codex desktop app, using the current conversation to propose a follow-up prompt that can be accepted with Tab as an editable draft without sending it. The beta is available to users 18 and older with personal ChatGPT Pro plans in supported regions, in local and SSH threads with GPT-6 Astra and GPT-6.1 Sol.","titleGenerated":"Codex launches composer predictions for follow-up prompt suggestions","titleShort":"Composer predictions suggest your next Codex prompt","breaking":"none","importance":3,"content":"# Composer predictions in Codex\n\nComposer predictions adds autocomplete-style suggestions for your next message in\nthe Codex desktop app. After Codex responds, it uses the current conversation to\nsuggest a follow-up prompt in the message box. Press **Tab** to accept the suggestion\nas an editable draft, or type your own message. Accepting a prediction doesn't send\nit for you.\n\nThe feature is available in beta to users aged 18 and older with personal ChatGPT\nPro plans in supported regions, in local and SSH threads with GPT-6 Astra and\nGPT-6.1 Sol.\n\nLearn more about [composer predictions](/codex/features/composer-predictions).","publishedAt":"2026-10-09T00:00:00.000Z","fetchedAt":"2026-10-15T11:21:24.600Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-09-composer-predictions","media":[],"coverageCount":0},{"id":"rel_4youco3XV-HblUTUTAeFe","version":"0.162.1","type":"feature","title":"Codex CLI Release: 0.162.1","summary":"Fixed a TUI crash when asynchronous questions contain multiple lines, now preserving line breaks and complete hyperlink destinations. Startup failures caused by feature-setting differences between a running background server and CLI defaults are also fixed, with compatibility checks now applying only to explicit command-line feature overrides.","titleGenerated":"Codex CLI 0.162.1 fixes TUI crash on multiline async questions","titleShort":"TUI no longer crashes on multiline async questions; startup fix","breaking":"none","importance":2,"content":"## Bug Fixes\n\n- Fixed a TUI crash when asynchronous questions contain multiple lines, preserving line breaks and complete hyperlink destinations. ([#51866](https://github.com/openai/codex/pull/51866))\n- Fixed startup failures caused by differences between a running background server's feature settings and CLI defaults. Compatibility checks now apply only to explicit command-line feature overrides. ([#52648](https://github.com/openai/codex/pull/52648))\n\nFull Changelog: [rust-v0.162.0...rust-v0.162.1](https://github.com/openai/codex/compare/rust-v0.162.0...rust-v0.162.1)","publishedAt":"2026-10-09T00:00:00.000Z","fetchedAt":"2026-10-09T22:38:08.952Z","url":"https://developers.openai.com/codex/changelog/#github-release-408271623","media":[],"coverageCount":0},{"id":"rel_dkDIVPtUfglXk_vn5p-uO","version":null,"type":"feature","title":"Codex app","summary":"Fixed queued messages getting stuck on Sending and restored Steer in secondary app windows. Scrolling and file navigation in the Changes panel were improved, and a tool call needing approval while chat permissions block approval requests now shows clearer recovery guidance with a link to those permissions.","titleGenerated":"Codex app fixes queued messages stuck on Sending and restores Steer","titleShort":"Queued messages no longer stuck; Steer restored in sub-windows","breaking":"none","importance":2,"content":"# Codex app\n\n### Performance improvements and bug fixes\n\n- Fixed queued messages getting stuck on **Sending** and restored **Steer** in\n  secondary app windows.\n- Improved scrolling and navigation between files in the **Changes** panel.\n- Added clearer recovery guidance when a tool call needs approval but the chat's\n  permissions prevent approval requests, with a link to those permissions when available.","publishedAt":"2026-10-08T00:00:00.000Z","fetchedAt":"2026-10-15T11:21:24.600Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-08-app","media":[],"coverageCount":0},{"id":"rel_lbxhxDDJ5HzcDwYZprY0F","version":"0.162.0","type":"feature","title":"Codex CLI Release: 0.162.0","summary":"Adds tools for creating and listing managed Git worktrees from trusted local projects when the worktrees feature is enabled, plus /copy for navigating and copying transcript blocks, Ctrl+Insert to copy selections, and tui.mouse_scroll_speed for mouse-wheel scrolling. Fixed Linux sandbox startup with multiple denied files and restored ordinary drive-letter file access on Windows 10.","titleGenerated":"Codex CLI 0.162.0 adds managed Git worktrees and transcript copy tools","titleShort":"Managed Git worktrees; transcript copy via /copy","breaking":"none","importance":3,"content":"## New Features\n\n- Add tools for creating and listing managed Git worktrees from trusted local projects when the worktrees feature is enabled. ([#50148](https://github.com/openai/codex/pull/50148))\n- Pin tasks in the agent Command Center with `p` and keep them in a shared Pinned group when supported by the server. ([#51500](https://github.com/openai/codex/pull/51500))\n- Navigate and copy transcript blocks with `/copy`, use `Ctrl+Insert` to copy selections, and tune mouse-wheel scrolling with `tui.mouse_scroll_speed`. ([#50434](https://github.com/openai/codex/pull/50434), [#50215](https://github.com/openai/codex/pull/50215), [#50209](https://github.com/openai/codex/pull/50209))\n- Make URLs clickable in approval headers, questions, MCP prompts, warnings, banners, and verification prompts, including when links wrap across lines. ([#51439](https://github.com/openai/codex/pull/51439), [#51449](https://github.com/openai/codex/pull/51449), [#51450](https://github.com/openai/codex/pull/51450), [#51451](https://github.com/openai/codex/pull/51451), [#51452](https://github.com/openai/codex/pull/51452), [#51458](https://github.com/openai/codex/pull/51458))\n- Configure live web access and remote compaction capabilities for custom Responses-compatible model providers. ([#50459](https://github.com/openai/codex/pull/50459))\n- Add JavaScript helpers for streaming promise results as they settle, plus opt-in ranked tool search in Code Mode. ([#51126](https://github.com/openai/codex/pull/51126), [#51209](https://github.com/openai/codex/pull/51209))\n\n## Bug Fixes\n\n- Respect server model and reasoning-summary defaults for new TUI threads while retaining explicit launch overrides. ([#50013](https://github.com/openai/codex/pull/50013), [#50811](https://github.com/openai/codex/pull/50811), [#50913](https://github.com/openai/codex/pull/50913))\n- Preserve existing CRLF line endings in `apply_patch` updates without requiring an opt-in. ([#51203](https://github.com/openai/codex/pull/51203))\n- Fix Linux sandbox startup with multiple denied files, reject writable sandbox-construction executables, and keep ripgrep configuration from weakening deny-glob masks. ([#50059](https://github.com/openai/codex/pull/50059), [#51211](https://github.com/openai/codex/pull/51211), [#51407](https://github.com/openai/codex/pull/51407), [#51527](https://github.com/openai/codex/pull/51527))\n- Restore ordinary drive-letter file access on Windows 10 and match Windows sandbox temp permissions to the child process environment. ([#51511](https://github.com/openai/codex/pull/51511), [#51512](https://github.com/openai/codex/pull/51512))\n- Honor server `Retry-After` advice for retryable Responses and WebSocket failures. ([#50418](https://github.com/openai/codex/pull/50418), [#51440](https://github.com/openai/codex/pull/51440))\n- Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. ([#51257](https://github.com/openai/codex/pull/51257))\n\n## Chores\n\n- Publish a signed PowerShell installer with Windows releases. ([#51158](https://github.com/openai/codex/pull/51158))\n- Keep older stable releases and prereleases from replacing newer stable download targets or installer aliases. ([#51186](https://github.com/openai/codex/pull/51186), [#51425](https://github.com/openai/codex/pull/51425))\n\n## Changelog\n\nFull Changelog: [rust-v0.161.0...rust-v0.162.0](https://github.com/openai/codex/compare/rust-v0.161.0...rust-v0.162.0)\n\n- [#50013](https://github.com/openai/codex/pull/50013) Honor server model defaults when starting fresh TUI threads [@etraut-openai](https://github.com/etraut-openai)\n- [#50018](https://github.com/openai/codex/pull/50018) Use descriptor-safe helpers for executable test fixtures [@jif-oai](https://github.com/jif-oai)\n- [#50019](https://github.com/openai/codex/pull/50019) Protect the guardian decisions API key from environment forwarding [@swastik-oai](https://github.com/swastik-oai)\n- [#50026](https://github.com/openai/codex/pull/50026) Preserve user restrictions in Guardian handoff context [@jif-oai](https://github.com/jif-oai)\n- [#50035](https://github.com/openai/codex/pull/50035) Follow MCP tool pagination in legacy protocol mode [@jif-oai](https://github.com/jif-oai)\n- [#50039](https://github.com/openai/codex/pull/50039) Keep transcript Find results readable after closing the query [@fcoury-oai](https://github.com/fcoury-oai)\n- [#50045](https://github.com/openai/codex/pull/50045) Keep transcript Find expansion scoped to the current match [@fcoury-oai](https://github.com/fcoury-oai)\n- [#50046](https://github.com/openai/codex/pull/50046) Stabilize Windows voice build cache keys across tool reinstalls [@anp-oai](https://github.com/anp-oai)\n- [#50050](https://github.com/openai/codex/pull/50050) Keep plugin and skill snapshots scoped to each step [@sayan-oai](https://github.com/sayan-oai)\n- [#50052](https://github.com/openai/codex/pull/50052) Preserve question context in recovered TUI answer drafts [@imac-oai](https://github.com/imac-oai)\n- [#50054](https://github.com/openai/codex/pull/50054) Check token estimate filtering directly on the tracing subscriber [@tamird](https://github.com/tamird)\n- [#50058](https://github.com/openai/codex/pull/50058) Upgrade Windows bindings to `windows-sys` 0.61.2 [@tamird](https://github.com/tamird)\n- [#50059](https://github.com/openai/codex/pull/50059) Fix Linux sandbox startup with multiple denied files [@yuzhu-oai](https://github.com/yuzhu-oai)\n- [#50066](https://github.com/openai/codex/pull/50066) Add a bounded Decisions transport for Guardian comparison classification [@swastik-oai](https://github.com/swastik-oai)\n- [#50082](https://github.com/openai/codex/pull/50082) Enable dynamic tool inheritance for fresh V2 subagents [@ke-oai](https://github.com/ke-oai)\n- [#50083](https://github.com/openai/codex/pull/50083) Add paginated reverse lookup for thread attachments [@joeytrasatti-openai](https://github.com/joeytrasatti-openai)\n- [#50087](https://github.com/openai/codex/pull/50087) Preserve queued agent mail across session eviction [@jif-oai](https://github.com/jif-oai)\n- [#50093](https://github.com/openai/codex/pull/50093) Prevent shared instruction providers from delegating to themselves [@bryanashley](https://github.com/bryanashley)\n- [#50094](https://github.com/openai/codex/pull/50094) Add attachment owner lookup to the app-server [@joeytrasatti-openai](https://github.com/joeytrasatti-openai)\n- [#50099](https://github.com/openai/codex/pull/50099) Add opt-in Decisions comparison for Guardian V2 [@swastik-oai](https://github.com/swastik-oai)\n- [#50105](https://github.com/openai/codex/pull/50105) Consolidate chat composer footer logic in `footer_state` [@imac-oai](https://github.com/imac-oai)\n- [#50109](https://github.com/openai/codex/pull/50109) Keep fullscreen prompts bounded and scrollable [@imac-oai](https://github.com/imac-oai)\n- [#50112](https://github.com/openai/codex/pull/50112) Centralize TUI loading glyphs and frame scheduling [@imac-oai](https://github.com/imac-oai)\n- [#50113](https://github.com/openai/codex/pull/50113) Add a native gRPC client for cloud thread resume and attach [@bc-openai](https://github.com/bc-openai)\n- [#50128](https://github.com/openai/codex/pull/50128) Expose the model selected for a running turn's next step [@sayan-oai](https://github.com/sayan-oai)\n- [#50129](https://github.com/openai/codex/pull/50129) Preserve Windows environment variables for remote MCP servers [@aidanv-oai](https://github.com/aidanv-oai)\n- [#50131](https://github.com/openai/codex/pull/50131) Add opt-in JSON diagnostics for TCP tunnels [@richardopenai](https://github.com/richardopenai)\n- [#50140](https://github.com/openai/codex/pull/50140) Use the server permission catalog for TUI permission shortcuts [@etraut-openai](https://github.com/etraut-openai)\n- [#50148](https://github.com/openai/codex/pull/50148) Add managed worktree tools to the TUI [@bc-openai](https://github.com/bc-openai)\n- [#50162](https://github.com/openai/codex/pull/50162) Bound in-flight file opens in exec-server [@anp-oai](https://github.com/anp-oai)\n- [#50166](https://github.com/openai/codex/pull/50166) Upgrade `age` to 0.12.1 and remove the obsolete advisory exception [@michaelm-openai](https://github.com/michaelm-openai)\n- [#50177](https://github.com/openai/codex/pull/50177) Enable writable file streaming in exec-server [@anp-oai](https://github.com/anp-oai)\n- [#50183](https://github.com/openai/codex/pull/50183) Add `dots` to issue labeler guidance [@etraut-openai](https://github.com/etraut-openai)\n- [#50189](https://github.com/openai/codex/pull/50189) Replace the Figma OAuth exception with Mercado Pago [@mzeng-openai](https://github.com/mzeng-openai)\n- [#50199](https://github.com/openai/codex/pull/50199) Restore the account email in `/status` after account updates [@etraut-openai](https://github.com/etraut-openai)\n- [#50200](https://github.com/openai/codex/pull/50200) Report the configured TUI mode in `codex doctor` [@etraut-openai](https://github.com/etraut-openai)\n- [#50207](https://github.com/openai/codex/pull/50207) Release stable Markdown tables into scrollback during streaming [@etraut-openai](https://github.com/etraut-openai)\n- [#50209](https://github.com/openai/codex/pull/50209) Make transcript mouse scroll speed configurable [@etraut-openai](https://github.com/etraut-openai)\n- [#50215](https://github.com/openai/codex/pull/50215) Support Ctrl+Insert for copying TUI selections [@etraut-openai](https://github.com/etraut-openai)\n- [#50216](https://github.com/openai/codex/pull/50216) Use the shared text editor for command-center task renaming [@bc-openai](https://github.com/bc-openai)\n- [#50219](https://github.com/openai/codex/pull/50219) Bound tmux option probes to one second [@etraut-openai](https://github.com/etraut-openai)\n- [#50273](https://github.com/openai/codex/pull/50273) Record Guardian V2 Decisions agreement and latency metrics [@swastik-oai](https://github.com/swastik-oai)\n- [#50339](https://github.com/openai/codex/pull/50339) Add end-to-end coverage for MCP sandbox state enforcement [@bolinfest](https://github.com/bolinfest)\n- [#50345](https://github.com/openai/codex/pull/50345) Keep the subagent picker consistent with thread archive state [@etraut-openai](https://github.com/etraut-openai)\n- [#50348](https://github.com/openai/codex/pull/50348) Back off automatic remote control reconnects with jitter [@cooper-oai](https://github.com/cooper-oai)\n- [#50354](https://github.com/openai/codex/pull/50354) Skip unrelated subtrees during config alias normalization [@btraut-openai](https://github.com/btraut-openai)\n- [#50359](https://github.com/openai/codex/pull/50359) Render ANSI styles in TUI hook system messages [@etraut-openai](https://github.com/etraut-openai)\n- [#50360](https://github.com/openai/codex/pull/50360) Remove initial messages from session configuration events [@owenlin0](https://github.com/owenlin0)\n- [#50375](https://github.com/openai/codex/pull/50375) Use printable ASCII terminal titles under GNU Screen [@imac-oai](https://github.com/imac-oai)\n- [#50380](https://github.com/openai/codex/pull/50380) Fix thread unloading after disconnect during MCP startup [@yuzhu-oai](https://github.com/yuzhu-oai)\n- [#50384](https://github.com/openai/codex/pull/50384) Allow opting into 16 KiB ARM64 code pages for macOS signing [@chess-oai](https://github.com/chess-oai)\n- [#50389](https://github.com/openai/codex/pull/50389) Honor configured keybindings before transcript navigation [@etraut-openai](https://github.com/etraut-openai)\n- [#50396](https://github.com/openai/codex/pull/50396) Honor pager bindings for transcript page keys [@bc-openai](https://github.com/bc-openai)\n- [#50402](https://github.com/openai/codex/pull/50402) Consolidate command execution output into `aggregated_output` [@owenlin0](https://github.com/owenlin0)\n- [#50416](https://github.com/openai/codex/pull/50416) Clarify Git worktree choices for new and forked conversations [@bc-openai](https://github.com/bc-openai)\n- [#50418](https://github.com/openai/codex/pull/50418) Honor Retry-After headers in failed Responses events [@anp-oai](https://github.com/anp-oai)\n- [#50427](https://github.com/openai/codex/pull/50427) Cap persisted command output in paginated history at 64 KiB [@owenlin0](https://github.com/owenlin0)\n- [#50431](https://github.com/openai/codex/pull/50431) Preserve terminal hyperlinks in agents overview previews [@bc-openai](https://github.com/bc-openai)\n- [#50433](https://github.com/openai/codex/pull/50433) Allow API-key accounts to use Daybreak in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#50434](https://github.com/openai/codex/pull/50434) Add keyboard copy selection to the owned transcript [@bc-openai](https://github.com/bc-openai)\n- [#50435](https://github.com/openai/codex/pull/50435) Persist additional tool definitions in rollout history [@pakrym-oai](https://github.com/pakrym-oai)\n- [#50437](https://github.com/openai/codex/pull/50437) Add a CLI command to uninstall the legacy Windows sandbox [@chess-oai](https://github.com/chess-oai)\n- [#50441](https://github.com/openai/codex/pull/50441) Support ordered response items in world-state context updates [@pakrym-oai](https://github.com/pakrym-oai)\n- [#50442](https://github.com/openai/codex/pull/50442) Preserve native USD amounts in thread usage responses [@asohrabi-oai](https://github.com/asohrabi-oai)\n- [#50443](https://github.com/openai/codex/pull/50443) Stabilize paused-time code-mode service tests [@seanh-oai](https://github.com/seanh-oai)\n- [#50445](https://github.com/openai/codex/pull/50445) Assert that only direct tool calls emit timing events [@seanh-oai](https://github.com/seanh-oai)\n- [#50446](https://github.com/openai/codex/pull/50446) Bundle rollout attachments into a gzip tar archive [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#50447](https://github.com/openai/codex/pull/50447) Remove the provider capability gate for tool namespaces [@pakrym-oai](https://github.com/pakrym-oai)\n- [#50454](https://github.com/openai/codex/pull/50454) Measure rollout persistence size reductions [@owenlin0](https://github.com/owenlin0)\n- [#50458](https://github.com/openai/codex/pull/50458) Truncate oversized MCP results in paginated thread history [@owenlin0](https://github.com/owenlin0)\n- [#50459](https://github.com/openai/codex/pull/50459) Add capability overrides for custom model providers [@celia-oai](https://github.com/celia-oai)\n- [#50462](https://github.com/openai/codex/pull/50462) Populate thread previews from delegated task inputs [@bc-openai](https://github.com/bc-openai)\n- [#50464](https://github.com/openai/codex/pull/50464) Add the `incremental_tools` feature flag [@pakrym-oai](https://github.com/pakrym-oai)\n- [#50465](https://github.com/openai/codex/pull/50465) Retry registry authentication outages and jitter executor reconnects [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#50467](https://github.com/openai/codex/pull/50467) Copy transcript selections as literal text while preserving rich HTML [@fcoury-oai](https://github.com/fcoury-oai)\n- [#50470](https://github.com/openai/codex/pull/50470) Account for JSON overhead when truncating MCP tool results [@owenlin0](https://github.com/owenlin0)\n- [#50472](https://github.com/openai/codex/pull/50472) Enable Ultrafast service tiers for Amazon Bedrock Astra models [@celia-oai](https://github.com/celia-oai)\n- [#50477](https://github.com/openai/codex/pull/50477) Use the app-server default output cap for TUI workspace commands [@etraut-openai](https://github.com/etraut-openai)\n- [#50480](https://github.com/openai/codex/pull/50480) Skip managed config loading for registered Windows sandbox refreshes [@zm-oai](https://github.com/zm-oai)\n- [#50499](https://github.com/openai/codex/pull/50499) Include installer stderr in daemon update failures [@etraut-openai](https://github.com/etraut-openai)\n- [#50503](https://github.com/openai/codex/pull/50503) Use Enter to accept transcript Find results and Escape to cancel [@fcoury-oai](https://github.com/fcoury-oai)\n- [#50504](https://github.com/openai/codex/pull/50504) Center TUI confirmations over their retained backdrop [@bc-openai](https://github.com/bc-openai)\n- [#50505](https://github.com/openai/codex/pull/50505) Keep Command Center selection adjacent after task removal [@bc-openai](https://github.com/bc-openai)\n- [#50507](https://github.com/openai/codex/pull/50507) Record Windows sandbox service stop diagnostics [@zm-oai](https://github.com/zm-oai)\n- [#50510](https://github.com/openai/codex/pull/50510) Require GovCloud guidance acknowledgment after Bedrock setup [@jackz100](https://github.com/jackz100)\n- [#50516](https://github.com/openai/codex/pull/50516) Add scenario coverage for remote `/compact` context preservation [@pakrym-oai](https://github.com/pakrym-oai)\n- [#50525](https://github.com/openai/codex/pull/50525) Reject unknown TUI keys in strict config validation [@etraut-openai](https://github.com/etraut-openai)\n- [#50531](https://github.com/openai/codex/pull/50531) Persist realtime transcript tails before closure without inference [@guinness-oai](https://github.com/guinness-oai)\n- [#50536](https://github.com/openai/codex/pull/50536) Keep shared MCP types stable in Code Mode exec descriptions [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#50540](https://github.com/openai/codex/pull/50540) Send incremental tool catalog updates in Responses Lite [@pakrym-oai](https://github.com/pakrym-oai)\n- [#50546](https://github.com/openai/codex/pull/50546) Keep MCP resource helpers available in code mode [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#50555](https://github.com/openai/codex/pull/50555) Skip daemon auto-start for Windows-mounted WSL homes [@etraut-openai](https://github.com/etraut-openai)\n- [#50558](https://github.com/openai/codex/pull/50558) Avoid reading the current directory when resolving absolute paths [@etraut-openai](https://github.com/etraut-openai)\n- [#50559](https://github.com/openai/codex/pull/50559) Distinguish daemon release identity from executable contents [@etraut-openai](https://github.com/etraut-openai)\n- [#50562](https://github.com/openai/codex/pull/50562) Keep Code Mode tool discovery guidance stable across catalog changes [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#50564](https://github.com/openai/codex/pull/50564) Allow transcript selection and copying while bottom modals are open [@etraut-openai](https://github.com/etraut-openai)\n- [#50687](https://github.com/openai/codex/pull/50687) Keep third-party tools deferred in strict Code Mode Only [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#50695](https://github.com/openai/codex/pull/50695) Preserve local Markdown link labels in the TUI [@bc-openai](https://github.com/bc-openai)\n- [#50700](https://github.com/openai/codex/pull/50700) Let the transport create the Windows remote-control socket directory [@etraut-openai](https://github.com/etraut-openai)\n- [#50720](https://github.com/openai/codex/pull/50720) Decode Windows Terminal's mapped Shift+Enter sequence [@bc-openai](https://github.com/bc-openai)\n- [#50727](https://github.com/openai/codex/pull/50727) Show model and reasoning effort near the top of task details [@etraut-openai](https://github.com/etraut-openai)\n- [#50741](https://github.com/openai/codex/pull/50741) Keep environment-backed tools exposed across readiness changes [@won-openai](https://github.com/won-openai)\n- [#50756](https://github.com/openai/codex/pull/50756) Show unavailable slash commands when searched in side conversations [@bc-openai](https://github.com/bc-openai)\n- [#50764](https://github.com/openai/codex/pull/50764) Allow `/archive` while a turn is running [@bc-openai](https://github.com/bc-openai)\n- [#50781](https://github.com/openai/codex/pull/50781) Restrict TUI MCP startup notifications to owned threads [@etraut-openai](https://github.com/etraut-openai)\n- [#50782](https://github.com/openai/codex/pull/50782) Retry Windows daemon release publication on transient file locks [@etraut-openai](https://github.com/etraut-openai)\n- [#50786](https://github.com/openai/codex/pull/50786) Remember Command Center grouping across launches [@bc-openai](https://github.com/bc-openai)\n- [#50788](https://github.com/openai/codex/pull/50788) Open slash commands from empty drafts in Vim Normal mode [@bc-openai](https://github.com/bc-openai)\n- [#50802](https://github.com/openai/codex/pull/50802) Fall back to mklink when Windows daemon junction updates are denied [@etraut-openai](https://github.com/etraut-openai)\n- [#50803](https://github.com/openai/codex/pull/50803) Use the managed daemon for eligible remote-control launches [@etraut-openai](https://github.com/etraut-openai)\n- [#50804](https://github.com/openai/codex/pull/50804) Preserve review lifecycle ordering on failure [@etraut-openai](https://github.com/etraut-openai)\n- [#50808](https://github.com/openai/codex/pull/50808) Prune TUI snapshots and consolidate behavior tests [@etraut-openai](https://github.com/etraut-openai)\n- [#50811](https://github.com/openai/codex/pull/50811) Honor server reasoning summary defaults in new TUI threads [@etraut-openai](https://github.com/etraut-openai)\n- [#50913](https://github.com/openai/codex/pull/50913) Use server model defaults for connected TUI fresh starts [@etraut-openai](https://github.com/etraut-openai)\n- [#50940](https://github.com/openai/codex/pull/50940) Recover malformed Windows deny-read ACL state safely [@zm-oai](https://github.com/zm-oai)\n- [#50962](https://github.com/openai/codex/pull/50962) Gate stable environment tool exposure behind a feature flag [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#50964](https://github.com/openai/codex/pull/50964) Track inference tool changes in turn analytics [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#50977](https://github.com/openai/codex/pull/50977) Isolate tracing in the strict third-party tool deferral test [@alishobeiri-oai](https://github.com/alishobeiri-oai)\n- [#51061](https://github.com/openai/codex/pull/51061) Gate Guardian continuation tests on classifier request capture [@jif-oai](https://github.com/jif-oai)\n- [#51063](https://github.com/openai/codex/pull/51063) Honor prior cancellation before starting Codex delegates [@jif-oai](https://github.com/jif-oai)\n- [#51064](https://github.com/openai/codex/pull/51064) Ignore stale refresh responses in agents overview tests [@jif-oai](https://github.com/jif-oai)\n- [#51065](https://github.com/openai/codex/pull/51065) Scope Guardian V2 response timing to snapshot sampling [@swastik-oai](https://github.com/swastik-oai)\n- [#51067](https://github.com/openai/codex/pull/51067) Use issuing-step context for Guardian MCP elicitation reviews [@jif-oai](https://github.com/jif-oai)\n- [#51070](https://github.com/openai/codex/pull/51070) Preserve trusted-tool context in Guardian Decisions requests [@swastik-oai](https://github.com/swastik-oai)\n- [#51117](https://github.com/openai/codex/pull/51117) Install full context in compaction replacement history [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51119](https://github.com/openai/codex/pull/51119) Clarify incremental tool namespace updates in Responses Lite [@akira-oai](https://github.com/akira-oai)\n- [#51126](https://github.com/openai/codex/pull/51126) Add promise settlement streaming helpers to code mode [@cconger](https://github.com/cconger)\n- [#51133](https://github.com/openai/codex/pull/51133) Allow Guardian Decisions to fall back to `OPENAI_API_KEY` [@swastik-oai](https://github.com/swastik-oai)\n- [#51137](https://github.com/openai/codex/pull/51137) Recover Guardian reviews from parent checkpoints [@felixxia-oai](https://github.com/felixxia-oai)\n- [#51139](https://github.com/openai/codex/pull/51139) Force fresh Guardian sessions for parent-checkpoint recovery [@felixxia-oai](https://github.com/felixxia-oai)\n- [#51140](https://github.com/openai/codex/pull/51140) Isolate Guardian checkpoint recovery flags per review attempt [@felixxia-oai](https://github.com/felixxia-oai)\n- [#51156](https://github.com/openai/codex/pull/51156) Send base instructions as Responses input messages [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51157](https://github.com/openai/codex/pull/51157) Enforce required environment skills before model inference [@anp-oai](https://github.com/anp-oai)\n- [#51158](https://github.com/openai/codex/pull/51158) Sign the PowerShell installer in Windows releases [@chess-oai](https://github.com/chess-oai)\n- [#51184](https://github.com/openai/codex/pull/51184) Remove obsolete Guardian thread-context enables from tests [@felixxia-oai](https://github.com/felixxia-oai)\n- [#51185](https://github.com/openai/codex/pull/51185) Retry transient gRPC code-mode session admission failures [@cassirer-openai](https://github.com/cassirer-openai)\n- [#51186](https://github.com/openai/codex/pull/51186) Prevent stable release pointers from moving backward [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#51188](https://github.com/openai/codex/pull/51188) Record base instructions in incremental tool history [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51191](https://github.com/openai/codex/pull/51191) Clean up Unix app-server control-socket startup lock files [@etraut-openai](https://github.com/etraut-openai)\n- [#51192](https://github.com/openai/codex/pull/51192) Wait for SIGCONT when resuming the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#51193](https://github.com/openai/codex/pull/51193) Test thread archiving before the first turn [@btraut-openai](https://github.com/btraut-openai)\n- [#51194](https://github.com/openai/codex/pull/51194) Add browser extension request headers to config requirements [@jn-openai](https://github.com/jn-openai)\n- [#51198](https://github.com/openai/codex/pull/51198) Allow concurrent release builds while serializing publication [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#51200](https://github.com/openai/codex/pull/51200) Upgrade Bazel to 9.2.0 and refresh the module lockfile [@anp-oai](https://github.com/anp-oai)\n- [#51202](https://github.com/openai/codex/pull/51202) Distinguish namespace removals in incremental tool updates [@akira-oai](https://github.com/akira-oai)\n- [#51203](https://github.com/openai/codex/pull/51203) Make apply\\_patch preserve line endings unconditionally [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51206](https://github.com/openai/codex/pull/51206) Record initialization analytics for resumed subagents [@peilin-openai](https://github.com/peilin-openai)\n- [#51207](https://github.com/openai/codex/pull/51207) Gate CLI Daybreak controls and selection behind an opt-in feature [@julee-oai](https://github.com/julee-oai)\n- [#51209](https://github.com/openai/codex/pull/51209) Add ranked tool discovery to JavaScript code mode [@zamoshchin-openai](https://github.com/zamoshchin-openai)\n- [#51211](https://github.com/openai/codex/pull/51211) Reject sandbox-writable bubblewrap executables from PATH [@viyatb-oai](https://github.com/viyatb-oai)\n- [#51215](https://github.com/openai/codex/pull/51215) Measure raw MCP tool catalog sizes in telemetry [@owenlin0](https://github.com/owenlin0)\n- [#51217](https://github.com/openai/codex/pull/51217) Preserve review targets and scope misalignment continuation metadata [@yunhan-wei](https://github.com/yunhan-wei)\n- [#51220](https://github.com/openai/codex/pull/51220) Honor the OTLP metrics temporality preference [@daniel-oai](https://github.com/daniel-oai)\n- [#51221](https://github.com/openai/codex/pull/51221) Separate environment requests from runtime selections [@anp-oai](https://github.com/anp-oai)\n- [#51223](https://github.com/openai/codex/pull/51223) Remove legacy personality template metadata [@rhan-oai](https://github.com/rhan-oai)\n- [#51230](https://github.com/openai/codex/pull/51230) Make session lookup pagination stable and report listing failures [@etraut-openai](https://github.com/etraut-openai)\n- [#51235](https://github.com/openai/codex/pull/51235) Remove default model labels from TUI model pickers [@etraut-openai](https://github.com/etraut-openai)\n- [#51241](https://github.com/openai/codex/pull/51241) Add a partial answer message phase [@rb-oai](https://github.com/rb-oai)\n- [#51249](https://github.com/openai/codex/pull/51249) Handle partial answers consistently across agent workflows [@rb-oai](https://github.com/rb-oai)\n- [#51253](https://github.com/openai/codex/pull/51253) Enforce Fast and Ultra Fast policies independently [@dpatel-oai](https://github.com/dpatel-oai)\n- [#51256](https://github.com/openai/codex/pull/51256) Start the Windows sandbox service during registered Core setup [@zm-oai](https://github.com/zm-oai)\n- [#51257](https://github.com/openai/codex/pull/51257) Fix installer checksum verification under Windows PowerShell [@zm-oai](https://github.com/zm-oai)\n- [#51260](https://github.com/openai/codex/pull/51260) Handle partial answers in realtime routing and thread search [@rb-oai](https://github.com/rb-oai)\n- [#51329](https://github.com/openai/codex/pull/51329) Remove partial-history subagent forks [@jif-oai](https://github.com/jif-oai)\n- [#51330](https://github.com/openai/codex/pull/51330) Measure total Guardian approval decision duration [@jif-oai](https://github.com/jif-oai)\n- [#51331](https://github.com/openai/codex/pull/51331) Track sub-agent result delivery outcomes [@jif-oai](https://github.com/jif-oai)\n- [#51332](https://github.com/openai/codex/pull/51332) Record multi-agent wait duration by outcome [@jif-oai](https://github.com/jif-oai)\n- [#51333](https://github.com/openai/codex/pull/51333) Record the multi-agent version in turn analytics [@jif-oai](https://github.com/jif-oai)\n- [#51334](https://github.com/openai/codex/pull/51334) Count Guardian denial-limit interruptions in telemetry [@jif-oai](https://github.com/jif-oai)\n- [#51335](https://github.com/openai/codex/pull/51335) Update collaboration snapshots for full-history fork instructions [@jif-oai](https://github.com/jif-oai)\n- [#51347](https://github.com/openai/codex/pull/51347) Measure shell snapshot use and wait time per command [@jif-oai](https://github.com/jif-oai)\n- [#51350](https://github.com/openai/codex/pull/51350) Allow larger shell snapshots when replaying from a file [@jif-oai](https://github.com/jif-oai)\n- [#51355](https://github.com/openai/codex/pull/51355) Add bounded diagnostics for agent spawn failures [@jif-oai](https://github.com/jif-oai)\n- [#51378](https://github.com/openai/codex/pull/51378) Keep Guardian v2 WebSocket pools warm with concurrent replenishment [@jif-oai](https://github.com/jif-oai)\n- [#51391](https://github.com/openai/codex/pull/51391) Make URLs in asynchronous question titles clickable [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51396](https://github.com/openai/codex/pull/51396) Let late low-risk scores complete pending Guardian reviews [@jif-oai](https://github.com/jif-oai)\n- [#51400](https://github.com/openai/codex/pull/51400) Prevent later Guardian scores from releasing earlier pending reviews [@jif-oai](https://github.com/jif-oai)\n- [#51402](https://github.com/openai/codex/pull/51402) Preserve turn attribution across recovery and compaction [@eddie-openai](https://github.com/eddie-openai)\n- [#51407](https://github.com/openai/codex/pull/51407) Protect ripgrep lookup during Linux sandbox construction [@viyatb-oai](https://github.com/viyatb-oai)\n- [#51411](https://github.com/openai/codex/pull/51411) Suppress repeated image paste presses in legacy terminals [@etraut-openai](https://github.com/etraut-openai)\n- [#51415](https://github.com/openai/codex/pull/51415) Expose and persist turn lineage across the app server [@eddie-openai](https://github.com/eddie-openai)\n- [#51419](https://github.com/openai/codex/pull/51419) Preserve turn attribution when queued mail wakes durable sleep [@eddie-openai](https://github.com/eddie-openai)\n- [#51420](https://github.com/openai/codex/pull/51420) Finish idle thread unloads after slow shutdown [@jif-oai](https://github.com/jif-oai)\n- [#51421](https://github.com/openai/codex/pull/51421) Include root turn IDs in host-owned Apps tool calls [@eddie-openai](https://github.com/eddie-openai)\n- [#51422](https://github.com/openai/codex/pull/51422) Accept environment requests at thread and turn settings boundaries [@anp-oai](https://github.com/anp-oai)\n- [#51425](https://github.com/openai/codex/pull/51425) Skip stable installer alias publishing for prereleases [@zsol-openai](https://github.com/zsol-openai)\n- [#51426](https://github.com/openai/codex/pull/51426) Remove the Bazel JVM override for Windows ARM64 voice builds [@anp-oai](https://github.com/anp-oai)\n- [#51427](https://github.com/openai/codex/pull/51427) Prevent invalidated wakeups from starting a turn [@jif-oai](https://github.com/jif-oai)\n- [#51433](https://github.com/openai/codex/pull/51433) Show hook status messages as titles in the hooks browser [@abhinav-oai](https://github.com/abhinav-oai)\n- [#51439](https://github.com/openai/codex/pull/51439) Preserve clickable URLs in TUI approval headers [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51440](https://github.com/openai/codex/pull/51440) Honor Retry-After in WebSocket error events [@anp-oai](https://github.com/anp-oai)\n- [#51441](https://github.com/openai/codex/pull/51441) Fix core integration tests for updated turn APIs [@anp-oai](https://github.com/anp-oai)\n- [#51449](https://github.com/openai/codex/pull/51449) Make URLs clickable in TUI user input questions [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51450](https://github.com/openai/codex/pull/51450) Make URLs clickable in MCP elicitation prompts [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51451](https://github.com/openai/codex/pull/51451) Make URLs in the TUI warnings viewer clickable [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51452](https://github.com/openai/codex/pull/51452) Make banner URLs clickable across wrapped lines [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51457](https://github.com/openai/codex/pull/51457) Preserve status usage hyperlinks when the URL wraps [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51458](https://github.com/openai/codex/pull/51458) Make URLs clickable in user verification prompts [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51459](https://github.com/openai/codex/pull/51459) Preserve wrapped help links in Windows sandbox prompts [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51460](https://github.com/openai/codex/pull/51460) Retry realtime sideband attachment while an existing call activates [@bullman-oai](https://github.com/bullman-oai)\n- [#51463](https://github.com/openai/codex/pull/51463) Record resolved model and reasoning effort in sub-agent activity [@sdcoffey](https://github.com/sdcoffey)\n- [#51465](https://github.com/openai/codex/pull/51465) Add an optional JSON transcript format for Guardian [@felixxia-oai](https://github.com/felixxia-oai)\n- [#51466](https://github.com/openai/codex/pull/51466) Keep Guardian transcript records structured through budget recovery [@felixxia-oai](https://github.com/felixxia-oai)\n- [#51467](https://github.com/openai/codex/pull/51467) Keep submission logs useful without exposing payloads [@chess-oai](https://github.com/chess-oai)\n- [#51470](https://github.com/openai/codex/pull/51470) Raise the managed app-server file descriptor limit on Unix [@etraut-openai](https://github.com/etraut-openai)\n- [#51471](https://github.com/openai/codex/pull/51471) Preserve clickable URLs in pending input previews [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51472](https://github.com/openai/codex/pull/51472) Preserve clickable URLs in TUI selection rows [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51473](https://github.com/openai/codex/pull/51473) Preserve URL destinations in wrapped hook details [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51480](https://github.com/openai/codex/pull/51480) Preserve tool declaration mode across resumed context windows [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51482](https://github.com/openai/codex/pull/51482) Use PathUri for skill identity and path matching [@anp-oai](https://github.com/anp-oai)\n- [#51483](https://github.com/openai/codex/pull/51483) Add correlated, credential-free rendezvous connection diagnostics [@alexi-openai](https://github.com/alexi-openai)\n- [#51491](https://github.com/openai/codex/pull/51491) Classify executor capability root ownership independently of parsing [@stevenlee-oai](https://github.com/stevenlee-oai)\n- [#51492](https://github.com/openai/codex/pull/51492) Remove obsolete fields from persisted turn context [@pakrym-oai](https://github.com/pakrym-oai)\n- [#51493](https://github.com/openai/codex/pull/51493) Bind capability roots to environment selections [@anp-oai](https://github.com/anp-oai)\n- [#51499](https://github.com/openai/codex/pull/51499) Load rollout history on a single blocking worker [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#51500](https://github.com/openai/codex/pull/51500) Add shared task pinning to the agent command center [@etraut-openai](https://github.com/etraut-openai)\n- [#51502](https://github.com/openai/codex/pull/51502) Bound relay connection attempts and handle pongs during blocked writes [@alexi-openai](https://github.com/alexi-openai)\n- [#51503](https://github.com/openai/codex/pull/51503) Expose selected environments to MCP contributors [@mtsui-oai](https://github.com/mtsui-oai)\n- [#51510](https://github.com/openai/codex/pull/51510) Preserve live TUI settings when configuration reloads fail [@imac-oai](https://github.com/imac-oai)\n- [#51511](https://github.com/openai/codex/pull/51511) Fix Windows 10 drive-letter opens for no-follow filesystem operations [@zm-oai](https://github.com/zm-oai)\n- [#51512](https://github.com/openai/codex/pull/51512) Align Windows sandbox temp permissions with the child environment [@zm-oai](https://github.com/zm-oai)\n- [#51515](https://github.com/openai/codex/pull/51515) Expose detailed agent tree shutdown failure reports [@keitht-openai](https://github.com/keitht-openai)\n- [#51517](https://github.com/openai/codex/pull/51517) Pass thread persistence intent to attachment uploads [@kchainani-oai](https://github.com/kchainani-oai)\n- [#51525](https://github.com/openai/codex/pull/51525) Preserve the CLI MXC preference in executor config reads [@zm-oai](https://github.com/zm-oai)\n- [#51527](https://github.com/openai/codex/pull/51527) Ignore ripgrep configuration when expanding sandbox deny globs [@viyatb-oai](https://github.com/viyatb-oai)","publishedAt":"2026-10-08T00:00:00.000Z","fetchedAt":"2026-10-08T22:23:49.616Z","url":"https://developers.openai.com/codex/changelog/#github-release-407151970","media":[],"coverageCount":0},{"id":"rel_9h7YMZ0eq2t0nfGy3INuD","version":"6.1","type":"feature","title":"GPT-6.1 Sol Ultrafast in Codex and ChatGPT Work","summary":"Ultrafast mode speeds up token generation with GPT-6.1 Sol in Codex and ChatGPT Work, available on Pro $500 and eligible Enterprise and Edu plans. Enterprise access is off by default and workspace owners must enable it; inference residency is supported in the United States and Europe (EEA + Switzerland).","titleGenerated":"OpenAI launches GPT-6.1 Sol Ultrafast mode in Codex and ChatGPT Work","titleShort":"GPT-6.1 Sol Ultrafast mode launches in Codex","breaking":"none","importance":4,"content":"# GPT-6.1 Sol Ultrafast in Codex and ChatGPT Work\n\nUltrafast mode speeds up token generation with GPT-6.1 Sol in Codex and\nChatGPT Work.\n\nUltrafast is available on Pro $500 and eligible Enterprise and Edu plans.\nEnterprise access is off by default; workspace owners must enable it.\nGPT-6.1 Sol Ultrafast supports inference residency in the United States and\nEurope (EEA + Switzerland).\n\nSee [Ultrafast mode](/codex/agent-configuration/speed#ultrafast-mode) for plan\nand workspace requirements, [Models](/codex/models#gpt-61-sol) for model\nguidance, and [Pricing](/codex/pricing) for usage and credit rates.","publishedAt":"2026-10-08T00:00:00.000Z","fetchedAt":"2026-10-08T18:21:26.805Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-08-gpt-61-sol-ultrafast","media":[],"coverageCount":0},{"id":"rel_wwAfxBdn7APNdzAxXX0dE","version":null,"type":"feature","title":"Codex app","summary":"Fixed Windows sandbox refresh failures after app updates and worktree creation and chat forking for WSL repositories whose paths conflicted with Windows directories. Also keeps the recent chats section collapsed when switching between chats, and Remove from section now unpins the chat from its sidebar section.","titleGenerated":"Codex app fixes Windows sandbox refresh and WSL worktree paths","titleShort":"Windows sandbox refresh fixed; WSL worktree paths resolved","breaking":"none","importance":2,"content":"# Codex app\n\n### Performance improvements and bug fixes\n\n- Fixed Windows sandbox refresh failures after app updates.\n- Fixed worktree creation and chat forking for WSL repositories whose paths\n  conflicted with Windows directories.\n- Kept the recent chats section collapsed when switching between chats.\n- Fixed **Remove from section** so it removes a chat from its sidebar section\n  without pinning it.","publishedAt":"2026-10-07T00:00:00.000Z","fetchedAt":"2026-10-15T11:21:24.600Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-07-app","media":[],"coverageCount":0},{"id":"rel_wlcujKFPGG_DglqE5YJhG","version":"0.161.0","type":"feature","title":"Codex CLI Release: 0.161.0","summary":"GPT-6.1 Sol is now the default model in the bundled and Amazon Bedrock catalogs, and Daybreak is now opt-in via --enable cli_daybreak or features.cli_daybreak=true, with controls, indicators, and /daybreak hidden and automatic Cyber routing omitted by default. Also added /mcp login &lt;name&gt; for signing in to MCP servers, per-turn Cyber access program selection via codex exec --cyber-access-program, and voice input/output device selection with locally saved preferences.","titleGenerated":"Codex CLI 0.161.0 makes GPT-6.1 Sol the default model and makes Daybreak opt-in","titleShort":"GPT-6.1 Sol now default; Daybreak now opt-in","breaking":"major","importance":4,"content":"## New Features\n\n- GPT-6.1 Sol is now the default model in the bundled and Amazon Bedrock catalogs. ([#49318](https://github.com/openai/codex/pull/49318), [#49339](https://github.com/openai/codex/pull/49339))\n- Amazon Bedrock supports multi-agent V2 and Ultra reasoning on compatible models; Bedrock Mantle also accepts AWS GovCloud regions. ([#49345](https://github.com/openai/codex/pull/49345), [#49813](https://github.com/openai/codex/pull/49813))\n- Sign in to MCP servers from an active terminal session with `/mcp login <name>`. ([#49290](https://github.com/openai/codex/pull/49290))\n- Choose your microphone, speaker, and microphone input channels for voice conversations, with preferences saved locally. ([#49437](https://github.com/openai/codex/pull/49437), [#49836](https://github.com/openai/codex/pull/49836))\n- Daybreak is opt-in through `--enable cli_daybreak` or `features.cli_daybreak=true`; `daybreak=true` alone is insufficient. By default, controls and indicators are hidden, `/daybreak` is unavailable, and automatic Cyber routing is omitted—even for saved Daybreak threads. Saved preferences remain intact. Opt-in routing requires eligible ChatGPT sign-in, the OpenAI provider, and advertised model/program support. ([#49856](https://github.com/openai/codex/pull/49856), [#49858](https://github.com/openai/codex/pull/49858), [#49859](https://github.com/openai/codex/pull/49859), [#49861](https://github.com/openai/codex/pull/49861), [#51207](https://github.com/openai/codex/pull/51207))\n- Select a Cyber access program per turn with `codex exec --cyber-access-program` or the TypeScript SDK’s `cyberAccessProgram` option. The explicit exec override remains available with `cli_daybreak` disabled and leaves the saved choice unchanged. ([#49939](https://github.com/openai/codex/pull/49939), [#51207](https://github.com/openai/codex/pull/51207))\n\n## Bug Fixes\n\n- Approved filesystem escalation can now grant broader write access while preserving denied reads and network restrictions. Background tasks retain their originating turn’s permissions. ([#49353](https://github.com/openai/codex/pull/49353), [#49880](https://github.com/openai/codex/pull/49880))\n- Explicit launch permissions survive terminal reconnects and new sessions, while implicit client settings no longer overwrite server or saved-thread web-search settings. ([#49809](https://github.com/openai/codex/pull/49809), [#49799](https://github.com/openai/codex/pull/49799))\n- Elevated Windows terminal sessions can start using an embedded server, and sandboxed PowerShell preserves relative paths beneath protected user profiles. ([#49855](https://github.com/openai/codex/pull/49855), [#49690](https://github.com/openai/codex/pull/49690))\n- Enter correctly submits buffered input after paste detection expires, including in Vim insert mode. ([#49810](https://github.com/openai/codex/pull/49810))\n- Thread resume includes the latest committed history. Startup detects recoverable SQLite corruption earlier and preserves damaged databases as backups. ([#49599](https://github.com/openai/codex/pull/49599), [#49701](https://github.com/openai/codex/pull/49701))\n- Responses retries and WebSocket-to-HTTP fallback honor server retry guidance, reducing premature failures during overload. ([#49441](https://github.com/openai/codex/pull/49441))\n\n## Documentation\n\n- Authentication guidance now accounts for keyring storage instead of implying credentials always reside in `auth.json`. ([#49361](https://github.com/openai/codex/pull/49361))\n\n## Chores\n\n- Publishing an older alpha or hotfix no longer moves npm alpha tags backward. ([#49704](https://github.com/openai/codex/pull/49704))\n\n## Changelog\n\nFull Changelog: [rust-v0.160.0...rust-v0.161.0](https://github.com/openai/codex/compare/rust-v0.160.0...rust-v0.161.0)\n\n- [#49246](https://github.com/openai/codex/pull/49246) Use executable fixture copying in the bundled bwrap test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49257](https://github.com/openai/codex/pull/49257) Allow Guardian cached approvals with incomplete root context [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49260](https://github.com/openai/codex/pull/49260) Restrict enterprise MCP auth and fail closed on config refresh [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49261](https://github.com/openai/codex/pull/49261) Preserve Windows sandbox runner launch errors [@zm-oai](https://github.com/zm-oai)\n- [#49262](https://github.com/openai/codex/pull/49262) Trace turn phases and correlate accepted input with turns [@jif-oai](https://github.com/jif-oai)\n- [#49266](https://github.com/openai/codex/pull/49266) Remove the remote agent message board client README [@jif-oai](https://github.com/jif-oai)\n- [#49267](https://github.com/openai/codex/pull/49267) Support remote agent message boards in multi-agent sessions [@jif-oai](https://github.com/jif-oai)\n- [#49269](https://github.com/openai/codex/pull/49269) Preserve thread overrides and cloud policy validity during config reloads [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49275](https://github.com/openai/codex/pull/49275) Isolate realtime conversation tests from Responses prewarm connections [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49276](https://github.com/openai/codex/pull/49276) Enable enterprise MCP sign-in and account-scoped grant cleanup [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49277](https://github.com/openai/codex/pull/49277) Avoid a turn teardown race in the Guardian agent message test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49280](https://github.com/openai/codex/pull/49280) Restrict capability roots to captured turn environments [@miz-openai](https://github.com/miz-openai)\n- [#49286](https://github.com/openai/codex/pull/49286) Model exec-server session attachment state as an enum [@jif-oai](https://github.com/jif-oai)\n- [#49290](https://github.com/openai/codex/pull/49290) Add `/mcp login <name>` to the TUI [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49294](https://github.com/openai/codex/pull/49294) Record Guardian context mode in review and classification telemetry [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49295](https://github.com/openai/codex/pull/49295) Simplify configuration fingerprint canonicalization [@jif-oai](https://github.com/jif-oai)\n- [#49297](https://github.com/openai/codex/pull/49297) Scan the session index backwards for batch thread name lookups [@jif-oai](https://github.com/jif-oai)\n- [#49300](https://github.com/openai/codex/pull/49300) Compact the inline hidden tag buffer once per chunk [@jif-oai](https://github.com/jif-oai)\n- [#49305](https://github.com/openai/codex/pull/49305) Batch metadata reads when resolving thread names [@jif-oai](https://github.com/jif-oai)\n- [#49308](https://github.com/openai/codex/pull/49308) Run piped legacy Windows sandbox processes without a console [@etraut-openai](https://github.com/etraut-openai)\n- [#49312](https://github.com/openai/codex/pull/49312) Notify parent agents when Guardian stops a subagent [@jif-oai](https://github.com/jif-oai)\n- [#49316](https://github.com/openai/codex/pull/49316) Bump taiki-e/install-action to v2.87.21 in CI setup [@jgershen-oai](https://github.com/jgershen-oai)\n- [#49318](https://github.com/openai/codex/pull/49318) Add GPT-6.1 Sol as the default catalog model [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#49325](https://github.com/openai/codex/pull/49325) Retry Windows sandbox runner logon once on error 1056 [@zm-oai](https://github.com/zm-oai)\n- [#49330](https://github.com/openai/codex/pull/49330) Keep remote control reconnect backoff capped during sustained failures [@yansenzhou-oai](https://github.com/yansenzhou-oai)\n- [#49332](https://github.com/openai/codex/pull/49332) Clean up canceled exec-server RPC requests immediately [@jif-oai](https://github.com/jif-oai)\n- [#49339](https://github.com/openai/codex/pull/49339) Add GPT-6.1 Sol to Bedrock catalogs and make it the default [@celia-oai](https://github.com/celia-oai)\n- [#49345](https://github.com/openai/codex/pull/49345) Enable multi-agent V2 and Ultra reasoning on Amazon Bedrock [@celia-oai](https://github.com/celia-oai)\n- [#49353](https://github.com/openai/codex/pull/49353) Allow approved filesystem escalation while preserving denied reads [@viyatb-oai](https://github.com/viyatb-oai)\n- [#49357](https://github.com/openai/codex/pull/49357) Continue Markdown blockquotes when pasting multiline text [@bc-openai](https://github.com/bc-openai)\n- [#49360](https://github.com/openai/codex/pull/49360) Carry shell invocation metadata and report executor PATH directories [@anp-oai](https://github.com/anp-oai)\n- [#49361](https://github.com/openai/codex/pull/49361) Clarify credential storage wording across authentication UI and docs [@celia-oai](https://github.com/celia-oai)\n- [#49369](https://github.com/openai/codex/pull/49369) Update Bedrock GPT-6 Sol catalog tests to expect multi-agent V2 [@celia-oai](https://github.com/celia-oai)\n- [#49379](https://github.com/openai/codex/pull/49379) Compile hook matchers during discovery [@jif-oai](https://github.com/jif-oai)\n- [#49384](https://github.com/openai/codex/pull/49384) Track credential storage outcomes and redact sensitive errors [@celia-oai](https://github.com/celia-oai)\n- [#49388](https://github.com/openai/codex/pull/49388) Fix Windows path inference for opaque URIs with slash prefixes [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49389](https://github.com/openai/codex/pull/49389) Serialize tests that share Windows sandbox accounts [@jgershen-oai](https://github.com/jgershen-oai)\n- [#49392](https://github.com/openai/codex/pull/49392) Add attributed MCP OAuth credential storage telemetry [@celia-oai](https://github.com/celia-oai)\n- [#49395](https://github.com/openai/codex/pull/49395) Remove randomized greetings from TUI session headers [@etraut-openai](https://github.com/etraut-openai)\n- [#49401](https://github.com/openai/codex/pull/49401) Preserve live tool-call metadata across request windows [@ningyi-oai](https://github.com/ningyi-oai)\n- [#49403](https://github.com/openai/codex/pull/49403) Add an experimental flag for bundled tools in login shells [@anp-oai](https://github.com/anp-oai)\n- [#49406](https://github.com/openai/codex/pull/49406) Support explicit cyber access programs with OpenAI API keys [@julee-oai](https://github.com/julee-oai)\n- [#49407](https://github.com/openai/codex/pull/49407) Recover exec-server sessions after environment info timeouts [@vivi](https://github.com/vivi)\n- [#49408](https://github.com/openai/codex/pull/49408) Compare tool call metadata in the recorder refresh test [@euroelessar](https://github.com/euroelessar)\n- [#49411](https://github.com/openai/codex/pull/49411) Bind the app-server time provider to a local variable [@euroelessar](https://github.com/euroelessar)\n- [#49414](https://github.com/openai/codex/pull/49414) Filter graceful shutdown guard and trigger traces from SQLite logs [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49415](https://github.com/openai/codex/pull/49415) Truncate input text in protocol debug output [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49416](https://github.com/openai/codex/pull/49416) Omit payloads from multiline ANSI warnings [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49424](https://github.com/openai/codex/pull/49424) Infer Windows UNC paths with forward and mixed slashes [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49425](https://github.com/openai/codex/pull/49425) Prune diagnostic logs periodically by age and database size [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49426](https://github.com/openai/codex/pull/49426) Enable analytics by default for daemon-launched app servers [@bc-openai](https://github.com/bc-openai)\n- [#49432](https://github.com/openai/codex/pull/49432) Preserve bootstrap discovery across authentication changes [@cooper-oai](https://github.com/cooper-oai)\n- [#49437](https://github.com/openai/codex/pull/49437) Add local audio device selection to TUI voice settings [@bc-openai](https://github.com/bc-openai)\n- [#49441](https://github.com/openai/codex/pull/49441) Honor server retry advice across Responses retries and fallback [@anp-oai](https://github.com/anp-oai)\n- [#49444](https://github.com/openai/codex/pull/49444) Use `memrchr` to find newlines in reverse JSONL scans [@btraut-openai](https://github.com/btraut-openai)\n- [#49467](https://github.com/openai/codex/pull/49467) Restore executor tool paths after login shell startup [@anp-oai](https://github.com/anp-oai)\n- [#49472](https://github.com/openai/codex/pull/49472) Use server-authoritative permissions in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49473](https://github.com/openai/codex/pull/49473) Use the rmcp SDK for enterprise-managed token exchanges [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49475](https://github.com/openai/codex/pull/49475) Complete turn abort callbacks before emitting terminal events [@euroelessar](https://github.com/euroelessar)\n- [#49478](https://github.com/openai/codex/pull/49478) Discover and validate MCP authorization servers before ID-JAG exchange [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49480](https://github.com/openai/codex/pull/49480) Add experimental thread prediction protocol types [@keyz](https://github.com/keyz)\n- [#49489](https://github.com/openai/codex/pull/49489) Add regression coverage for account switches between analytics batches [@anp-oai](https://github.com/anp-oai)\n- [#49517](https://github.com/openai/codex/pull/49517) Add a fork shortcut to the TUI command center [@etraut-openai](https://github.com/etraut-openai)\n- [#49560](https://github.com/openai/codex/pull/49560) Add an opt-in model catalog to multi-agent context [@jif-oai](https://github.com/jif-oai)\n- [#49564](https://github.com/openai/codex/pull/49564) Copy selected file paths as plain text in the TUI [@fcoury-oai](https://github.com/fcoury-oai)\n- [#49584](https://github.com/openai/codex/pull/49584) Skip host skill discovery for Guardian reviews [@jif-oai](https://github.com/jif-oai)\n- [#49595](https://github.com/openai/codex/pull/49595) Make the strict network approval test independent of request order [@jif-oai](https://github.com/jif-oai)\n- [#49598](https://github.com/openai/codex/pull/49598) Persist explicit user goal edits in model history [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49599](https://github.com/openai/codex/pull/49599) Return authoritative replay history when resuming a thread [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49600](https://github.com/openai/codex/pull/49600) Reuse unchanged history snapshots when resuming threads [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49624](https://github.com/openai/codex/pull/49624) Use server authentication for explicit remote session commands [@cooper-oai](https://github.com/cooper-oai)\n- [#49642](https://github.com/openai/codex/pull/49642) Allow managed requirements to disable the Windows MXC sandbox [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#49675](https://github.com/openai/codex/pull/49675) Serialize Responses routing fields before large inputs [@jbeckwith-oai](https://github.com/jbeckwith-oai)\n- [#49678](https://github.com/openai/codex/pull/49678) Escape command drafts when recovering question answers [@imac-oai](https://github.com/imac-oai)\n- [#49683](https://github.com/openai/codex/pull/49683) Add a managed feature gate for in-app voice [@vishnu-oai](https://github.com/vishnu-oai)\n- [#49686](https://github.com/openai/codex/pull/49686) Deliver remote message board notifications to active turns [@jif-oai](https://github.com/jif-oai)\n- [#49689](https://github.com/openai/codex/pull/49689) Export skill invocation events through OpenTelemetry [@jif-oai](https://github.com/jif-oai)\n- [#49690](https://github.com/openai/codex/pull/49690) Preserve PowerShell relative paths in the elevated Windows sandbox [@johnl-oai](https://github.com/johnl-oai)\n- [#49692](https://github.com/openai/codex/pull/49692) Keep compressed rollout snippet searches on one blocking worker [@npancha-openai](https://github.com/npancha-openai)\n- [#49693](https://github.com/openai/codex/pull/49693) Move thread history projection into one blocking task [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#49694](https://github.com/openai/codex/pull/49694) Batch rollout listing scans on cancellable blocking workers [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#49696](https://github.com/openai/codex/pull/49696) Make exec-server file reads cancellable between chunks [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#49701](https://github.com/openai/codex/pull/49701) Detect SQLite corruption during startup and preserve recovery backups [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49702](https://github.com/openai/codex/pull/49702) Rename exec-server file handle management identifiers [@anp-oai](https://github.com/anp-oai)\n- [#49704](https://github.com/openai/codex/pull/49704) Prevent npm alpha dist-tags from moving backward [@imac-oai](https://github.com/imac-oai)\n- [#49706](https://github.com/openai/codex/pull/49706) Upgrade the argument comment lint toolchain and Dylint [@tamird](https://github.com/tamird)\n- [#49708](https://github.com/openai/codex/pull/49708) Move session index I/O off async runtime threads [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#49710](https://github.com/openai/codex/pull/49710) Classify SQLite corruption using typed error codes [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49712](https://github.com/openai/codex/pull/49712) Avoid full-string scans in token-budget truncation [@jif-oai](https://github.com/jif-oai)\n- [#49713](https://github.com/openai/codex/pull/49713) Remove repository-local Codex guidance, skills, and environment config [@anp-oai](https://github.com/anp-oai)\n- [#49714](https://github.com/openai/codex/pull/49714) Decouple API-key cyber access programs from model discovery [@julee-oai](https://github.com/julee-oai)\n- [#49715](https://github.com/openai/codex/pull/49715) Add account security setup reminders to the TUI [@dennyku](https://github.com/dennyku)\n- [#49778](https://github.com/openai/codex/pull/49778) Define exec-server protocol types for streamed file writes [@anp-oai](https://github.com/anp-oai)\n- [#49781](https://github.com/openai/codex/pull/49781) Include the environment's MXC backend in MCP sandbox metadata [@zm-oai](https://github.com/zm-oai)\n- [#49782](https://github.com/openai/codex/pull/49782) Clean up process groups for failed shell snapshot captures [@jif-oai](https://github.com/jif-oai)\n- [#49783](https://github.com/openai/codex/pull/49783) Preserve background thread requests when forking in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49784](https://github.com/openai/codex/pull/49784) Add a requirements feature gate for the browser annotation API [@tepman-oai](https://github.com/tepman-oai)\n- [#49785](https://github.com/openai/codex/pull/49785) Persist empty paginated threads when naming them [@rd-oai](https://github.com/rd-oai)\n- [#49786](https://github.com/openai/codex/pull/49786) Clarify V2 spawn model override guidance for context catalogs [@jif-oai](https://github.com/jif-oai)\n- [#49787](https://github.com/openai/codex/pull/49787) Remove `AGENTS.md` from Bazel core test data [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#49792](https://github.com/openai/codex/pull/49792) Add retained conversation support to Guardian async sampling [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49793](https://github.com/openai/codex/pull/49793) Add conversation mode to Guardian v2 async classification [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49795](https://github.com/openai/codex/pull/49795) Avoid duplicate sync reviews in Guardian classifier continuations [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49796](https://github.com/openai/codex/pull/49796) Deduplicate Guardian retained-context omission notices [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49798](https://github.com/openai/codex/pull/49798) Share cached exec-server environment info with Arc [@anp-oai](https://github.com/anp-oai)\n- [#49799](https://github.com/openai/codex/pull/49799) Preserve server web-search settings in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49800](https://github.com/openai/codex/pull/49800) Allow cleanup of replay-only side conversations with missing threads [@bc-openai](https://github.com/bc-openai)\n- [#49801](https://github.com/openai/codex/pull/49801) Update the Rust toolchain action for argument-comment linting [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#49804](https://github.com/openai/codex/pull/49804) Use platform-specific modifier labels in TUI shortcut hints [@bc-openai](https://github.com/bc-openai)\n- [#49805](https://github.com/openai/codex/pull/49805) Add capability-gated writable file streams to the exec-server client [@anp-oai](https://github.com/anp-oai)\n- [#49806](https://github.com/openai/codex/pull/49806) Accept unknown Codex error variants in the app-server protocol [@anp-oai](https://github.com/anp-oai)\n- [#49807](https://github.com/openai/codex/pull/49807) Enable API-key model discovery by default [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#49809](https://github.com/openai/codex/pull/49809) Preserve local launch permissions across TUI sessions and reconnects [@etraut-openai](https://github.com/etraut-openai)\n- [#49810](https://github.com/openai/codex/pull/49810) Flush expired paste bursts before handling Enter [@bc-openai](https://github.com/bc-openai)\n- [#49811](https://github.com/openai/codex/pull/49811) Handle unsupported `fs/writeBlock` requests in exec-server [@anp-oai](https://github.com/anp-oai)\n- [#49812](https://github.com/openai/codex/pull/49812) Move shadow skill ranking off the turn preparation path [@vkg-oai](https://github.com/vkg-oai)\n- [#49813](https://github.com/openai/codex/pull/49813) Support AWS GovCloud regions for Amazon Bedrock Mantle [@alexsong-oai](https://github.com/alexsong-oai)\n- [#49814](https://github.com/openai/codex/pull/49814) Add coordinated shutdown for local agent trees [@owenlin0](https://github.com/owenlin0)\n- [#49816](https://github.com/openai/codex/pull/49816) Remove browser-open success messages from the TUI [@bc-openai](https://github.com/bc-openai)\n- [#49817](https://github.com/openai/codex/pull/49817) Add an advisory Bedrock GovCloud requirements check [@alexsong-oai](https://github.com/alexsong-oai)\n- [#49818](https://github.com/openai/codex/pull/49818) Use dedicated parameters for sandboxed file opens [@anp-oai](https://github.com/anp-oai)\n- [#49819](https://github.com/openai/codex/pull/49819) Recover daemon startup and updater re-exec after cwd deletion [@etraut-openai](https://github.com/etraut-openai)\n- [#49822](https://github.com/openai/codex/pull/49822) Box the resume future in the agents overview permissions test [@sayan-oai](https://github.com/sayan-oai)\n- [#49835](https://github.com/openai/codex/pull/49835) Clarify service tier default save errors in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49836](https://github.com/openai/codex/pull/49836) Allow microphone channel selection for voice conversations [@bc-openai](https://github.com/bc-openai)\n- [#49843](https://github.com/openai/codex/pull/49843) Preserve daemon diagnostics and include updater logs in reports [@etraut-openai](https://github.com/etraut-openai)\n- [#49846](https://github.com/openai/codex/pull/49846) Capture host-supplied extension data for each turn [@sayan-oai](https://github.com/sayan-oai)\n- [#49847](https://github.com/openai/codex/pull/49847) Persist world-state snapshots alongside rendered context [@pakrym-oai](https://github.com/pakrym-oai)\n- [#49850](https://github.com/openai/codex/pull/49850) Launch Windows daemon children in a dedicated working directory [@etraut-openai](https://github.com/etraut-openai)\n- [#49852](https://github.com/openai/codex/pull/49852) Improve diagnostics for report attachment failures [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49855](https://github.com/openai/codex/pull/49855) Use embedded mode for elevated Windows TUI sessions [@etraut-openai](https://github.com/etraut-openai)\n- [#49856](https://github.com/openai/codex/pull/49856) Support Daybreak selection in `codex exec` [@etraut-openai](https://github.com/etraut-openai)\n- [#49857](https://github.com/openai/codex/pull/49857) Use the model catalog to select TUI cyber refusal guidance [@etraut-openai](https://github.com/etraut-openai)\n- [#49858](https://github.com/openai/codex/pull/49858) Add a persistent `/daybreak` toggle to the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49859](https://github.com/openai/codex/pull/49859) Honor Daybreak settings in TUI continuations and background tasks [@etraut-openai](https://github.com/etraut-openai)\n- [#49861](https://github.com/openai/codex/pull/49861) Add Daybreak state to the status line and terminal title [@etraut-openai](https://github.com/etraut-openai)\n- [#49867](https://github.com/openai/codex/pull/49867) Update elevated-launch warning snapshot to use `⌃o` for copy [@etraut-openai](https://github.com/etraut-openai)\n- [#49874](https://github.com/openai/codex/pull/49874) Point usage and credit links to ChatGPT settings [@etraut-openai](https://github.com/etraut-openai)\n- [#49875](https://github.com/openai/codex/pull/49875) Decouple TUI startup presentation from execution configuration [@etraut-openai](https://github.com/etraut-openai)\n- [#49876](https://github.com/openai/codex/pull/49876) Remove personality plumbing from the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49880](https://github.com/openai/codex/pull/49880) Bind permission grants to the originating turn [@anp-oai](https://github.com/anp-oai)\n- [#49894](https://github.com/openai/codex/pull/49894) Return world-state snapshots and context updates together [@pakrym-oai](https://github.com/pakrym-oai)\n- [#49898](https://github.com/openai/codex/pull/49898) Scope extension filesystem access to callback permissions [@anp-oai](https://github.com/anp-oai)\n- [#49910](https://github.com/openai/codex/pull/49910) Preserve validation errors for invalid TUI keybindings [@etraut-openai](https://github.com/etraut-openai)\n- [#49912](https://github.com/openai/codex/pull/49912) Respect approval policies in temporary structured threads [@etraut-openai](https://github.com/etraut-openai)\n- [#49939](https://github.com/openai/codex/pull/49939) Add per-turn Cyber access program selection to exec and the SDK [@mldangelo-oai](https://github.com/mldangelo-oai)\n- [#49946](https://github.com/openai/codex/pull/49946) Prevent stale file search results from being labeled with a new query [@jif-oai](https://github.com/jif-oai)\n- [#49951](https://github.com/openai/codex/pull/49951) Include preceding assistant context in Guardian sender reviews [@jif-oai](https://github.com/jif-oai)\n- [#49956](https://github.com/openai/codex/pull/49956) Cache the placeholder regex for MCP hook argument expansion [@jif-oai](https://github.com/jif-oai)\n- [#49959](https://github.com/openai/codex/pull/49959) Test session index thread-name append and removal [@jif-oai](https://github.com/jif-oai)\n- [#49972](https://github.com/openai/codex/pull/49972) Share byte buffers across exec-server output chunks [@jif-oai](https://github.com/jif-oai)\n- [#49987](https://github.com/openai/codex/pull/49987) Add renewable EMA HTTP authentication and credential versioning [@nicksteele-oai](https://github.com/nicksteele-oai)\n- [#49993](https://github.com/openai/codex/pull/49993) Preserve the async Guardian history prefix as retained context changes [@felixxia-oai](https://github.com/felixxia-oai)","publishedAt":"2026-10-07T00:00:00.000Z","fetchedAt":"2026-10-08T10:16:41.773Z","url":"https://developers.openai.com/codex/changelog/#github-release-405921402","media":[],"coverageCount":0},{"id":"rel_Xad98PCgu52jtm0t4he4J","version":null,"type":"feature","title":"ChatGPT for iOS","summary":"Page previews now render inline in responses, and Codex task links can be opened directly on iOS. The approval picker is redesigned with clearer permission choices, plugins are reachable from a single Plugins entry in the composer's plus menu, and worktree support now matches the checkout used on desktop.","titleGenerated":"Codex for iOS adds inline page previews and direct task link opening","titleShort":"Inline page previews; Codex task links open on iOS","breaking":"none","importance":3,"content":"# ChatGPT for iOS\n\n### New features\n\n- Page previews now appear inline in responses.\n- Added support for opening Codex task links directly on iOS.\n\n### Improvements and bug fixes\n\n- Redesigned the approval picker with clearer permission choices.\n- Find plugins from a single Plugins entry in the composer's plus menu.\n- Faster streaming in long threads, with fewer freezes.\n- New tasks keep your selected computer while it reconnects or is offline.\n- Improved worktree support so files and changes match the checkout used on desktop.\n- Fixed task lists remaining empty after connecting.\n- Smoother keyboard transitions when starting tasks and swiping back.\n- Status updates no longer appear as questions that need an answer.\n- Clearer manual pairing code entry, including support for pasting formatted codes.","publishedAt":"2026-10-07T00:00:00.000Z","fetchedAt":"2026-10-07T14:04:44.918Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-07-mobile","media":[],"coverageCount":0},{"id":"rel_1jYyU6qCXG7DFXRAimnYg","version":"0.160.1","type":"feature","title":"Codex CLI Release: 0.160.1","summary":"Remote stdio MCP servers with explicitly configured remote environment variables now preserve SYSTEMROOT, TEMP, and TMP, so Unix hosts retain the Windows executor's startup environment. The fix is backported to the 0.160 line.","titleGenerated":"Codex 0.160.1 preserves Windows env vars for remote stdio MCP servers","titleShort":"Windows env vars preserved for remote MCP servers","breaking":"none","importance":2,"content":"## Bug Fixes\n\n- Preserve `SYSTEMROOT`, `TEMP`, and `TMP` when launching remote stdio MCP servers with explicitly configured remote environment variables, allowing Unix hosts to retain the Windows executor's startup environment.\n\n## Changelog\n\n- [#51121](https://github.com/openai/codex/pull/51121): Backport Windows remote MCP environment preservation to 0.160.","publishedAt":"2026-10-05T00:00:00.000Z","fetchedAt":"2026-10-05T21:40:52.431Z","url":"https://developers.openai.com/codex/changelog/#github-release-404001397","media":[],"coverageCount":0},{"id":"rel_Eyx6qrmip7o6GyS6lNVSN","version":null,"type":"feature","title":"ChatGPT for iOS","summary":"New Home Screen widgets show recent tasks from selected computers and track remaining usage and reset times on Home and Lock Screens, plus a setting to keep the keyboard open after sending. Fixed missing tasks when loading or scrolling task lists, and canceling a queued prompt now returns recoverable text and attachments to the composer.","titleGenerated":"ChatGPT for iOS adds Home Screen widgets for recent Codex tasks","titleShort":"Home Screen widgets show recent tasks; task list load fixed","breaking":"none","importance":2,"content":"# ChatGPT for iOS\n\n### New features\n\n- New Home Screen widgets show recent tasks from your selected computers.\n- Track remaining usage and reset times with Home Screen and Lock Screen widgets.\n- Added a setting to keep the keyboard open after sending a message.\n\n### Improvements and bug fixes\n\n- Faster task list refresh when returning to the app, with existing task titles preserved.\n- Fixed missing tasks when loading or scrolling through task lists.\n- Smoother home screen, send, and keyboard transitions.\n- Canceling a queued prompt returns recoverable text and attachments to the composer.\n- Improved transcript stability when selecting text and loading older messages.\n- Worktree creation now respects your computer's configured storage location.","publishedAt":"2026-10-02T00:00:00.000Z","fetchedAt":"2026-10-06T09:48:02.907Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-02-mobile","media":[],"coverageCount":0},{"id":"rel_u8PXkdsiScWMF2gloNJwG","version":null,"type":"feature","title":"Codex app","summary":"Selected chats can now be moved to a project at once, and large diffs no longer appear blank at some zoom levels. Worktree attachment recovery and retries for failed queued messages or chat opens were also improved.","titleGenerated":"Codex app adds bulk chat-to-project move and fixes blank large diffs","titleShort":"Bulk move chats to project; large diffs no longer blank","breaking":"none","importance":2,"content":"# Codex app\n\n### New features\n\n- Added the option to move selected chats to a project at once.\n\n### Performance improvements and bug fixes\n\n- Improved recovery when attaching managed worktrees to chats.\n- Fixed large diffs appearing blank at some zoom levels.\n- Improved retries after queued messages fail to send or chats fail to open.","publishedAt":"2026-10-01T00:00:00.000Z","fetchedAt":"2026-10-15T11:21:25.540Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-10-01-app","media":[],"coverageCount":0},{"id":"rel_jwk8gDAaKg1tNCUhjDva_","version":"0.160.0","type":"feature","title":"Codex CLI Release: 0.160.0","summary":"The terminal UI now preserves server provider, reasoning-summary, and verbosity settings and shows correct sessions in resume and fork history, and queued messages resume after reconnection without duplicate sends. Also added opt-in Guardian review context retrieval and a keyboard-accessible \"Show more\" action for browsing older tasks.","titleGenerated":"Codex CLI 0.160.0 fixes terminal settings persistence and Windows sandbox","titleShort":"Terminal UI keeps provider settings; Windows sandbox fixed","breaking":"none","importance":3,"content":"## New Features\n\n- Browse older tasks in the agent command center with a keyboard-accessible “Show more” action. ([#49106](https://github.com/openai/codex/pull/49106))\n- Select transcript text and paste with middle-click in fullscreen mode on supported local Linux X11 terminals. ([#49112](https://github.com/openai/codex/pull/49112))\n- Start sessions outside a project with workspace defaults when policy permits, and restore saved permissions when resuming. ([#49160](https://github.com/openai/codex/pull/49160))\n- Added opt-in Guardian review capabilities to retrieve earlier user instructions and include context from agent handoffs. ([#49036](https://github.com/openai/codex/pull/49036), [#49057](https://github.com/openai/codex/pull/49057))\n\n## Bug Fixes\n\n- Unsent queued messages now resume after reconnection once uncertain submissions are resolved, avoiding duplicate sends. ([#49105](https://github.com/openai/codex/pull/49105))\n- The terminal UI now preserves server provider, reasoning-summary, and verbosity settings and shows the correct sessions in resume and fork history. ([#49144](https://github.com/openai/codex/pull/49144), [#49161](https://github.com/openai/codex/pull/49161), [#49171](https://github.com/openai/codex/pull/49171))\n- Fixed Windows sandbox PowerShell fallbacks and long-path permission repairs, and suppressed unwanted console windows from background helpers. ([#49019](https://github.com/openai/codex/pull/49019), [#49058](https://github.com/openai/codex/pull/49058), [#49098](https://github.com/openai/codex/pull/49098), [#49164](https://github.com/openai/codex/pull/49164), [#49386](https://github.com/openai/codex/pull/49386))\n- Subagents now retain environments that are still starting and receive their configuration or preparation failure. ([#49075](https://github.com/openai/codex/pull/49075))\n- Prevented SQLite stalls during connection setup and logging, and surfaced initialization errors instead of masking them as timeouts. ([#49032](https://github.com/openai/codex/pull/49032), [#49102](https://github.com/openai/codex/pull/49102))\n- Explicit provider model catalogs no longer include unsupported bundled models or reuse stale entries after refresh failures. ([#49135](https://github.com/openai/codex/pull/49135))\n\n## Documentation\n\n- Clarified how provider credentials use the configured storage backend and how `env_key` identifies the API-key environment variable. ([#49118](https://github.com/openai/codex/pull/49118))\n\n## Chores\n\n- Reduced repeated plugin-loading work by caching parsed manifests and reusing HTTP connections for remote plugin requests. ([#49099](https://github.com/openai/codex/pull/49099), [#49100](https://github.com/openai/codex/pull/49100))\n- Added background reclamation of unused log database space to reduce disk usage. ([#49069](https://github.com/openai/codex/pull/49069))\n\n## Changelog\n\nFull Changelog: [rust-v0.159.0...rust-v0.160.0](https://github.com/openai/codex/compare/rust-v0.159.0...rust-v0.160.0)\n\n- [#48983](https://github.com/openai/codex/pull/48983) Avoid full metadata rewrites for thread timestamp updates [@jif-oai](https://github.com/jif-oai)\n- [#49000](https://github.com/openai/codex/pull/49000) Isolate the memory startup metadata test from Git enrichment [@jif-oai](https://github.com/jif-oai)\n- [#49019](https://github.com/openai/codex/pull/49019) Use a compatible PowerShell fallback for the Windows MXC sandbox [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#49028](https://github.com/openai/codex/pull/49028) Use the numeric ioctl value in the macOS sandbox policy [@aionescu-oai](https://github.com/aionescu-oai)\n- [#49031](https://github.com/openai/codex/pull/49031) Clarify ChatGPT sign-in success copy [@bc-openai](https://github.com/bc-openai)\n- [#49032](https://github.com/openai/codex/pull/49032) Avoid SQLite stalls from connection setup and stderr span logging [@jif-oai](https://github.com/jif-oai)\n- [#49036](https://github.com/openai/codex/pull/49036) Add opt-in conversation history retrieval to Guardian reviews [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49037](https://github.com/openai/codex/pull/49037) Show the Plan mode cycling hint in the fullscreen status line [@fcoury-oai](https://github.com/fcoury-oai)\n- [#49038](https://github.com/openai/codex/pull/49038) Preserve encrypted agent messages in Guardian reviews [@felixxia-oai](https://github.com/felixxia-oai)\n- [#49041](https://github.com/openai/codex/pull/49041) Copy selections within inline code as plain text [@fcoury-oai](https://github.com/fcoury-oai)\n- [#49043](https://github.com/openai/codex/pull/49043) Update Pro plan display names in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49057](https://github.com/openai/codex/pull/49057) Add handoff-aware root context for Guardian reviews [@jif-oai](https://github.com/jif-oai)\n- [#49058](https://github.com/openai/codex/pull/49058) Fix Windows sandbox ACL repair for long runtime paths [@darius-oai](https://github.com/darius-oai)\n- [#49060](https://github.com/openai/codex/pull/49060) Update Guardian messaging snapshots for native agent messages [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49065](https://github.com/openai/codex/pull/49065) Update Guardian handoff snapshot for separate agent messages [@cassirer-openai](https://github.com/cassirer-openai)\n- [#49067](https://github.com/openai/codex/pull/49067) Keep configuration values out of Windows sandbox policy events [@zm-oai](https://github.com/zm-oai)\n- [#49069](https://github.com/openai/codex/pull/49069) Reclaim unused SQLite log database pages in the background [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49073](https://github.com/openai/codex/pull/49073) Surface realtime voice catalog failures in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49074](https://github.com/openai/codex/pull/49074) Propagate Cargo package versions to Bazel Rust targets [@tamird](https://github.com/tamird)\n- [#49075](https://github.com/openai/codex/pull/49075) Preserve pending environments when spawning subagents [@sayan-oai](https://github.com/sayan-oai)\n- [#49076](https://github.com/openai/codex/pull/49076) Avoid collecting unused Git metadata in skill analytics [@tamird](https://github.com/tamird)\n- [#49079](https://github.com/openai/codex/pull/49079) Update and centralize TUI subscription labels [@etraut-openai](https://github.com/etraut-openai)\n- [#49082](https://github.com/openai/codex/pull/49082) Skip remote Git discovery for Guardian diff paths [@jif-oai](https://github.com/jif-oai)\n- [#49084](https://github.com/openai/codex/pull/49084) Track app-server running turns incrementally [@tamird](https://github.com/tamird)\n- [#49089](https://github.com/openai/codex/pull/49089) Render follow-up directive labels in the TUI and copied responses [@etraut-openai](https://github.com/etraut-openai)\n- [#49093](https://github.com/openai/codex/pull/49093) Simplify startup promotions to platform-specific desktop app tips [@etraut-openai](https://github.com/etraut-openai)\n- [#49096](https://github.com/openai/codex/pull/49096) Update `h2` from 0.4.16 to 0.4.19 in Cargo and Bazel lockfiles [@cassirer-openai](https://github.com/cassirer-openai)\n- [#49097](https://github.com/openai/codex/pull/49097) Notify lifecycle extensions of compaction usage limits [@xli-oai](https://github.com/xli-oai)\n- [#49098](https://github.com/openai/codex/pull/49098) Resolve Windows sandbox PowerShell fallbacks on the exec server [@zm-oai](https://github.com/zm-oai)\n- [#49099](https://github.com/openai/codex/pull/49099) Cache parsed plugin manifests across plugin workflows [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49100](https://github.com/openai/codex/pull/49100) Reuse the HTTP connection pool for remote plugin requests [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#49102](https://github.com/openai/codex/pull/49102) Preserve SQLite vacuum modes and surface pool initialization errors [@bc-openai](https://github.com/bc-openai)\n- [#49103](https://github.com/openai/codex/pull/49103) Balance Windows Bazel test shards using duration estimates [@jgershen-oai](https://github.com/jgershen-oai)\n- [#49105](https://github.com/openai/codex/pull/49105) Resume unsent TUI input after reconnecting [@etraut-openai](https://github.com/etraut-openai)\n- [#49106](https://github.com/openai/codex/pull/49106) Add history pagination to the agent command center [@bc-openai](https://github.com/bc-openai)\n- [#49112](https://github.com/openai/codex/pull/49112) Add X11 primary selection and middle-click paste support [@fcoury-oai](https://github.com/fcoury-oai)\n- [#49114](https://github.com/openai/codex/pull/49114) Point remote compaction tests at the mock ChatGPT server [@OLI-OAI](https://github.com/OLI-OAI)\n- [#49117](https://github.com/openai/codex/pull/49117) Attribute analytics requests to each thread's product SKU [@papayo-oai](https://github.com/papayo-oai)\n- [#49118](https://github.com/openai/codex/pull/49118) Correct provider authentication storage documentation [@celia-oai](https://github.com/celia-oai)\n- [#49119](https://github.com/openai/codex/pull/49119) Add recovery guidance to content-filter retries [@won-openai](https://github.com/won-openai)\n- [#49127](https://github.com/openai/codex/pull/49127) Deduplicate cloud and executor skill listings before budgeting [@TAFOYA-OAI](https://github.com/TAFOYA-OAI)\n- [#49130](https://github.com/openai/codex/pull/49130) Move content-filter guidance into the shared Responses retry handler [@won-openai](https://github.com/won-openai)\n- [#49135](https://github.com/openai/codex/pull/49135) Treat explicit provider model catalogs as authoritative [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#49136](https://github.com/openai/codex/pull/49136) Remove the plus separator after Option symbols in TUI key hints [@bc-openai](https://github.com/bc-openai)\n- [#49138](https://github.com/openai/codex/pull/49138) Expose original error details to turn lifecycle contributors [@bryanashley](https://github.com/bryanashley)\n- [#49144](https://github.com/openai/codex/pull/49144) Preserve server reasoning summary and verbosity settings in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49145](https://github.com/openai/codex/pull/49145) Hide reasoning summary settings in `/status` for server connections [@etraut-openai](https://github.com/etraut-openai)\n- [#49147](https://github.com/openai/codex/pull/49147) Simplify cloud task base URL normalization [@akira-oai](https://github.com/akira-oai)\n- [#49153](https://github.com/openai/codex/pull/49153) Omit blockquote markers when copying quoted selections in the TUI [@bc-openai](https://github.com/bc-openai)\n- [#49160](https://github.com/openai/codex/pull/49160) Support projectless TUI sessions with workspace defaults [@etraut-openai](https://github.com/etraut-openai)\n- [#49161](https://github.com/openai/codex/pull/49161) Honor app-server provider defaults in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#49164](https://github.com/openai/codex/pull/49164) Suppress Windows console windows for background subprocesses [@etraut-openai](https://github.com/etraut-openai)\n- [#49171](https://github.com/openai/codex/pull/49171) Fix model provider lookup for TUI history [@etraut-openai](https://github.com/etraut-openai)\n- [#49386](https://github.com/openai/codex/pull/49386) \\[0.160\\] Backport remaining Windows console fix to frozen alpha.6 [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#49763](https://github.com/openai/codex/pull/49763) \\[0.160\\] Backport maintenance-line catalog and security reminder updates [@andrewgu-oai](https://github.com/andrewgu-oai)","publishedAt":"2026-10-01T00:00:00.000Z","fetchedAt":"2026-10-01T20:55:24.006Z","url":"https://developers.openai.com/codex/changelog/#github-release-401312540","media":[],"coverageCount":0},{"id":"rel_22wWj_PO7dVRUyIK7NSZY","version":"0.159.3","type":"feature","title":"Codex CLI Release: 0.159.3","summary":"Eligible local sessions signed in with ChatGPT can now show optional reminders to complete account security setup.","titleGenerated":"Codex CLI 0.159.3 adds optional account security setup reminders","titleShort":"Account security setup reminders added","breaking":"none","importance":2,"content":"## New Features\n\n- Eligible local sessions signed in with ChatGPT can now show optional reminders to complete account security setup. ([#49744](https://github.com/openai/codex/pull/49744))\n\n## Changelog\n\nFull Changelog: [rust-v0.159.2...rust-v0.159.3](https://github.com/openai/codex/compare/rust-v0.159.2...rust-v0.159.3)\n\n- [#49744](https://github.com/openai/codex/pull/49744) \\[0.159\\] Backport account security setup reminders for 0.159.3 [@andrewgu-oai](https://github.com/andrewgu-oai)","publishedAt":"2026-09-30T00:00:00.000Z","fetchedAt":"2026-10-01T04:45:51.020Z","url":"https://developers.openai.com/codex/changelog/#github-release-400492869","media":[],"coverageCount":0},{"id":"rel_ITya1Z2Z8eH32olIKaloI","version":null,"type":"feature","title":"Codex app","summary":"Terminal startup in attached worktrees is improved and failures caused by unavailable worktree environment settings are fixed. Earlier answers now stay visible when sending new instructions during a task, and keyboard navigation through messages no longer jumps back to the latest response.","titleGenerated":"Codex app improves worktree terminal startup and message scroll behavior","titleShort":"Worktree terminal startup fixed; message scroll no longer jumps","breaking":"none","importance":2,"content":"# Codex app\n\n### Performance improvements and bug fixes\n\n- Improved terminal startup in attached worktrees and fixed failures caused by\n  unavailable worktree environment settings.\n- Kept earlier answers visible when you send new instructions during a task.\n- Fixed automatic scrolling and prevented keyboard navigation through messages\n  from jumping back to the latest response.\n- Improved startup recovery when you return to the app window.","publishedAt":"2026-09-29T00:00:00.000Z","fetchedAt":"2026-10-15T11:21:25.540Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-09-29-app","media":[],"coverageCount":0},{"id":"rel_Q-SnFgN2GddLoeMhrJcn8","version":"0.159.2","type":"feature","title":"Codex CLI Release: 0.159.2","summary":"Suppressed console windows flashing on Windows when Codex launches background processes and sandboxed commands.","titleGenerated":"Codex CLI 0.159.2 suppresses Windows console flashing for background processes","titleShort":"Windows console no longer flashes on background processes","breaking":"none","importance":1,"content":"## Bug Fixes\n\n- Suppressed console windows flashing on Windows when Codex launches background processes and sandboxed commands. ([#49385](https://github.com/openai/codex/pull/49385))\n\n## Changelog\n\nFull Changelog: [rust-v0.159.1...rust-v0.159.2](https://github.com/openai/codex/compare/rust-v0.159.1...rust-v0.159.2)\n\n- [#49385](https://github.com/openai/codex/pull/49385) \\[0.159\\] Backport Windows console suppression for 0.159.2 [@andrewgu-oai](https://github.com/andrewgu-oai)","publishedAt":"2026-09-29T00:00:00.000Z","fetchedAt":"2026-09-30T00:11:30.465Z","url":"https://developers.openai.com/codex/changelog/#github-release-399607589","media":[],"coverageCount":0},{"id":"rel_sbXKXc3E7MH6GpjHBODv8","version":"6.1","type":"feature","title":"GPT-6.1 Sol in Codex and ChatGPT Work","summary":"GPT-6.1 Sol is available via gpt-6.1-sol, offering near-Astra performance for complex, long-running work across code, apps, and documents at lower cost than Astra. Availability depends on plan, client, and workspace settings.","titleGenerated":"OpenAI launches GPT-6.1 Sol in Codex and ChatGPT Work","titleShort":"GPT-6.1 Sol lands in Codex and ChatGPT Work","breaking":"none","importance":5,"content":"# GPT-6.1 Sol in Codex and ChatGPT Work\n\nGPT-6.1 Sol offers near-Astra performance for complex work at a lower cost than\nAstra. Consider it for repeated, long-running work across code, apps, and\ndocuments. Availability depends on your plan, client, and workspace settings.\n\nUse `gpt-6.1-sol`. See\n[Models](/codex/models#gpt-61-sol) for availability and\n[model selection](/api/docs/guides/model-selection#when-to-consider-gpt-61-sol)\nto compare models.","publishedAt":"2026-09-29T00:00:00.000Z","fetchedAt":"2026-09-29T20:09:07.771Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-09-29-gpt-61-sol","media":[],"coverageCount":1},{"id":"rel_NZvD2WNoOH6pcJgIwLxT1","version":"0.159.0","type":"feature","title":"Codex CLI Release: 0.159.0","summary":"Automatic follow-up prompt suggestions and the tui.prompt_suggestions setting were removed, and the bundled plugin-creator skill is gone. Opt-in instant_interrupt lets new input steer Codex during model responses or long-running code-mode calls, with fixes for Windows console windows, transcript copy formatting, and macOS TLS in network-enabled sandboxes.","titleGenerated":"Codex CLI 0.159.0 removes prompt suggestions and adds instant interrupt","titleShort":"Prompt suggestions removed; instant interrupt steers Codex mid-response","breaking":"major","importance":4,"content":"## New Features\n\n- Opt-in `instant_interrupt` lets new input steer Codex during model responses or long-running code-mode calls. ([#48135](https://github.com/openai/codex/pull/48135), [#48141](https://github.com/openai/codex/pull/48141))\n- New sessions get a compact welcome screen and consistent headers, with occasional tips during and after turns. ([#48513](https://github.com/openai/codex/pull/48513), [#48562](https://github.com/openai/codex/pull/48562), [#48352](https://github.com/openai/codex/pull/48352))\n- The warnings viewer dismisses reviewed warnings when closed; press `k` to keep one for later. ([#48205](https://github.com/openai/codex/pull/48205), [#48206](https://github.com/openai/codex/pull/48206))\n- You can scroll the transcript while deciding whether to implement a plan. ([#48805](https://github.com/openai/codex/pull/48805))\n- Native Mermaid rendering supports more flowchart edges, labels, and node groups. ([#48814](https://github.com/openai/codex/pull/48814), [#48895](https://github.com/openai/codex/pull/48895))\n- App-server clients can paginate thread history from a specific item. ([#48151](https://github.com/openai/codex/pull/48151))\n\n## Bug Fixes\n\n- Windows launches avoid stray console windows for MCP servers, code-mode hosts, and piped commands; restrictive launchers can fall back to embedded mode. ([#48138](https://github.com/openai/codex/pull/48138), [#48238](https://github.com/openai/codex/pull/48238), [#48483](https://github.com/openai/codex/pull/48483), [#48491](https://github.com/openai/codex/pull/48491))\n- Copying transcript selections preserves Markdown tables, formatting, and significant whitespace. More terminals now copy automatically on selection. ([#48548](https://github.com/openai/codex/pull/48548), [#48549](https://github.com/openai/codex/pull/48549), [#48469](https://github.com/openai/codex/pull/48469))\n- Blank sessions retain drafts when switching tasks, and threads can be archived and listed before their first turn. ([#48628](https://github.com/openai/codex/pull/48628), [#48828](https://github.com/openai/codex/pull/48828), [#48199](https://github.com/openai/codex/pull/48199))\n- Local ChatGPT sign-in opens the browser reliably; onboarding also provides a shortcut to copy the login link. ([#48502](https://github.com/openai/codex/pull/48502), [#48544](https://github.com/openai/codex/pull/48544))\n- Approved commands retain explicit filesystem denials, and `.aws` directories are protected by default under writable roots. ([#48155](https://github.com/openai/codex/pull/48155), [#48176](https://github.com/openai/codex/pull/48176))\n- Fixed macOS TLS access in network-enabled sandboxes and remote environments that require proxy access. ([#48565](https://github.com/openai/codex/pull/48565), [#48198](https://github.com/openai/codex/pull/48198))\n\n## Chores\n\n- Removed automatic follow-up prompt suggestions and the `tui.prompt_suggestions` setting. ([#48621](https://github.com/openai/codex/pull/48621))\n- Removed the bundled `plugin-creator` skill. ([#48604](https://github.com/openai/codex/pull/48604))\n\n## Changelog\n\nFull Changelog: [rust-v0.158.0...rust-v0.159.0](https://github.com/openai/codex/compare/rust-v0.158.0...rust-v0.159.0)\n\n- [#48135](https://github.com/openai/codex/pull/48135) Add opt-in code-mode yielding on new user input [@pakrym-oai](https://github.com/pakrym-oai)\n- [#48138](https://github.com/openai/codex/pull/48138) Suppress console windows when spawning the code-mode host on Windows [@zm-oai](https://github.com/zm-oai)\n- [#48141](https://github.com/openai/codex/pull/48141) Preempt model responses when new user input arrives [@pakrym-oai](https://github.com/pakrym-oai)\n- [#48143](https://github.com/openai/codex/pull/48143) Preserve executor MCP credential boundaries across reconnects [@rreichel3-oai](https://github.com/rreichel3-oai)\n- [#48151](https://github.com/openai/codex/pull/48151) Add item anchors to `thread/items/list` pagination [@btraut-openai](https://github.com/btraut-openai)\n- [#48155](https://github.com/openai/codex/pull/48155) Preserve filesystem denials when preparing approved commands [@viyatb-oai](https://github.com/viyatb-oai)\n- [#48157](https://github.com/openai/codex/pull/48157) Allow Windows daemon launches with residual job membership [@etraut-openai](https://github.com/etraut-openai)\n- [#48158](https://github.com/openai/codex/pull/48158) Fix Guardian retained context spacing and empty assistant handling [@olliem-oai](https://github.com/olliem-oai)\n- [#48168](https://github.com/openai/codex/pull/48168) Generate unique exec-server process IDs for every request [@sdcoffey](https://github.com/sdcoffey)\n- [#48174](https://github.com/openai/codex/pull/48174) Preserve usage limit windows in turn and compaction analytics [@rhan-oai](https://github.com/rhan-oai)\n- [#48176](https://github.com/openai/codex/pull/48176) Protect `.aws` directories under sandbox writable roots [@jackz100](https://github.com/jackz100)\n- [#48187](https://github.com/openai/codex/pull/48187) Fix zsh alias quoting in sourced shell snapshots [@jif-oai](https://github.com/jif-oai)\n- [#48190](https://github.com/openai/codex/pull/48190) Bound agent message board SSE frames before parsing [@jif-oai](https://github.com/jif-oai)\n- [#48197](https://github.com/openai/codex/pull/48197) Optimize `blake3` in Bazel fastbuilds [@jif-oai](https://github.com/jif-oai)\n- [#48198](https://github.com/openai/codex/pull/48198) Honor execution environment proxy requirements [@seanh-oai](https://github.com/seanh-oai)\n- [#48199](https://github.com/openai/codex/pull/48199) Keep archived threads with empty previews visible in listings [@acrognale-oai](https://github.com/acrognale-oai)\n- [#48200](https://github.com/openai/codex/pull/48200) Extract Responses header conversion into a shared module [@anp-oai](https://github.com/anp-oai)\n- [#48205](https://github.com/openai/codex/pull/48205) Dismiss viewed TUI warnings when closing the viewer [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48206](https://github.com/openai/codex/pull/48206) Add a keep-and-next action to the warnings viewer [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48207](https://github.com/openai/codex/pull/48207) Preserve queued output for observers during code-mode termination [@pakrym-oai](https://github.com/pakrym-oai)\n- [#48211](https://github.com/openai/codex/pull/48211) Keep Codex visible during external editor handoff [@etraut-openai](https://github.com/etraut-openai)\n- [#48213](https://github.com/openai/codex/pull/48213) Isolate executable fixture copies in CLI tests on Linux [@jif-oai](https://github.com/jif-oai)\n- [#48222](https://github.com/openai/codex/pull/48222) Preserve late result metadata for truncated code-mode calls [@ningyi-oai](https://github.com/ningyi-oai)\n- [#48224](https://github.com/openai/codex/pull/48224) Preserve model and access program pairs during compaction [@jamy-OAI](https://github.com/jamy-OAI)\n- [#48229](https://github.com/openai/codex/pull/48229) Extract Responses failure parsing into a dedicated module [@anp-oai](https://github.com/anp-oai)\n- [#48238](https://github.com/openai/codex/pull/48238) Suppress console windows for local Windows MCP servers [@malsamiri-oai](https://github.com/malsamiri-oai)\n- [#48272](https://github.com/openai/codex/pull/48272) Prevent Windows daemon launches from retaining launcher stdio [@zm-oai](https://github.com/zm-oai)\n- [#48318](https://github.com/openai/codex/pull/48318) Keep TUI reconnect attempts running until the shared deadline [@etraut-openai](https://github.com/etraut-openai)\n- [#48344](https://github.com/openai/codex/pull/48344) Preserve tool metadata for OpenAI provider endpoint overrides [@peilin-openai](https://github.com/peilin-openai)\n- [#48350](https://github.com/openai/codex/pull/48350) Display reconnect commands on a separate line [@etraut-openai](https://github.com/etraut-openai)\n- [#48352](https://github.com/openai/codex/pull/48352) Show turn tips while working and after completion in the TUI [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48353](https://github.com/openai/codex/pull/48353) Stabilize skill catalogs across executor availability changes [@vkg-oai](https://github.com/vkg-oai)\n- [#48469](https://github.com/openai/codex/pull/48469) Default to copying transcript selections in more terminals [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48483](https://github.com/openai/codex/pull/48483) Prevent console windows for piped Windows child processes [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48489](https://github.com/openai/codex/pull/48489) Fix Mermaid shape, relationship, and state description parsing [@etraut-openai](https://github.com/etraut-openai)\n- [#48491](https://github.com/openai/codex/pull/48491) Fall back to embedded mode under restrictive Windows launchers [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48502](https://github.com/openai/codex/pull/48502) Fix ChatGPT browser sign-in for local app servers [@etraut-openai](https://github.com/etraut-openai)\n- [#48508](https://github.com/openai/codex/pull/48508) Preserve WebSocket continuations when steering a turn [@pakrym-oai](https://github.com/pakrym-oai)\n- [#48513](https://github.com/openai/codex/pull/48513) Refresh the TUI welcome screen for new sessions [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48531](https://github.com/openai/codex/pull/48531) Add context to Windows sandbox runtime registration errors [@zm-oai](https://github.com/zm-oai)\n- [#48544](https://github.com/openai/codex/pull/48544) Make onboarding login links easier to copy [@etraut-openai](https://github.com/etraut-openai)\n- [#48547](https://github.com/openai/codex/pull/48547) Fade blossom replays back to the idle state [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48548](https://github.com/openai/codex/pull/48548) Preserve table cell source metadata through TUI rendering [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48549](https://github.com/openai/codex/pull/48549) Preserve Markdown tables and whitespace when copying TUI responses [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48551](https://github.com/openai/codex/pull/48551) Fix TUI math rendering for zero and big wedge expressions [@etraut-openai](https://github.com/etraut-openai)\n- [#48560](https://github.com/openai/codex/pull/48560) Keep working tips stable during transcript interaction [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48562](https://github.com/openai/codex/pull/48562) Use a consistent borderless session header in the TUI [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48565](https://github.com/openai/codex/pull/48565) Allow macOS TLS trust evaluation in network-enabled Seatbelt profiles [@winston-openai](https://github.com/winston-openai)\n- [#48568](https://github.com/openai/codex/pull/48568) Allow exec-server to proxy permitted private IPs upstream [@open-matt](https://github.com/open-matt)\n- [#48574](https://github.com/openai/codex/pull/48574) Preserve deferred tool namespace names before descriptions [@adaley-openai](https://github.com/adaley-openai)\n- [#48575](https://github.com/openai/codex/pull/48575) Allow provisioned executors more time to come online [@richardopenai](https://github.com/richardopenai)\n- [#48604](https://github.com/openai/codex/pull/48604) Remove the bundled `plugin-creator` skill [@martinauyeung-oai](https://github.com/martinauyeung-oai)\n- [#48611](https://github.com/openai/codex/pull/48611) Centralize persistent mode enablement checks [@alishobeiri-oai](https://github.com/alishobeiri-oai)\n- [#48621](https://github.com/openai/codex/pull/48621) Remove follow-up prompt suggestions from the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#48623](https://github.com/openai/codex/pull/48623) Preserve empty Markdown list markers in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#48626](https://github.com/openai/codex/pull/48626) Stop showing previous-session summaries when switching TUI sessions [@etraut-openai](https://github.com/etraut-openai)\n- [#48628](https://github.com/openai/codex/pull/48628) Preserve blank TUI sessions when switching tasks [@etraut-openai](https://github.com/etraut-openai)\n- [#48643](https://github.com/openai/codex/pull/48643) Set the provisioned macOS CLI bundle name to ChatGPT [@riley-oai](https://github.com/riley-oai)\n- [#48646](https://github.com/openai/codex/pull/48646) Fix the session-start helper call in the command center test [@etraut-openai](https://github.com/etraut-openai)\n- [#48686](https://github.com/openai/codex/pull/48686) Remove WebSocket headers and tool payloads from info logs [@chess-oai](https://github.com/chess-oai)\n- [#48724](https://github.com/openai/codex/pull/48724) Prevent Linux ETXTBSY races in MCP stdio tests [@jif-oai](https://github.com/jif-oai)\n- [#48725](https://github.com/openai/codex/pull/48725) Retain confirmed Code Mode messages for Guardian reviews [@ankushg](https://github.com/ankushg)\n- [#48727](https://github.com/openai/codex/pull/48727) Centralize executable fixture creation to avoid Linux ETXTBSY races [@jif-oai](https://github.com/jif-oai)\n- [#48754](https://github.com/openai/codex/pull/48754) Render `/status` without borders and wrap long values [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48757](https://github.com/openai/codex/pull/48757) Match TUI status shimmer timing to desktop headers [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48761](https://github.com/openai/codex/pull/48761) Show hidden output line counts in compact terminal activity [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48764](https://github.com/openai/codex/pull/48764) Preserve MCP app resource URIs without defaulting display mode [@victor-openai](https://github.com/victor-openai)\n- [#48772](https://github.com/openai/codex/pull/48772) Fix Unix socket connections through long symlink paths [@etraut-openai](https://github.com/etraut-openai)\n- [#48775](https://github.com/openai/codex/pull/48775) Match pinned transcript headers to the original prompt style [@etraut-openai](https://github.com/etraut-openai)\n- [#48776](https://github.com/openai/codex/pull/48776) Remove the `current` badge from TUI task rows [@etraut-openai](https://github.com/etraut-openai)\n- [#48779](https://github.com/openai/codex/pull/48779) Preserve independent Guardian history across parent compaction [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48783](https://github.com/openai/codex/pull/48783) Add single-server MCP status discovery with thread connection reuse [@victor-openai](https://github.com/victor-openai)\n- [#48796](https://github.com/openai/codex/pull/48796) Add opt-in structured errors for Guardian circuit-breaker interruptions [@won-openai](https://github.com/won-openai)\n- [#48799](https://github.com/openai/codex/pull/48799) Fix SGR mouse reporting for Windows terminal capture [@etraut-openai](https://github.com/etraut-openai)\n- [#48800](https://github.com/openai/codex/pull/48800) Use the terminal palette for ordered Markdown list markers [@etraut-openai](https://github.com/etraut-openai)\n- [#48805](https://github.com/openai/codex/pull/48805) Allow transcript wheel scrolling while a modal is open [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48807](https://github.com/openai/codex/pull/48807) Show short turn durations in TUI completion footers [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48812](https://github.com/openai/codex/pull/48812) Add history-aware prewarming for idle threads [@vkg-oai](https://github.com/vkg-oai)\n- [#48814](https://github.com/openai/codex/pull/48814) Preserve punctuation and semicolons in Mermaid labels [@etraut-openai](https://github.com/etraut-openai)\n- [#48819](https://github.com/openai/codex/pull/48819) Use explicit histogram buckets for tool and skill context metrics [@mzeng-openai](https://github.com/mzeng-openai)\n- [#48824](https://github.com/openai/codex/pull/48824) Keep voice RTP timestamps aligned to 20 ms packets [@bc-openai](https://github.com/bc-openai)\n- [#48827](https://github.com/openai/codex/pull/48827) Show a hand pointer over transcript links in Ghostty and Kitty [@bc-openai](https://github.com/bc-openai)\n- [#48828](https://github.com/openai/codex/pull/48828) Allow archiving threads before their first turn [@bc-openai](https://github.com/bc-openai)\n- [#48829](https://github.com/openai/codex/pull/48829) Wait briefly for the Windows sandbox provisioning service to start [@zm-oai](https://github.com/zm-oai)\n- [#48830](https://github.com/openai/codex/pull/48830) Show a short, neutral TUI interruption notice [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48895](https://github.com/openai/codex/pull/48895) Expand native Mermaid flowchart syntax support [@etraut-openai](https://github.com/etraut-openai)\n- [#48973](https://github.com/openai/codex/pull/48973) Isolate realtime auth fallback test from startup prewarm [@jif-oai](https://github.com/jif-oai)\n- [#48982](https://github.com/openai/codex/pull/48982) Prevent message-board notifications from reopening final answers [@eknight-oai](https://github.com/eknight-oai)","publishedAt":"2026-09-29T00:00:00.000Z","fetchedAt":"2026-09-29T20:09:07.771Z","url":"https://developers.openai.com/codex/changelog/#github-release-398926954","media":[],"coverageCount":0},{"id":"rel_veyDtPkUY3h8Q07FcusjM","version":"0.158.0","type":"feature","title":"Codex CLI Release: 0.158.0","summary":"Terminal input approval is now enabled by default for commands running with elevated permissions, and runtime-only grants no longer trigger unnecessary reviews. Also added MCP server support for pre-registered OAuth client secrets, bearer-token auth for exec-server WebSockets, copy-on-select and right-click paste in the fullscreen TUI, and fixes for Windows and Linux sandbox failures.","titleGenerated":"Codex CLI 0.158.0 enables terminal input approval for elevated commands by default","titleShort":"Elevated commands now require terminal input approval by default","breaking":"major","importance":4,"content":"## New Features\n\n- Configure copy-on-select and right-click paste in the fullscreen TUI. Copied transcript selections now preserve Markdown formatting. ([#47639](https://github.com/openai/codex/pull/47639), [#47896](https://github.com/openai/codex/pull/47896), [#48118](https://github.com/openai/codex/pull/48118))\n- Connect to MCP servers that require pre-registered OAuth client secrets, including through `codex mcp add --oauth-client-secret`. ([#47891](https://github.com/openai/codex/pull/47891))\n- Secure direct exec-server WebSocket connections with bearer tokens, including connections configured through app-server. ([#47601](https://github.com/openai/codex/pull/47601), [#47648](https://github.com/openai/codex/pull/47648))\n- Image generation and editing can explicitly request transparent backgrounds, and edits now accept file-backed conversation images. ([#47484](https://github.com/openai/codex/pull/47484), [#47956](https://github.com/openai/codex/pull/47956))\n- Terminal input approval is enabled by default for commands running with elevated permissions; runtime-only grants no longer cause unnecessary reviews. ([#47799](https://github.com/openai/codex/pull/47799), [#48073](https://github.com/openai/codex/pull/48073))\n\n## Bug Fixes\n\n- Fixed Windows sandbox failures involving ordinary Windows 10 paths, rejected stored credentials, and large permission policies. ([#47672](https://github.com/openai/codex/pull/47672), [#47695](https://github.com/openai/codex/pull/47695), [#47919](https://github.com/openai/codex/pull/47919))\n- Fixed Linux sandbox startup with nested writable roots and preserved Git metadata protections across writable roots on Linux and macOS. ([#47623](https://github.com/openai/codex/pull/47623), [#47974](https://github.com/openai/codex/pull/47974))\n- macOS patch operations now recognize system path aliases covered by existing permissions, avoiding unnecessary approval prompts. ([#47879](https://github.com/openai/codex/pull/47879))\n- Approval reviews now retry when new user input arrives, so a status question does not automatically abort a pending action. ([#47819](https://github.com/openai/codex/pull/47819))\n- Mermaid flowcharts now render quoted labels and ampersands; unsupported diagrams explain why they fall back to source. ([#47572](https://github.com/openai/codex/pull/47572), [#47678](https://github.com/openai/codex/pull/47678))\n- Command completion events now include early output and report process-launch failures to clients. ([#47529](https://github.com/openai/codex/pull/47529), [#47665](https://github.com/openai/codex/pull/47665))\n\n## Changelog\n\nFull Changelog: [rust-v0.157.0...rust-v0.158.0](https://github.com/openai/codex/compare/rust-v0.157.0...rust-v0.158.0)\n\n- [#47441](https://github.com/openai/codex/pull/47441) Use secondary text styling for the transcript footer shortcut hint [@etraut-openai](https://github.com/etraut-openai)\n- [#47447](https://github.com/openai/codex/pull/47447) Extract WebSocket authentication into `codex-websocket-auth` [@euroelessar](https://github.com/euroelessar)\n- [#47458](https://github.com/openai/codex/pull/47458) Parallelize instruction refresh and tool preparation [@hlevy-openai](https://github.com/hlevy-openai)\n- [#47484](https://github.com/openai/codex/pull/47484) Add explicit background control to image generation [@alicec-oai](https://github.com/alicec-oai)\n- [#47520](https://github.com/openai/codex/pull/47520) Route session agent operations through `AgentControl` [@jif-oai](https://github.com/jif-oai)\n- [#47529](https://github.com/openai/codex/pull/47529) Emit command lifecycle events for unified exec launch failures [@steipete-oai](https://github.com/steipete-oai)\n- [#47536](https://github.com/openai/codex/pull/47536) Route agent lookups and V2 context through `AgentControl` [@jif-oai](https://github.com/jif-oai)\n- [#47539](https://github.com/openai/codex/pull/47539) Test interrupted one-shot command launch failure persistence [@jif-oai](https://github.com/jif-oai)\n- [#47540](https://github.com/openai/codex/pull/47540) Add an option to disable multi-agent v2 direct messaging [@jif-oai](https://github.com/jif-oai)\n- [#47565](https://github.com/openai/codex/pull/47565) Classify rollout read failures by reason and progress [@jif-oai](https://github.com/jif-oai)\n- [#47568](https://github.com/openai/codex/pull/47568) Record sandbox backends in command execution analytics [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#47571](https://github.com/openai/codex/pull/47571) Wait for idle before injecting remote compaction test history [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47572](https://github.com/openai/codex/pull/47572) Explain Mermaid rendering fallbacks in the TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#47582](https://github.com/openai/codex/pull/47582) Retain assistant context for Guardian authorization reviews [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47584](https://github.com/openai/codex/pull/47584) Preserve streamed assistant message order in retained context [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47585](https://github.com/openai/codex/pull/47585) Preserve delivered assistant messages in Guardian retained context [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47589](https://github.com/openai/codex/pull/47589) Keep unfinished link destinations out of rich streaming previews [@etraut-openai](https://github.com/etraut-openai)\n- [#47590](https://github.com/openai/codex/pull/47590) Serialize numeric custom reasoning effort as JSON numbers [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#47591](https://github.com/openai/codex/pull/47591) Stream daemon executable hashing off the async runtime [@etraut-openai](https://github.com/etraut-openai)\n- [#47596](https://github.com/openai/codex/pull/47596) Refresh realtime context for each model request [@reia-oai](https://github.com/reia-oai)\n- [#47597](https://github.com/openai/codex/pull/47597) Guard prerelease channel and canary updates against older versions [@imac-oai](https://github.com/imac-oai)\n- [#47601](https://github.com/openai/codex/pull/47601) Add opt-in WebSocket authentication to exec-server [@euroelessar](https://github.com/euroelessar)\n- [#47603](https://github.com/openai/codex/pull/47603) Add a reap-only drop policy for child processes [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47604](https://github.com/openai/codex/pull/47604) Extend child commands with session and descriptor controls [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47605](https://github.com/openai/codex/pull/47605) Route pipe processes through the shared child launcher [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47610](https://github.com/openai/codex/pull/47610) Use native POSIX spawning for command hooks [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47611](https://github.com/openai/codex/pull/47611) Use the shared process launcher for Unix shell snapshots [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47612](https://github.com/openai/codex/pull/47612) Launch Linux pipe processes through a fresh setup helper [@freeqaz-openai](https://github.com/freeqaz-openai)\n- [#47613](https://github.com/openai/codex/pull/47613) Expand Linux spawn-helper lifecycle test coverage [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47617](https://github.com/openai/codex/pull/47617) Route Linux PTY launches through the process setup helper [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47618](https://github.com/openai/codex/pull/47618) Prefer Shift-arrow hints for queued messages and questions [@imac-oai](https://github.com/imac-oai)\n- [#47619](https://github.com/openai/codex/pull/47619) Add bounded buffering for global operation metrics [@celia-oai](https://github.com/celia-oai)\n- [#47620](https://github.com/openai/codex/pull/47620) Add portable project trust lookup APIs [@seanh-oai](https://github.com/seanh-oai)\n- [#47623](https://github.com/openai/codex/pull/47623) Fix read-only metadata mount ordering for nested writable roots [@jif-oai](https://github.com/jif-oai)\n- [#47624](https://github.com/openai/codex/pull/47624) Recognize `user_message` tools in Guardian authorization context [@ankushg](https://github.com/ankushg)\n- [#47625](https://github.com/openai/codex/pull/47625) Allow history and notes without experimental context capability [@pmccrary-oai](https://github.com/pmccrary-oai)\n- [#47629](https://github.com/openai/codex/pull/47629) Route V2 child loading through `AgentControl` [@jif-oai](https://github.com/jif-oai)\n- [#47630](https://github.com/openai/codex/pull/47630) Bind Guardian reviews to the action's target environment [@jif-oai](https://github.com/jif-oai)\n- [#47633](https://github.com/openai/codex/pull/47633) Route message board agent resolution through the selected controller [@jif-oai](https://github.com/jif-oai)\n- [#47635](https://github.com/openai/codex/pull/47635) Overlap startup WebSocket preconnect with tool discovery [@bromano-oai](https://github.com/bromano-oai)\n- [#47638](https://github.com/openai/codex/pull/47638) Classify retryable exec-server preparation errors by type [@mtsui-oai](https://github.com/mtsui-oai)\n- [#47639](https://github.com/openai/codex/pull/47639) Add configurable copy-on-select for transcript selections [@fcoury-oai](https://github.com/fcoury-oai)\n- [#47641](https://github.com/openai/codex/pull/47641) Honor Retry-After and preserve server retry deadlines [@anp-oai](https://github.com/anp-oai)\n- [#47642](https://github.com/openai/codex/pull/47642) Add model-specific prefixes to indirect tool descriptions [@rhan-oai](https://github.com/rhan-oai)\n- [#47647](https://github.com/openai/codex/pull/47647) Apply Guardian computer-use review to the Browser connector [@johnl-oai](https://github.com/johnl-oai)\n- [#47648](https://github.com/openai/codex/pull/47648) Support bearer tokens for app-server executor connections [@euroelessar](https://github.com/euroelessar)\n- [#47649](https://github.com/openai/codex/pull/47649) Add opt-in OTLP logging for final agent responses [@xli-oai](https://github.com/xli-oai)\n- [#47653](https://github.com/openai/codex/pull/47653) Attach inherited rollout history to diagnostic reports [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#47654](https://github.com/openai/codex/pull/47654) Make Linux descriptor cleanup fork-safe [@yuzhu-oai](https://github.com/yuzhu-oai)\n- [#47655](https://github.com/openai/codex/pull/47655) Bump the exec-server stable compatibility test to Codex 0.156.1 [@imac-oai](https://github.com/imac-oai)\n- [#47657](https://github.com/openai/codex/pull/47657) Restrict the default Bedrock GovCloud model catalog [@jackz100](https://github.com/jackz100)\n- [#47662](https://github.com/openai/codex/pull/47662) Expose tool dispatch and timing observations to extensions [@euroelessar](https://github.com/euroelessar)\n- [#47663](https://github.com/openai/codex/pull/47663) Preserve managed network policy in route-aware transports [@jackz100](https://github.com/jackz100)\n- [#47665](https://github.com/openai/codex/pull/47665) Preserve early unified exec output in completion events [@sdcoffey](https://github.com/sdcoffey)\n- [#47670](https://github.com/openai/codex/pull/47670) Support model-specific descriptions for agent message board tools [@eknight-oai](https://github.com/eknight-oai)\n- [#47672](https://github.com/openai/codex/pull/47672) Fix no-reparse directory opens on Windows 10 [@zm-oai](https://github.com/zm-oai)\n- [#47673](https://github.com/openai/codex/pull/47673) Clarify registered Windows sandbox setup errors [@zm-oai](https://github.com/zm-oai)\n- [#47677](https://github.com/openai/codex/pull/47677) Support model catalog overrides for MCP resource tool specs [@rhan-oai](https://github.com/rhan-oai)\n- [#47678](https://github.com/openai/codex/pull/47678) Support quoted labels and ampersands in Mermaid flowcharts [@etraut-openai](https://github.com/etraut-openai)\n- [#47679](https://github.com/openai/codex/pull/47679) Add extension hooks for model requests and response streams [@euroelessar](https://github.com/euroelessar)\n- [#47680](https://github.com/openai/codex/pull/47680) Add exec-server RPC timing and process startup tracing [@anp-oai](https://github.com/anp-oai)\n- [#47683](https://github.com/openai/codex/pull/47683) Add executor capability discovery V2 infrastructure [@TAFOYA-OAI](https://github.com/TAFOYA-OAI)\n- [#47686](https://github.com/openai/codex/pull/47686) Make thread-owned Guardian context always enabled [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47688](https://github.com/openai/codex/pull/47688) Remove legacy Guardian authorization evidence paths [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47689](https://github.com/openai/codex/pull/47689) Make Guardian thread context capture unconditional [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47690](https://github.com/openai/codex/pull/47690) Remove obsolete Guardian context capture mode branches [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47691](https://github.com/openai/codex/pull/47691) Materialize rollout persistence for pending inter-agent messages [@dermanyang-oai](https://github.com/dermanyang-oai)\n- [#47693](https://github.com/openai/codex/pull/47693) Configure curl retries for DotSlash installation in CI [@anp-oai](https://github.com/anp-oai)\n- [#47695](https://github.com/openai/codex/pull/47695) Repair rejected Windows sandbox credentials during provisioning [@zm-oai](https://github.com/zm-oai)\n- [#47696](https://github.com/openai/codex/pull/47696) Avoid the shutdown timeout in the lagged-event test [@jgershen-oai](https://github.com/jgershen-oai)\n- [#47698](https://github.com/openai/codex/pull/47698) Allow WebSocket test server shutdown while waiting for requests [@jgershen-oai](https://github.com/jgershen-oai)\n- [#47701](https://github.com/openai/codex/pull/47701) Allow idle threads to prewarm and repair WebSocket connections [@vkg-oai](https://github.com/vkg-oai)\n- [#47703](https://github.com/openai/codex/pull/47703) Preserve account network policy for ChatGPT backend requests [@jackz100](https://github.com/jackz100)\n- [#47704](https://github.com/openai/codex/pull/47704) Fix spawn flag typing and isolate project configuration tests [@seanh-oai](https://github.com/seanh-oai)\n- [#47709](https://github.com/openai/codex/pull/47709) Route resume prewarm through the cached WebSocket session [@vkg-oai](https://github.com/vkg-oai)\n- [#47712](https://github.com/openai/codex/pull/47712) Update unified exec output buffers atomically [@sdcoffey](https://github.com/sdcoffey)\n- [#47713](https://github.com/openai/codex/pull/47713) Reduce dependency coupling in shared configuration crates [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47714](https://github.com/openai/codex/pull/47714) Preserve tool result metadata more selectively under size limits [@ningyi-oai](https://github.com/ningyi-oai)\n- [#47717](https://github.com/openai/codex/pull/47717) Avoid recursive TUI event dispatch for model picker selections [@etraut-openai](https://github.com/etraut-openai)\n- [#47741](https://github.com/openai/codex/pull/47741) Attribute tool telemetry to the invoking turn's product SKU [@rennie-openai](https://github.com/rennie-openai)\n- [#47742](https://github.com/openai/codex/pull/47742) Honor network policy in history notes and image generation extensions [@jackz100](https://github.com/jackz100)\n- [#47745](https://github.com/openai/codex/pull/47745) Skip startup prewarm preparation when the WebSocket is ready [@vkg-oai](https://github.com/vkg-oai)\n- [#47748](https://github.com/openai/codex/pull/47748) Align Cargo and Bazel Rust debug information defaults [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47751](https://github.com/openai/codex/pull/47751) Reduce generic code duplication in RPC and Markdown rendering [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47755](https://github.com/openai/codex/pull/47755) Centralize typed app-server response decoding [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47757](https://github.com/openai/codex/pull/47757) Refactor tool telemetry product SKU matching to use an allowlist [@rennie-openai](https://github.com/rennie-openai)\n- [#47758](https://github.com/openai/codex/pull/47758) Preserve more tool metadata within outgoing message budgets [@ningyi-oai](https://github.com/ningyi-oai)\n- [#47773](https://github.com/openai/codex/pull/47773) Honor catalog schemas for asynchronous user input [@rhan-oai](https://github.com/rhan-oai)\n- [#47797](https://github.com/openai/codex/pull/47797) Support close-on-exec attachments without changing PTY semantics [@jif-oai](https://github.com/jif-oai)\n- [#47799](https://github.com/openai/codex/pull/47799) Enable terminal input approval by default [@jif-oai](https://github.com/jif-oai)\n- [#47808](https://github.com/openai/codex/pull/47808) Allow hosts to provide agent controllers through ThreadManager [@jif-oai](https://github.com/jif-oai)\n- [#47811](https://github.com/openai/codex/pull/47811) Preserve explicit user goal updates in Guardian authorization [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47813](https://github.com/openai/codex/pull/47813) Fix sleep interruption test event handling and fixture lifetime [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47814](https://github.com/openai/codex/pull/47814) Fix a lost wakeup in the unified exec termination test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47817](https://github.com/openai/codex/pull/47817) Stabilize thread resume and memory dual-write tests [@jif-oai](https://github.com/jif-oai)\n- [#47819](https://github.com/openai/codex/pull/47819) Retry Guardian reviews when authorization changes [@teddywyly-oai](https://github.com/teddywyly-oai)\n- [#47820](https://github.com/openai/codex/pull/47820) Add integration coverage for host agent controllers [@jif-oai](https://github.com/jif-oai)\n- [#47824](https://github.com/openai/codex/pull/47824) Allow four concurrent threads in the multi-agent resume test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47828](https://github.com/openai/codex/pull/47828) Wait for login completion in recommended plugin tests [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47830](https://github.com/openai/codex/pull/47830) Bind Guardian async scores to target environment permissions [@jif-oai](https://github.com/jif-oai)\n- [#47832](https://github.com/openai/codex/pull/47832) Stabilize Rosetta test timing and retry delay telemetry [@jif-oai](https://github.com/jif-oai)\n- [#47847](https://github.com/openai/codex/pull/47847) Keep the TUI responsive during clipboard copies [@fcoury-oai](https://github.com/fcoury-oai)\n- [#47851](https://github.com/openai/codex/pull/47851) Preserve human overrides across repeated heartbeat instructions [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47852](https://github.com/openai/codex/pull/47852) Avoid blocking async proxy resolution on the system proxy cache [@jif-oai](https://github.com/jif-oai)\n- [#47856](https://github.com/openai/codex/pull/47856) Initialize media estimates outside the global cache lock [@jif-oai](https://github.com/jif-oai)\n- [#47858](https://github.com/openai/codex/pull/47858) Validate loaded plugins outside the cache lock [@jif-oai](https://github.com/jif-oai)\n- [#47861](https://github.com/openai/codex/pull/47861) Avoid nested read locking when rendering browser sign-in [@jif-oai](https://github.com/jif-oai)\n- [#47867](https://github.com/openai/codex/pull/47867) Render remote permission paths using executor context [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#47870](https://github.com/openai/codex/pull/47870) Add opt-in OTLP logging for Guardian assessments [@jif-oai](https://github.com/jif-oai)\n- [#47871](https://github.com/openai/codex/pull/47871) Fix PID reservation test race and update guardian heartbeat snapshot [@jif-oai](https://github.com/jif-oai)\n- [#47873](https://github.com/openai/codex/pull/47873) Measure deferred tool namespace fragments before and after truncation [@mzeng-openai](https://github.com/mzeng-openai)\n- [#47879](https://github.com/openai/codex/pull/47879) Fix macOS system-alias matching in patch permission checks [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47881](https://github.com/openai/codex/pull/47881) Use Tokio's clock for TUI paste timing [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47886](https://github.com/openai/codex/pull/47886) Preserve diagnostic logs when SQLite logging fails [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#47887](https://github.com/openai/codex/pull/47887) Warn users when SQLite diagnostic log writes fail [@dkovalenko-oai](https://github.com/dkovalenko-oai)\n- [#47889](https://github.com/openai/codex/pull/47889) Include TUI client logs in diagnostic uploads [@etraut-openai](https://github.com/etraut-openai)\n- [#47891](https://github.com/openai/codex/pull/47891) Support client secrets for pre-registered MCP OAuth clients [@willwang-openai](https://github.com/willwang-openai)\n- [#47894](https://github.com/openai/codex/pull/47894) Clean up temporary Codex homes after TUI tests [@fcoury-oai](https://github.com/fcoury-oai)\n- [#47896](https://github.com/openai/codex/pull/47896) Preserve Markdown formatting when copying transcript selections [@fcoury-oai](https://github.com/fcoury-oai)\n- [#47898](https://github.com/openai/codex/pull/47898) Preserve local-binding inheritance in environment network policies [@seanh-oai](https://github.com/seanh-oai)\n- [#47899](https://github.com/openai/codex/pull/47899) Add diagnostic reasons to MCP attribution errors [@peilin-openai](https://github.com/peilin-openai)\n- [#47900](https://github.com/openai/codex/pull/47900) Default local threads to paginated history [@owenlin0](https://github.com/owenlin0)\n- [#47901](https://github.com/openai/codex/pull/47901) Add bounded credential-storage telemetry helpers [@celia-oai](https://github.com/celia-oai)\n- [#47902](https://github.com/openai/codex/pull/47902) Avoid repeated table clones during config merging [@imac-oai](https://github.com/imac-oai)\n- [#47903](https://github.com/openai/codex/pull/47903) Move config key alias normalization ahead of merging [@imac-oai](https://github.com/imac-oai)\n- [#47904](https://github.com/openai/codex/pull/47904) Support nested canonical paths in config key aliases [@imac-oai](https://github.com/imac-oai)\n- [#47908](https://github.com/openai/codex/pull/47908) Alias `tui.whimsy` to `tui.effects.starfield` [@imac-oai](https://github.com/imac-oai)\n- [#47912](https://github.com/openai/codex/pull/47912) Fix attestation routing during thread startup [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#47913](https://github.com/openai/codex/pull/47913) Add an opt-in flag to defer mailbox preemption [@jif-oai](https://github.com/jif-oai)\n- [#47915](https://github.com/openai/codex/pull/47915) Reuse verified V8 checksum manifests from the artifact cache [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47918](https://github.com/openai/codex/pull/47918) Parameterize the turn-start originator header test [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47919](https://github.com/openai/codex/pull/47919) Transport large Windows sandbox launch payloads through the environment [@malsamiri-oai](https://github.com/malsamiri-oai)\n- [#47920](https://github.com/openai/codex/pull/47920) Allow directory moves under global Seatbelt basename denies [@chess-oai](https://github.com/chess-oai)\n- [#47922](https://github.com/openai/codex/pull/47922) Allow full-access Windows setup to provision through registered Core [@zm-oai](https://github.com/zm-oai)\n- [#47924](https://github.com/openai/codex/pull/47924) Make project trust lookup paths explicit and defer root resolution [@seanh-oai](https://github.com/seanh-oai)\n- [#47926](https://github.com/openai/codex/pull/47926) Retry file blob uploads on HTTP 502 and 504 [@mtsui-oai](https://github.com/mtsui-oai)\n- [#47927](https://github.com/openai/codex/pull/47927) Use `127.0.0.1` for local login redirects [@willwang-openai](https://github.com/willwang-openai)\n- [#47932](https://github.com/openai/codex/pull/47932) Remove GPT-5.4 from bundled catalogs and preserve migration prompts [@andrewgu-oai](https://github.com/andrewgu-oai)\n- [#47934](https://github.com/openai/codex/pull/47934) Apply the unchanged-model compaction shortcut to all session sources [@hlevy-openai](https://github.com/hlevy-openai)\n- [#47935](https://github.com/openai/codex/pull/47935) Allow cached catalogs to satisfy MCP startup readiness [@hlevy-openai](https://github.com/hlevy-openai)\n- [#47936](https://github.com/openai/codex/pull/47936) Make MCP and Code Mode input schema budgets configurable [@vivi](https://github.com/vivi)\n- [#47937](https://github.com/openai/codex/pull/47937) Add direct replies for thread settings updates [@sayan-oai](https://github.com/sayan-oai)\n- [#47939](https://github.com/openai/codex/pull/47939) Separate selected plugin identities from MCP contributions [@sayan-oai](https://github.com/sayan-oai)\n- [#47943](https://github.com/openai/codex/pull/47943) Remove unused Windows world-writable audit code [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#47945](https://github.com/openai/codex/pull/47945) Parameterize the thread initialization analytics test by originator [@eddie-openai](https://github.com/eddie-openai)\n- [#47946](https://github.com/openai/codex/pull/47946) Add an in-memory agent message board for ephemeral sessions [@jif-oai](https://github.com/jif-oai)\n- [#47947](https://github.com/openai/codex/pull/47947) Expand root authorization context to 16 messages [@felixxia-oai](https://github.com/felixxia-oai)\n- [#47951](https://github.com/openai/codex/pull/47951) Use prebuilt V8 archives for Bazel on macOS and GNU Linux [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47952](https://github.com/openai/codex/pull/47952) Prune expired in-memory message board registry entries [@jif-oai](https://github.com/jif-oai)\n- [#47954](https://github.com/openai/codex/pull/47954) Move fullscreen startup tips into the transcript [@etraut-openai](https://github.com/etraut-openai)\n- [#47956](https://github.com/openai/codex/pull/47956) Support file references in image edit requests [@kchainani-oai](https://github.com/kchainani-oai)\n- [#47957](https://github.com/openai/codex/pull/47957) Bound tool-call observations to the outgoing Responses message budget [@ningyi-oai](https://github.com/ningyi-oai)\n- [#47962](https://github.com/openai/codex/pull/47962) Request transparent huge pages for Cargo and eligible Bazel rustc jobs [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#47964](https://github.com/openai/codex/pull/47964) Preserve the client-agent header for Amazon Bedrock Runtime [@celia-oai](https://github.com/celia-oai)\n- [#47967](https://github.com/openai/codex/pull/47967) Surface Flex capacity failures as a distinct terminal error [@sdcoffey](https://github.com/sdcoffey)\n- [#47968](https://github.com/openai/codex/pull/47968) Handle Btrfs device mismatches when masking daemon sockets [@etraut-openai](https://github.com/etraut-openai)\n- [#47970](https://github.com/openai/codex/pull/47970) Expose current environment selections for a running turn [@sayan-oai](https://github.com/sayan-oai)\n- [#47971](https://github.com/openai/codex/pull/47971) Add Pro Max plan support and update Pro display names [@etraut-openai](https://github.com/etraut-openai)\n- [#47974](https://github.com/openai/codex/pull/47974) Preserve Git directory protections across writable roots [@aionescu-oai](https://github.com/aionescu-oai)\n- [#47975](https://github.com/openai/codex/pull/47975) Prevent stale voice answers from reappearing during speech recovery [@etraut-openai](https://github.com/etraut-openai)\n- [#47981](https://github.com/openai/codex/pull/47981) Prepare MCP calls directly from advertised tool identities [@hlevy-openai](https://github.com/hlevy-openai)\n- [#47984](https://github.com/openai/codex/pull/47984) Add multi-agent spawn latency and failure metrics [@owenlin0](https://github.com/owenlin0)\n- [#47988](https://github.com/openai/codex/pull/47988) Reuse MCP handlers across equivalent bindings [@hlevy-openai](https://github.com/hlevy-openai)\n- [#47989](https://github.com/openai/codex/pull/47989) Add startup-only PID namespace inheritance to exec-server [@open-matt](https://github.com/open-matt)\n- [#48004](https://github.com/openai/codex/pull/48004) Respect configured authentication in the thread manager sample [@celia-oai](https://github.com/celia-oai)\n- [#48015](https://github.com/openai/codex/pull/48015) Validate tool suggestion install URLs before showing the app link [@aionescu-oai](https://github.com/aionescu-oai)\n- [#48017](https://github.com/openai/codex/pull/48017) Test same-cell permission grants and strict review in code mode [@anp-oai](https://github.com/anp-oai)\n- [#48035](https://github.com/openai/codex/pull/48035) Remove plugin extension metadata from discovery and summaries [@victor-openai](https://github.com/victor-openai)\n- [#48060](https://github.com/openai/codex/pull/48060) Deduplicate retained instructions across Guardian reviews [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48069](https://github.com/openai/codex/pull/48069) Handle early command yields in the Guardian network approval test [@jif-oai](https://github.com/jif-oai)\n- [#48072](https://github.com/openai/codex/pull/48072) Skip message-board notification previews when there are no recipients [@jif-oai](https://github.com/jif-oai)\n- [#48073](https://github.com/openai/codex/pull/48073) Avoid stdin approval for runtime-only permission grants [@jif-oai](https://github.com/jif-oai)\n- [#48077](https://github.com/openai/codex/pull/48077) Add Serde support to agent message board request types [@jif-oai](https://github.com/jif-oai)\n- [#48078](https://github.com/openai/codex/pull/48078) Replay exec-server shell snapshots through unnamed files [@jif-oai](https://github.com/jif-oai)\n- [#48098](https://github.com/openai/codex/pull/48098) Preserve recent authorization context for Guardian reviews [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48099](https://github.com/openai/codex/pull/48099) Honor shell environment policy in legacy snapshots [@jif-oai](https://github.com/jif-oai)\n- [#48100](https://github.com/openai/codex/pull/48100) Add an HTTP client for remote agent message boards [@jif-oai](https://github.com/jif-oai)\n- [#48101](https://github.com/openai/codex/pull/48101) Show multiline command previews in `/ps` [@etraut-openai](https://github.com/etraut-openai)\n- [#48109](https://github.com/openai/codex/pull/48109) Deduplicate retained instructions against Guardian transcripts [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48110](https://github.com/openai/codex/pull/48110) Deduplicate retained instructions in async Guardian context [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48115](https://github.com/openai/codex/pull/48115) Preserve user text parts during local compaction [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48116](https://github.com/openai/codex/pull/48116) Allow reasoning shortcuts to reach Max [@etraut-openai](https://github.com/etraut-openai)\n- [#48118](https://github.com/openai/codex/pull/48118) Add configurable right-click paste to the fullscreen TUI [@fcoury-oai](https://github.com/fcoury-oai)\n- [#48119](https://github.com/openai/codex/pull/48119) Prevent worker completion races in the guardian authorization test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48121](https://github.com/openai/codex/pull/48121) Keep startup drafts visible during command center session handoff [@etraut-openai](https://github.com/etraut-openai)\n- [#48123](https://github.com/openai/codex/pull/48123) Add early yielding for code-mode observations [@pakrym-oai](https://github.com/pakrym-oai)\n- [#48130](https://github.com/openai/codex/pull/48130) Use request notifications in the cloud config loader lifetime test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#48132](https://github.com/openai/codex/pull/48132) Allow Left to open the command center from read-only conversations [@etraut-openai](https://github.com/etraut-openai)","publishedAt":"2026-09-28T00:00:00.000Z","fetchedAt":"2026-09-29T03:59:34.728Z","url":"https://developers.openai.com/codex/changelog/#github-release-397962047","media":[],"coverageCount":0}],"pagination":{"nextCursor":"2026-09-28T00:00:00.000Z|2026-09-29T03:59:34.728Z|rel_veyDtPkUY3h8Q07FcusjM","limit":20},"summaries":{"rolling":{"windowDays":90,"summary":"Codex shipped substantial infrastructure around plugins, realtime voice, and agent composition over the last 90 days. The plugin system graduated from experimental to first-class—developers can now scaffold, test, and install plugins locally or from marketplaces, with product-scoped sync at startup and clearer auth handling. Realtime voice defaulted to WebRTC v2 with native TUI media support and configurable transport, while MCP support expanded to include resource reads, tool-call metadata, and custom server elicitations. Sub-agents gained path-based addressing like `/root/agent_a` with structured messaging, and the app-server layer grew filesystem RPCs and Python SDK bindings to support these flows. In parallel, model availability shifted—GPT-5.4 and GPT-5.3-Codex launched as the flagship agentic models with 1M context and native computer-use, GPT-5.3-Codex-Spark arrived for real-time coding at 1000+ tokens/second, and older model variants were deprecated for ChatGPT sign-in users. The Codex app itself expanded to Windows with native sandbox support, added thread search, mid-turn steering, conversation forking, and theme customization, while the CLI introduced plugin marketplaces, memory controls with reset/deletion, prompt history with `Ctrl+R`, and dynamic bearer token refresh for custom model providers.","releaseCount":38,"generatedAt":"2026-04-16T13:21:17.839Z"},"monthly":[{"year":2026,"month":3,"summary":"Shipped GPT-5.4 and GPT-5.4 mini models, expanding the inference options available to developers. CLI releases moved through versions 0.112 to 0.118 with steady cadence, while plugin support graduated to a buildable, installable feature. App updates shipped continuously across the month alongside the model rollouts.","releaseCount":19,"generatedAt":"2026-04-07T17:27:22.110Z"}]}}