{"id":"prod_0iP-smZKtQJYKB6w0zrye","name":"Codex","slug":"codex","orgId":"org_XCtsUSrelarAybkAnBD3g","url":null,"description":null,"category":"ai","kind":"platform","avatarUrl":null,"createdAt":"2026-04-07T17:24:23.181Z","embeddedAt":"2026-04-15T16:19:39.821Z","deletedAt":null,"sources":[{"id":"src_5o4Llv42g_j-oLZvOjA9p","slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed","url":"https://developers.openai.com/codex/changelog","metadata":"{\"feedUrl\":\"https://developers.openai.com/codex/changelog/rss.xml\",\"feedType\":\"unknown\",\"feedDiscoveredAt\":\"2026-04-07T17:24:33.749Z\",\"noFeedFound\":false,\"feedEtag\":\"W/\\\"2333edb5a0ba97cbafcd6b747b839699\\\"\",\"feedLastModified\":\"Sat, 11 Jul 2026 17:04:44 GMT\",\"feedContentDepth\":\"anchor-fragment\",\"sourceActor\":{\"nextAlarmAt\":\"2026-07-12T14:57:49.059Z\",\"lastAlarmAt\":\"2026-07-12T02:55:26.236Z\",\"managed\":true}}","kind":"platform"}],"tags":["agent","cloud","coding"],"aliases":[],"notice":null,"releases":[{"id":"rel_M6ZwIhEsEyg-sMYpfVFeo","version":"0.144.1","type":"feature","title":"Codex CLI Release: 0.144.1","summary":"Fixed standalone installs failing when GitHub returns compact or reordered release metadata, ensured macOS package installs expose the code-mode host alongside the codex executable, and kept code mode working when the companion host binary is unavailable by falling back to the embedded runtime.","titleGenerated":"Codex CLI 0.144.1 fixes standalone installs and code-mode reliability","titleShort":"Standalone installs fixed; code-mode falls back to embedded runtime","breaking":"none","importance":2,"content":"## Bug Fixes\n\n- Fixed standalone installs failing when GitHub returns compact or reordered release metadata. ([#31913](https://github.com/openai/codex/pull/31913))\n- Ensured macOS package installs expose the code-mode host alongside the `codex` executable. ([#31913](https://github.com/openai/codex/pull/31913))\n- Kept code mode working when the companion host binary is unavailable by falling back to the embedded runtime. ([#31913](https://github.com/openai/codex/pull/31913))\n\n## Changelog\n\nFull Changelog: [rust-v0.144.0...rust-v0.144.1](https://github.com/openai/codex/compare/rust-v0.144.0...rust-v0.144.1)\n\n- [#31913](https://github.com/openai/codex/pull/31913) \\[0.144\\] Backport installer and code-mode reliability fixes [@bolinfest](https://github.com/bolinfest)","publishedAt":"2026-07-09T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-351819708","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":772,"contentTokens":220,"composition":{"bugs":3,"features":0,"enhancements":0}},{"id":"rel_kveOTiuNnrKHJI-9FALB_","version":"0.144.0","type":"feature","title":"Codex CLI Release: 0.144.0","summary":"Added a writes app-approval mode that allows declared read-only actions while prompting for writes, and MCP tools can now request authentication interactively without an experimental opt-in. Fixed Code Mode crashes in Intel macOS release binaries, Windows sandbox file deletion and runtime access, terminal control sequence corruption, and expired authentication refresh for hosted app sessions.","titleGenerated":"Codex CLI 0.144.0 adds writes app-approval mode and MCP interactive auth","titleShort":"Writes app-approval mode; MCP auth no longer experimental","breaking":"none","importance":3,"content":"## New Features\n\n- Usage-limit reset credits now show their type and expiration, and let you choose which credit to redeem. ([#30488](https://github.com/openai/codex/pull/30488))\n- Added a `writes` app-approval mode that allows declared read-only actions while prompting for writes. ([#30482](https://github.com/openai/codex/pull/30482))\n- MCP tools can now request authentication interactively without an experimental opt-in. ([#28772](https://github.com/openai/codex/pull/28772))\n- App-server hosts can provide Codex authentication at runtime and redirect successful logins to a hosted page. ([#28745](https://github.com/openai/codex/pull/28745), [#31274](https://github.com/openai/codex/pull/31274))\n- Global pnunen installs are now detected so diagnostics and updates use the correct package manager. ([#31503](https://github.com/openai/codex/pull/31503))\n- Selecting Ultra reasoning now warns when high multi-agent concurrency could increase usage quickly. ([#31621](https://github.com/openai/codex/pull/31621))\n\n## Bug Fixes\n\n- Resumed ChatGPT threads recover when compaction references a retired model by retrying with the currently selected model. ([#30319](https://github.com/openai/codex/pull/30319))\n- Fixed Code Mode crashes in Intel macOS release binaries. ([#30953](https://github.com/openai/codex/pull/30953))\n- Windows sandbox sessions can delete files in writable roots and access the managed primary runtime. ([#31138](https://github.com/openai/codex/pull/31138), [#31574](https://github.com/openai/codex/pull/31574))\n- Pasted terminal control sequences can no longer corrupt TUI rendering or resumed conversation history. ([#31494](https://github.com/openai/codex/pull/31494))\n- Long-running app sessions now refresh expired authentication for the hosted `codex_apps` connector. ([#31486](https://github.com/openai/codex/pull/31486))\n- Responses WebSockets continue using the low-latency transport while respecting system proxies and custom certificate authorities. ([#31441](https://github.com/openai/codex/pull/31441), [#31622](https://github.com/openai/codex/pull/31622))\n\n## Documentation\n\n- Device-code login warnings now explain how to recognize and stop phishing attempts. ([#31648](https://github.com/openai/codex/pull/31648))\n\n## Chores\n\n- Reduced plugin skill-loading time on remote executors by resolving namespaces once per root. ([#31348](https://github.com/openai/codex/pull/31348))\n- Made the `/review` branch picker faster and more reliable in large repositories. ([#31464](https://github.com/openai/codex/pull/31464))\n- Improved automatic review behavior with clearer instructions and a focused tool set. ([#31480](https://github.com/openai/codex/pull/31480))\n- Made Amazon Bedrock model names clearly identify their GPT-5.6 family and variant. ([#31636](https://github.com/openai/codex/pull/31636))\n\n## Changelog\n\nFull Changelog: [rust-v0.143.0...rust-v0.144.0](https://github.com/openai/codex/compare/rust-v0.143.0...rust-v0.144.0)\n\n- [#30292](https://github.com/openai/codex/pull/30292) Serialize shared MCP OAuth credential stores [@stevenlee-oai](https://github.com/stevenlee-oai)\n- [#30488](https://github.com/openai/codex/pull/30488) \\[codex-cli\\] Show reset details in redemption picker [@jayp-oai](https://github.com/jayp-oai)\n- [#31297](https://github.com/openai/codex/pull/31297) feat(core): emit canonical command execution items [@owenlin0](https://github.com/owenlin0)\n- [#31298](https://github.com/openai/codex/pull/31298) feat(core): emit canonical dynamic tool call items [@owenlin0](https://github.com/owenlin0)\n- [#31369](https://github.com/openai/codex/pull/31369) test(skills): cover plugin namespace loading [@anp-oai](https://github.com/anp-oai)\n- [#30953](https://github.com/openai/codex/pull/30953) fix(release): add missing Intel V8 signing entitlement [@malsamiri-oai](https://github.com/malsamiri-oai)\n- [#31355](https://github.com/openai/codex/pull/31355) refactor: make ExternalAuth return CodexAuth [@lt-oai](https://github.com/lt-oai)\n- [#31352](https://github.com/openai/codex/pull/31352) ci: increase Windows Bazel local test jobs [@anp-oai](https://github.com/anp-oai)\n- [#30482](https://github.com/openai/codex/pull/30482) \\[codex-rs\\] Add writes app approval mode [@zamoshchin-openai](https://github.com/zamoshchin-openai)\n- [#31439](https://github.com/openai/codex/pull/31439) Handle bio policy errors in Codex [@fc-oai](https://github.com/fc-oai)\n- [#31319](https://github.com/openai/codex/pull/31319) \\[codex\\] add connector runtime latency metrics [@mzeng-openai](https://github.com/mzeng-openai)\n- [#31312](https://github.com/openai/codex/pull/31312) Use model catalog approval messages [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#31422](https://github.com/openai/codex/pull/31422) test: generalize exec-server fixture [@anp-oai](https://github.com/anp-oai)\n- [#28772](https://github.com/openai/codex/pull/28772) \\[codex\\] Enable auth elicitation by default [@mzeng-openai](https://github.com/mzeng-openai)\n- [#28745](https://github.com/openai/codex/pull/28745) \\[login\\] support hosted success redirects [@rafael-jac](https://github.com/rafael-jac)\n- [#31316](https://github.com/openai/codex/pull/31316) chore: extract remote compaction request attempts [@celia-oai](https://github.com/celia-oai)\n- [#31299](https://github.com/openai/codex/pull/31299) feat(core): emit canonical sub-agent activity items [@owenlin0](https://github.com/owenlin0)\n- [#31285](https://github.com/openai/codex/pull/31285) \\[1/5\\] \\[codex\\] sync managed-layer bundle schema [@hefuc-oai](https://github.com/hefuc-oai)\n- [#31300](https://github.com/openai/codex/pull/31300) feat(core): emit canonical collab tool call items [@owenlin0](https://github.com/owenlin0)\n- [#31301](https://github.com/openai/codex/pull/31301) feat(core): emit canonical collab wait items [@owenlin0](https://github.com/owenlin0)\n- [#30319](https://github.com/openai/codex/pull/30319) fix: retry rejected previous-model compaction with selected model [@celia-oai](https://github.com/celia-oai)\n- [#30879](https://github.com/openai/codex/pull/30879) Handle mixed-case URLs in Windows command safety [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#31191](https://github.com/openai/codex/pull/31191) Handle completion separators and popup dismissal [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#31425](https://github.com/openai/codex/pull/31425) test: add TestAppServer builder [@anp-oai](https://github.com/anp-oai)\n- [#31342](https://github.com/openai/codex/pull/31342) http-client: expose WebSocket proxy prerequisites [@bolinfest](https://github.com/bolinfest)\n- [#31348](https://github.com/openai/codex/pull/31348) perf(skills): resolve plugin namespaces per root [@anp-oai](https://github.com/anp-oai)\n- [#31289](https://github.com/openai/codex/pull/31289) Use canonical indexed web access field [@winston-openai](https://github.com/winston-openai)\n- [#31464](https://github.com/openai/codex/pull/31464) Speed up review branch picker via `for-each-ref` [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#31332](https://github.com/openai/codex/pull/31332) ci: parameterize Cargo target paths [@anp-oai](https://github.com/anp-oai)\n- [#31421](https://github.com/openai/codex/pull/31421) refactor: unify external auth resolution [@pakrym-oai](https://github.com/pakrym-oai)\n- [#31451](https://github.com/openai/codex/pull/31451) test: migrate TestAppServer callers to builder [@anp-oai](https://github.com/anp-oai)\n- [#31274](https://github.com/openai/codex/pull/31274) \\[codex\\] Add externally provided Codex auth [@lt-oai](https://github.com/lt-oai)\n- [#31501](https://github.com/openai/codex/pull/31501) trace hook command execution [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#31356](https://github.com/openai/codex/pull/31356) ci: run V8 source builds on Windows 2025 [@anp-oai](https://github.com/anp-oai)\n- [#31283](https://github.com/openai/codex/pull/31283) core: support extension-owned turn items [@owenlin0](https://github.com/owenlin0)\n- [#31570](https://github.com/openai/codex/pull/31570) fs: support pruning hidden directories during walks [@jif-oai](https://github.com/jif-oai)\n- [#31465](https://github.com/openai/codex/pull/31465) Align empty branch list message with search [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#31586](https://github.com/openai/codex/pull/31586) Stabilize encrypted MAv2 spawn request test [@jif-oai](https://github.com/jif-oai)\n- [#31585](https://github.com/openai/codex/pull/31585) Stabilize remote compaction parity against dynamic skill catalogs [@jif-oai](https://github.com/jif-oai)\n- [#31518](https://github.com/openai/codex/pull/31518) Log plugin install failure subtypes [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#31587](https://github.com/openai/codex/pull/31587) Stabilize shared rollout budget test [@jif-oai](https://github.com/jif-oai)\n- [#31503](https://github.com/openai/codex/pull/31503) Detect Codex installs managed by pnpm [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#31525](https://github.com/openai/codex/pull/31525) core: migrate standalone web search to extension-owned turn items [@owenlin0](https://github.com/owenlin0)\n- [#31473](https://github.com/openai/codex/pull/31473) feat(core): emit canonical review mode items [@owenlin0](https://github.com/owenlin0)\n- [#31452](https://github.com/openai/codex/pull/31452) test: remove TestAppServer constructors [@anp-oai](https://github.com/anp-oai)\n- [#31612](https://github.com/openai/codex/pull/31612) Round MCP timeout durations in error messages [@jif-oai](https://github.com/jif-oai)\n- [#31138](https://github.com/openai/codex/pull/31138) fix(windows-sandbox): allow deletion in writable roots [@fcoury-oai](https://github.com/fcoury-oai)\n- [#31500](https://github.com/openai/codex/pull/31500) code-mode: move to hosted mode by default [@cconger](https://github.com/cconger)\n- [#31494](https://github.com/openai/codex/pull/31494) tui: sanitize terminal controls in user messages [@etraut-openai](https://github.com/etraut-openai)\n- [#31524](https://github.com/openai/codex/pull/31524) chore(protocol): use UUIDv7 for generated item IDs [@owenlin0](https://github.com/owenlin0)\n- [#31496](https://github.com/openai/codex/pull/31496) Fall back to HTTP when Apple Git is unavailable [@fc-oai](https://github.com/fc-oai)\n- [#31578](https://github.com/openai/codex/pull/31578) Bound exec-server pending RPCs [@jif-oai](https://github.com/jif-oai)\n- [#29875](https://github.com/openai/codex/pull/29875) \\[codex\\] Sanitize imported session fallback titles [@stefanstokic-oai](https://github.com/stefanstokic-oai)\n- [#31621](https://github.com/openai/codex/pull/31621) tui: warn on Ultra with high multi-agent concurrency [@shijie-oai](https://github.com/shijie-oai)\n- [#31622](https://github.com/openai/codex/pull/31622) websocket-client: add proxy-aware connector [@bolinfest](https://github.com/bolinfest)\n- [#31574](https://github.com/openai/codex/pull/31574) \\[codex\\] Grant Windows sandbox access to primary runtime [@abhinav-oai](https://github.com/abhinav-oai)\n- [#31292](https://github.com/openai/codex/pull/31292) Reuse MCP tool snapshot within a sampling request [@sayan-oai](https://github.com/sayan-oai)\n- [#31630](https://github.com/openai/codex/pull/31630) feat(core): emit canonical hook prompt items [@owenlin0](https://github.com/owenlin0)\n- [#31636](https://github.com/openai/codex/pull/31636) feat: change amazon Bedrock GPT-5.6 display names [@celia-oai](https://github.com/celia-oai)\n- [#31629](https://github.com/openai/codex/pull/31629) core: stop emitting legacy command events directly [@owenlin0](https://github.com/owenlin0)\n- [#31441](https://github.com/openai/codex/pull/31441) core: preserve Responses WebSockets with system proxy [@bolinfest](https://github.com/bolinfest)\n- [#31357](https://github.com/openai/codex/pull/31357) ci: route build IO through Dev Drives [@anp-oai](https://github.com/anp-oai)\n- [#31461](https://github.com/openai/codex/pull/31461) chore: remove inert cargo audit workflow [@anp-oai](https://github.com/anp-oai)\n- [#31614](https://github.com/openai/codex/pull/31614) test: migrate app-server v2 starts to auto env [@anp-oai](https://github.com/anp-oai)\n- [#31497](https://github.com/openai/codex/pull/31497) \\[codex\\] increase tool schema compaction threshold [@fbauer33](https://github.com/fbauer33)\n- [#31650](https://github.com/openai/codex/pull/31650) code-mode: make all approvals trigger elicitation pause [@cconger](https://github.com/cconger)\n- [#31648](https://github.com/openai/codex/pull/31648) Clarify device-code phishing warning [@etraut-openai](https://github.com/etraut-openai)\n- [#31663](https://github.com/openai/codex/pull/31663) test(app-server): use native rollout fixture paths [@fcoury-oai](https://github.com/fcoury-oai)\n- [#31330](https://github.com/openai/codex/pull/31330) \\[codex-apps\\] Omit internal fields from file payloads [@jacobzhou-oai](https://github.com/jacobzhou-oai)\n- [#31480](https://github.com/openai/codex/pull/31480) Update auto review prompting [@olliem-oai](https://github.com/olliem-oai)\n- [#21818](https://github.com/openai/codex/pull/21818) Update models.json @github-actions\n- [#31427](https://github.com/openai/codex/pull/31427) test: add delayed exec-server transport [@anp-oai](https://github.com/anp-oai)\n- [#30278](https://github.com/openai/codex/pull/30278) \\[codex\\] Preserve reviewer when resuming threads [@viyatb-oai](https://github.com/viyatb-oai)\n- [#31675](https://github.com/openai/codex/pull/31675) Expand agent core ownership [@pakrym-oai](https://github.com/pakrym-oai)\n- [#31486](https://github.com/openai/codex/pull/31486) \\[connectors\\] Refresh codex\\_apps /ps/mcp auth [@stevenlee-oai](https://github.com/stevenlee-oai)\n- [#31361](https://github.com/openai/codex/pull/31361) model-provider: route model discovery through HTTP client factory [@bolinfest](https://github.com/bolinfest)\n- [#30188](https://github.com/openai/codex/pull/30188) feat(rollout): persist TurnItems for paginated thread rollouts [@owenlin0](https://github.com/owenlin0)\n- [#31596](https://github.com/openai/codex/pull/31596) Use the image generation extension by default [@won-openai](https://github.com/won-openai)\n- [#31684](https://github.com/openai/codex/pull/31684) Update models.json @github-actions","publishedAt":"2026-07-09T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-351657410","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":14371,"contentTokens":4327,"composition":{"bugs":6,"features":6,"enhancements":3}},{"id":"rel_jgrsgBNvtz26GcaJLq_n9","version":null,"type":"feature","title":"Codex joins the ChatGPT desktop app","summary":"Codex is now part of the ChatGPT desktop app on macOS and Windows, with existing users able to update while keeping their projects, settings, and workflows. New capabilities include inline Markdown and code editing with revision requests, GitHub pull request review in the sidebar with feedback alongside diffs, and cross-repository project support. Computer Use is faster with GPT-5.6, task activity tracking improved, plugin management simplified, and mobile connection reliability and SSH video rendering fixed.","titleGenerated":"Codex joins the ChatGPT desktop app on macOS and Windows","titleShort":"Codex integrates into ChatGPT desktop; GitHub PR review added","breaking":"none","importance":4,"content":"# Codex joins the ChatGPT desktop app\n\nCodex is now part of the ChatGPT desktop app on macOS and Windows. Existing\nCodex app users can update as usual and keep their projects, settings, and\nworkflows. You can make Codex the default view and, on macOS, keep the Codex\napp icon.\n\n### New features\n\n- Edit Markdown and code directly in the app, use inline annotations, and ask\n  Codex to revise selected content.\n- Review GitHub pull requests in the sidebar, with reviewer feedback alongside\n  the diff, without leaving the app.\n- Work across repositories in one project.\n\n### Performance improvements and bug fixes\n\n- Made Computer Use faster with GPT-5.6.\n- Made task activity and progress easier to follow while Codex works.\n- Simplified plugin management by moving it into Settings.\n- Improved mobile connection reliability and fixed video rendering for SSH\n  projects.\n- Additional performance improvements and bug fixes.","publishedAt":"2026-07-09T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-07-09-app","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":923,"contentTokens":199,"composition":{"bugs":3,"features":3,"enhancements":4}},{"id":"rel_Bf3oWte-BJs0HKRCHmUb1","version":"0.143.0","type":"feature","title":"Codex CLI Release: 0.143.0","summary":"Remote plugins are now enabled by default with richer catalog rows, npm marketplace sources, and visible remote/local version indicators. Codex can now route authentication and Responses API traffic through macOS and Windows system proxies, including PAC and WPAD configurations. Also added Amazon Bedrock GPT-5.6 models with reasoning effort support, manual pairing codes via codex remote-control pair, MCP tool search by default, and app-server environment inspection and thread forking capabilities. Several bug fixes include Windows ConPTY input handling, stale TUI prompts, exec server offline recovery, and remote-control token refresh storms.","titleGenerated":"Codex CLI 0.143.0 enables remote plugins by default and adds system proxy support","titleShort":"Remote plugins now default on; system proxy routing added","breaking":"major","importance":3,"content":"## New Features\n\n- Remote plugins are now enabled by default, with richer catalog rows, npm marketplace sources, and visible remote/local versions. ([#30297](https://github.com/openai/codex/pull/30297), [#26705](https://github.com/openai/codex/pull/26705), [#29375](https://github.com/openai/codex/pull/29375), [#30981](https://github.com/openai/codex/pull/30981))\n- Codex can route authentication and Responses API traffic through macOS and Windows system proxies, including PAC and WPAD configurations. ([#26708](https://github.com/openai/codex/pull/26708), [#26709](https://github.com/openai/codex/pull/26709), [#31335](https://github.com/openai/codex/pull/31335))\n- Added `codex remote-control pair` for generating manual pairing codes from a running daemon. ([#29913](https://github.com/openai/codex/pull/29913))\n- Added Amazon Bedrock GPT-5.6 Sol, Terra, and Luna models, with first-class support for `max` reasoning effort. ([#30285](https://github.com/openai/codex/pull/30285), [#30467](https://github.com/openai/codex/pull/30467))\n- MCP tools now use tool search by default, and ChatGPT-hosted MCP servers can explicitly use session authentication. ([#29486](https://github.com/openai/codex/pull/29486), [#29733](https://github.com/openai/codex/pull/29733))\n- App-server clients can inspect environments, list descendant threads, and fork history through a specific turn. ([#30291](https://github.com/openai/codex/pull/30291), [#29591](https://github.com/openai/codex/pull/29591), [#30277](https://github.com/openai/codex/pull/30277))\n\n## Bug Fixes\n\n- Fixed Windows ConPTY input handling for line endings and backspace, plus sandbox credential retry edge cases. ([#29734](https://github.com/openai/codex/pull/29734), [#29624](https://github.com/openai/codex/pull/29624), [#29637](https://github.com/openai/codex/pull/29637))\n- Fixed stale TUI safety prompts and cancelled reviews that could leave MCP startup appearing busy. ([#30490](https://github.com/openai/codex/pull/30490), [#31189](https://github.com/openai/codex/pull/31189))\n- Improved recovery when exec servers are temporarily offline and prevented remote-control token refresh retry storms. ([#30098](https://github.com/openai/codex/pull/30098), [#30201](https://github.com/openai/codex/pull/30201))\n- Preserved trailing realtime transcript text and terminal rollout events during shutdown. ([#29918](https://github.com/openai/codex/pull/29918), [#30144](https://github.com/openai/codex/pull/30144))\n- Improved incremental WebSocket request success by ignoring response metadata during comparisons. ([#30770](https://github.com/openai/codex/pull/30770))\n- Reduced installer failures from GitHub API rate limits by reusing release metadata. ([#31056](https://github.com/openai/codex/pull/31056))\n\n## Documentation\n\n- Documented UUID7 thread and turn IDs, plus recommended remote-executor integration-test workflows. ([#27714](https://github.com/openai/codex/pull/27714), [#29790](https://github.com/openai/codex/pull/29790))\n\n## Chores\n\n- Updated OpenSSL, Hono, fast-uri, quick-xml, and crossbeam-epoch to address security advisories. ([#29487](https://github.com/openai/codex/pull/29487), [#29650](https://github.com/openai/codex/pull/29650), [#30941](https://github.com/openai/codex/pull/30941), [#31308](https://github.com/openai/codex/pull/31308))\n\n## Changelog\n\nFull Changelog: [rust-v0.142.0...rust-v0.143.0](https://github.com/openai/codex/compare/rust-v0.142.0...rust-v0.143.0)\n\n- [#26708](https://github.com/openai/codex/pull/26708) PAC 3 - Add Windows system proxy resolver [@canvrno-oai](https://github.com/canvrno-oai)\n- [#28769](https://github.com/openai/codex/pull/28769) Register full CDP requirements feature [@syuan-oai](https://github.com/syuan-oai)\n- [#29485](https://github.com/openai/codex/pull/29485) \\[codex\\] fetch featured IDs for remote plugins [@ericning-o](https://github.com/ericning-o)\n- [#29487](https://github.com/openai/codex/pull/29487) Upgrade bundled OpenSSL to 3.6.3 [@jif-oai](https://github.com/jif-oai)\n- [#29489](https://github.com/openai/codex/pull/29489) \\[codex\\] Update esbuild to 0.28.1 [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29488](https://github.com/openai/codex/pull/29488) \\[plugins\\] Add dark-mode logo metadata [@drewschuster-openai](https://github.com/drewschuster-openai)\n- [#29249](https://github.com/openai/codex/pull/29249) \\[codex\\] migrate environment context to model world state [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29494](https://github.com/openai/codex/pull/29494) core: wrap token budget window context [@bolinfest](https://github.com/bolinfest)\n- [#29417](https://github.com/openai/codex/pull/29417) \\[codex\\] replace remote images with model-visible error text [@rka-oai](https://github.com/rka-oai)\n- [#28360](https://github.com/openai/codex/pull/28360) feat(core): store turn\\_id on ResponseItem metadata [@owenlin0](https://github.com/owenlin0)\n- [#29486](https://github.com/openai/codex/pull/29486) \\[codex\\] Use tool search for MCP tools by default [@sayan-oai](https://github.com/sayan-oai)\n- [#29501](https://github.com/openai/codex/pull/29501) path-uri: clarify host-native path conversion [@anp-oai](https://github.com/anp-oai)\n- [#29504](https://github.com/openai/codex/pull/29504) fix: world state response item test [@celia-oai](https://github.com/celia-oai)\n- [#26704](https://github.com/openai/codex/pull/26704) TUI Plugin Sharing 4 - cover remote plugin catalog flows [@canvrno-oai](https://github.com/canvrno-oai)\n- [#29419](https://github.com/openai/codex/pull/29419) \\[codex\\] reject remote images at app-server ingress [@rka-oai](https://github.com/rka-oai)\n- [#28992](https://github.com/openai/codex/pull/28992) chore: improve expired Bedrock credential errors [@celia-oai](https://github.com/celia-oai)\n- [#29467](https://github.com/openai/codex/pull/29467) Make formatter output quiet on success [@anp-oai](https://github.com/anp-oai)\n- [#26709](https://github.com/openai/codex/pull/26709) PAC 4 - Add macOS system proxy resolver [@canvrno-oai](https://github.com/canvrno-oai)\n- [#29490](https://github.com/openai/codex/pull/29490) chore: warn when Code Mode lacks model metadata [@celia-oai](https://github.com/celia-oai)\n- [#29493](https://github.com/openai/codex/pull/29493) mcp: accept foreign absolute cwd for remote stdio [@anp-oai](https://github.com/anp-oai)\n- [#29473](https://github.com/openai/codex/pull/29473) Propagate safety buffering treatment metadata [@fc-oai](https://github.com/fc-oai)\n- [#24092](https://github.com/openai/codex/pull/24092) \\[codex\\] Reject unlowered PowerShell AST regions [@bookholt-oai](https://github.com/bookholt-oai)\n- [#29155](https://github.com/openai/codex/pull/29155) \\[codex\\] Expose service tier and reasoning effort in OTEL [@daniel-oai](https://github.com/daniel-oai)\n- [#29068](https://github.com/openai/codex/pull/29068) \\[codex\\] stylistic changes [@rka-oai](https://github.com/rka-oai)\n- [#29518](https://github.com/openai/codex/pull/29518) Remove redundant Codex Apps manager flag [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#27946](https://github.com/openai/codex/pull/27946) \\[codex\\] Use input items for Responses Lite tools [@rka-oai](https://github.com/rka-oai)\n- [#29528](https://github.com/openai/codex/pull/29528) Centralize Codex Apps client handling [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29577](https://github.com/openai/codex/pull/29577) Handle additional tools in image URL validation [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29575](https://github.com/openai/codex/pull/29575) Remove redundant Codex Apps cache guard [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29583](https://github.com/openai/codex/pull/29583) Group Codex Apps client setup [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29358](https://github.com/openai/codex/pull/29358) Allow codex sandbox to consume MCP sandbox state [@jif-oai](https://github.com/jif-oai)\n- [#29599](https://github.com/openai/codex/pull/29599) Stop persisting bridged log events [@jif-oai](https://github.com/jif-oai)\n- [#29615](https://github.com/openai/codex/pull/29615) Fix Codex Apps auth elicitation hang [@jif-oai](https://github.com/jif-oai)\n- [#29067](https://github.com/openai/codex/pull/29067) Namespace multi-agent v2 tools under collaboration [@jif-oai](https://github.com/jif-oai)\n- [#29614](https://github.com/openai/codex/pull/29614) path-uri: add lexical containment [@jif-oai](https://github.com/jif-oai)\n- [#28426](https://github.com/openai/codex/pull/28426) Share resumed rollout history [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#29634](https://github.com/openai/codex/pull/29634) Update rmcp to 1.8.0 [@jif-oai](https://github.com/jif-oai)\n- [#29650](https://github.com/openai/codex/pull/29650) Update vulnerable Hono and fast-uri dependencies [@jif-oai](https://github.com/jif-oai)\n- [#29498](https://github.com/openai/codex/pull/29498) \\[codex\\] Instrument rollout persistence bytes [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#29659](https://github.com/openai/codex/pull/29659) \\[core\\] debounce current-time reminders by elapsed time [@rka-oai](https://github.com/rka-oai)\n- [#29608](https://github.com/openai/codex/pull/29608) Shut down superseded MCP managers on refresh [@jif-oai](https://github.com/jif-oai)\n- [#29527](https://github.com/openai/codex/pull/29527) core: use turn-owned world state for inline compaction [@sayan-oai](https://github.com/sayan-oai)\n- [#29672](https://github.com/openai/codex/pull/29672) \\[codex\\] Handle additional tools in rollout persistence metrics [@rka-oai](https://github.com/rka-oai)\n- [#29669](https://github.com/openai/codex/pull/29669) Handle additional tools in rollout persistence metrics [@winston-openai](https://github.com/winston-openai)\n- [#29680](https://github.com/openai/codex/pull/29680) Revert \"Handle additional tools in rollout persistence metrics\" [@rasmusrygaard](https://github.com/rasmusrygaard)\n- [#27714](https://github.com/openai/codex/pull/27714) app-server: document thread and turn IDs are UUID7 [@owenlin0](https://github.com/owenlin0)\n- [#29456](https://github.com/openai/codex/pull/29456) Prepare managed network sandbox context [@jif-oai](https://github.com/jif-oai)\n- [#28418](https://github.com/openai/codex/pull/28418) chore(core) rm AskForApproval::OnFailure [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#29675](https://github.com/openai/codex/pull/29675) core: add extra metadata field to Thread struct [@kumquatexpress](https://github.com/kumquatexpress)\n- [#29013](https://github.com/openai/codex/pull/29013) Keep managed MITM CA private keys in proxy memory [@winston-openai](https://github.com/winston-openai)\n- [#29495](https://github.com/openai/codex/pull/29495) Separate local and remote plugin analytics IDs [@jameswt-oai](https://github.com/jameswt-oai)\n- [#29671](https://github.com/openai/codex/pull/29671) \\[codex\\] Preserve proxy state for filesystem sandbox helpers [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#29513](https://github.com/openai/codex/pull/29513) \\[codex\\] allow image generation with provider auth [@richardopenai](https://github.com/richardopenai)\n- [#29526](https://github.com/openai/codex/pull/29526) core: resolve view\\_image paths in selected environment [@anp-oai](https://github.com/anp-oai)\n- [#29696](https://github.com/openai/codex/pull/29696) \\[codex\\] Fix stale approval policy in MCP test [@sayan-oai](https://github.com/sayan-oai)\n- [#29704](https://github.com/openai/codex/pull/29704) \\[codex\\] Fix stale approval policy in MCP test [@kumquatexpress](https://github.com/kumquatexpress)\n- [#29547](https://github.com/openai/codex/pull/29547) core: use current step environments for tools [@sayan-oai](https://github.com/sayan-oai)\n- [#28976](https://github.com/openai/codex/pull/28976) Add MCP tool call error metrics [@stevenlee-oai](https://github.com/stevenlee-oai)\n- [#27045](https://github.com/openai/codex/pull/27045) feat(guardian): include connected account email in app reviews [@viyatb-oai](https://github.com/viyatb-oai)\n- [#29620](https://github.com/openai/codex/pull/29620) Decouple plugin manifest path resolution [@jif-oai](https://github.com/jif-oai)\n- [#29666](https://github.com/openai/codex/pull/29666) \\[codex\\] Report the exec-server working directory [@rasmusrygaard](https://github.com/rasmusrygaard)\n- [#29705](https://github.com/openai/codex/pull/29705) feat(app-server): thread/turns/items/list -> thread/items/list [@owenlin0](https://github.com/owenlin0)\n- [#29716](https://github.com/openai/codex/pull/29716) code-mode: Rename codex\\_code\\_mode::CodeModeService [@cconger](https://github.com/cconger)\n- [#29712](https://github.com/openai/codex/pull/29712) test: branch on target OS instead of runner flavor [@anp-oai](https://github.com/anp-oai)\n- [#29728](https://github.com/openai/codex/pull/29728) core tests: rename automatic environment builder [@anp-oai](https://github.com/anp-oai)\n- [#29158](https://github.com/openai/codex/pull/29158) path-uri: remove legacy path deserialization [@anp-oai](https://github.com/anp-oai)\n- [#29519](https://github.com/openai/codex/pull/29519) core: persist initial context window metadata [@bolinfest](https://github.com/bolinfest)\n- [#28918](https://github.com/openai/codex/pull/28918) Make selected plugin roots URI-native [@jif-oai](https://github.com/jif-oai)\n- [#29515](https://github.com/openai/codex/pull/29515) \\[codex\\] define code mode host handshake protocol [@cconger](https://github.com/cconger)\n- [#29715](https://github.com/openai/codex/pull/29715) \\[codex\\] surface rollout budget exhaustion [@rka-oai](https://github.com/rka-oai)\n- [#29732](https://github.com/openai/codex/pull/29732) code-mode: Remove Session::is\\_alive() [@cconger](https://github.com/cconger)\n- [#29626](https://github.com/openai/codex/pull/29626) Load executor skills without host path conversion [@jif-oai](https://github.com/jif-oai)\n- [#29714](https://github.com/openai/codex/pull/29714) protocol: separate app and exec RPC ownership [@anp-oai](https://github.com/anp-oai)\n- [#29664](https://github.com/openai/codex/pull/29664) refactor: extract context window token status [@bolinfest](https://github.com/bolinfest)\n- [#29665](https://github.com/openai/codex/pull/29665) fix: scope context remaining to body window [@bolinfest](https://github.com/bolinfest)\n- [#29744](https://github.com/openai/codex/pull/29744) \\[codex\\] rename rollout budget error to session budget error [@rka-oai](https://github.com/rka-oai)\n- [#29739](https://github.com/openai/codex/pull/29739) Update new\\_context\\_window instructions [@andmis](https://github.com/andmis)\n- [#29743](https://github.com/openai/codex/pull/29743) core: reset context for token budget compaction [@bolinfest](https://github.com/bolinfest)\n- [#29477](https://github.com/openai/codex/pull/29477) Support thread-level originator overrides [@alexsong-oai](https://github.com/alexsong-oai)\n- [#29745](https://github.com/openai/codex/pull/29745) core: add wait\\_for\\_environment for starting environments [@sayan-oai](https://github.com/sayan-oai)\n- [#28630](https://github.com/openai/codex/pull/28630) \\[codex\\] trace MCP startup latency [@rphilizaire-openai](https://github.com/rphilizaire-openai)\n- [#29750](https://github.com/openai/codex/pull/29750) chore: assign `amsg_` IDs to agent messages [@bolinfest](https://github.com/bolinfest)\n- [#29746](https://github.com/openai/codex/pull/29746) test: add app-server auto environment helper [@anp-oai](https://github.com/anp-oai)\n- [#29711](https://github.com/openai/codex/pull/29711) Let image generation extension hosts control output persistence [@won-openai](https://github.com/won-openai)\n- [#29762](https://github.com/openai/codex/pull/29762) \\[codex\\] Reuse compacted history replacement for new context windows [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29768](https://github.com/openai/codex/pull/29768) \\[codex\\] Update bundled skill installer guidance [@sayan-oai](https://github.com/sayan-oai)\n- [#29690](https://github.com/openai/codex/pull/29690) \\[plugins\\] Add marketplace source requirements [@xl-openai](https://github.com/xl-openai)\n- [#29765](https://github.com/openai/codex/pull/29765) \\[codex\\] Ignore local curated plugins when remote catalog is active [@xl-openai](https://github.com/xl-openai)\n- [#29767](https://github.com/openai/codex/pull/29767) \\[codex\\] Assign response item IDs in forked history [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29721](https://github.com/openai/codex/pull/29721) auth: move domain mode below app wire types [@anp-oai](https://github.com/anp-oai)\n- [#29753](https://github.com/openai/codex/pull/29753) \\[plugins\\] Enforce marketplace source admission requirements [@xl-openai](https://github.com/xl-openai)\n- [#29722](https://github.com/openai/codex/pull/29722) config: own layer provenance types [@anp-oai](https://github.com/anp-oai)\n- [#29723](https://github.com/openai/codex/pull/29723) connectors: own app metadata types [@anp-oai](https://github.com/anp-oai)\n- [#29788](https://github.com/openai/codex/pull/29788) test: run app-server integration tests under Wine [@anp-oai](https://github.com/anp-oai)\n- [#29789](https://github.com/openai/codex/pull/29789) test: use automatic environments in app-server integration tests [@anp-oai](https://github.com/anp-oai)\n- [#29790](https://github.com/openai/codex/pull/29790) docs: document remote executor integration testing [@anp-oai](https://github.com/anp-oai)\n- [#29815](https://github.com/openai/codex/pull/29815) \\[codex\\] Remove auto-compaction opt-out [@rhan-oai](https://github.com/rhan-oai)\n- [#29628](https://github.com/openai/codex/pull/29628) Keep executor plugin MCP paths URI-native [@jif-oai](https://github.com/jif-oai)\n- [#29731](https://github.com/openai/codex/pull/29731) \\[codex\\] Emit implicit skill usage for support reads [@alexsong-oai](https://github.com/alexsong-oai)\n- [#29829](https://github.com/openai/codex/pull/29829) Persist agent messages as response items [@jif-oai](https://github.com/jif-oai)\n- [#29841](https://github.com/openai/codex/pull/29841) Add a bounded filesystem walk RPC [@jif-oai](https://github.com/jif-oai)\n- [#29842](https://github.com/openai/codex/pull/29842) Use fs/walk for environment skill discovery [@jif-oai](https://github.com/jif-oai)\n- [#29567](https://github.com/openai/codex/pull/29567) \\[codex\\] show external import result counts [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#29831](https://github.com/openai/codex/pull/29831) Cache plugin namespace during executor skill discovery [@jif-oai](https://github.com/jif-oai)\n- [#29720](https://github.com/openai/codex/pull/29720) ci: fail jobs that dirty the worktree [@anp-oai](https://github.com/anp-oai)\n- [#29887](https://github.com/openai/codex/pull/29887) Fix environment skill discovery after merge [@jif-oai](https://github.com/jif-oai)\n- [#29734](https://github.com/openai/codex/pull/29734) \\[codex\\] fix Windows ConPTY input handling [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#28593](https://github.com/openai/codex/pull/28593) \\[codex\\] suppress low usage remaining warnings when credits are available [@brooks-oai](https://github.com/brooks-oai)\n- [#29624](https://github.com/openai/codex/pull/29624) Preserve Windows sandbox identity during credential retry [@jif-oai](https://github.com/jif-oai)\n- [#27466](https://github.com/openai/codex/pull/27466) \\[codex\\] Trace exec-server JSON-RPC requests [@richardopenai](https://github.com/richardopenai)\n- [#29844](https://github.com/openai/codex/pull/29844) Follow directory symlinks in filesystem walks [@jif-oai](https://github.com/jif-oai)\n- [#29637](https://github.com/openai/codex/pull/29637) Skip credential refresh for WindowsApps launch failures [@jif-oai](https://github.com/jif-oai)\n- [#29591](https://github.com/openai/codex/pull/29591) feat(app-server): list descendant threads by ancestor [@btraut-openai](https://github.com/btraut-openai)\n- [#28034](https://github.com/openai/codex/pull/28034) feat(network-proxy): experimental local credential broker [@winston-openai](https://github.com/winston-openai)\n- [#29736](https://github.com/openai/codex/pull/29736) \\[codex\\] Inject agent graph store into ThreadManager [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#29889](https://github.com/openai/codex/pull/29889) \\[apps\\] Thread structured icon assets through app list [@drewschuster-openai](https://github.com/drewschuster-openai)\n- [#29724](https://github.com/openai/codex/pull/29724) mcp: keep elicitation requests below app wire types [@anp-oai](https://github.com/anp-oai)\n- [#29684](https://github.com/openai/codex/pull/29684) \\[plugins\\] Track plugin install requests by ID [@adaley-openai](https://github.com/adaley-openai)\n- [#29870](https://github.com/openai/codex/pull/29870) Pipeline bounded AGENTS.md and Git root probes [@jif-oai](https://github.com/jif-oai)\n- [#29893](https://github.com/openai/codex/pull/29893) \\[codex\\] dedupe remote control account header [@shuo-openai](https://github.com/shuo-openai)\n- [#29851](https://github.com/openai/codex/pull/29851) Add a connector declaration snapshot [@jif-oai](https://github.com/jif-oai)\n- [#29903](https://github.com/openai/codex/pull/29903) path-uri: normalize parent segments in absolute joins [@anp-oai](https://github.com/anp-oai)\n- [#29852](https://github.com/openai/codex/pull/29852) Read connector declarations from executor plugins [@jif-oai](https://github.com/jif-oai)\n- [#29785](https://github.com/openai/codex/pull/29785) Isolate curated plugin sync Git environment [@etraut-openai](https://github.com/etraut-openai)\n- [#29907](https://github.com/openai/codex/pull/29907) \\[codex\\] namespace sleep under clock [@rka-oai](https://github.com/rka-oai)\n- [#29910](https://github.com/openai/codex/pull/29910) \\[codex\\] nest sleep config under current time reminder [@rka-oai](https://github.com/rka-oai)\n- [#29913](https://github.com/openai/codex/pull/29913) feat(remote-control): add daemon pairing command [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#29936](https://github.com/openai/codex/pull/29936) core: add configurable message [@bolinfest](https://github.com/bolinfest)\n- [#26705](https://github.com/openai/codex/pull/26705) TUI Plugin Sharing 5 - polish remote plugin catalog rows [@canvrno-oai](https://github.com/canvrno-oai)\n- [#29733](https://github.com/openai/codex/pull/29733) Allow ChatGPT-hosted MCP servers to use session auth [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29833](https://github.com/openai/codex/pull/29833) \\[1/3\\] core: make world state snapshots serializable [@sayan-oai](https://github.com/sayan-oai)\n- [#29919](https://github.com/openai/codex/pull/29919) TUI support for buffer experience [@etraut-openai](https://github.com/etraut-openai)\n- [#29924](https://github.com/openai/codex/pull/29924) Represent MCP authentication with an enum [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29804](https://github.com/openai/codex/pull/29804) code-mode: define process host wire protocol [@cconger](https://github.com/cconger)\n- [#29956](https://github.com/openai/codex/pull/29956) \\[codex\\] Populate remote plugin local versions [@abhinav-oai](https://github.com/abhinav-oai)\n- [#29835](https://github.com/openai/codex/pull/29835) \\[2/3\\] core: persist world state in rollouts [@sayan-oai](https://github.com/sayan-oai)\n- [#29899](https://github.com/openai/codex/pull/29899) \\[codex\\] Update reasoning effort [@shijie-oai](https://github.com/shijie-oai)\n- [#29837](https://github.com/openai/codex/pull/29837) \\[3/3\\] core: replay persisted world state [@sayan-oai](https://github.com/sayan-oai)\n- [#29969](https://github.com/openai/codex/pull/29969) Report MCP error codes with server attribution [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#29970](https://github.com/openai/codex/pull/29970) core: raise token budget message limits [@bolinfest](https://github.com/bolinfest)\n- [#29973](https://github.com/openai/codex/pull/29973) \\[codex\\] route sleep through time providers [@rka-oai](https://github.com/rka-oai)\n- [#19051](https://github.com/openai/codex/pull/19051) feat: use run agent task auth for inference [@adrian-openai](https://github.com/adrian-openai)\n- [#29810](https://github.com/openai/codex/pull/29810) core: make AGENTS.md react to environment changes [@sayan-oai](https://github.com/sayan-oai)\n- [#29997](https://github.com/openai/codex/pull/29997) core: reconcile legacy WorldState sections [@sayan-oai](https://github.com/sayan-oai)\n- [#29990](https://github.com/openai/codex/pull/29990) Parallelize environment skill loading [@anp-oai](https://github.com/anp-oai)\n- [#28522](https://github.com/openai/codex/pull/28522) Support HTTP MCP servers from selected executor plugins [@jif-oai](https://github.com/jif-oai)\n- [#28529](https://github.com/openai/codex/pull/28529) Support OAuth for HTTP MCP servers from selected executor plugins [@jif-oai](https://github.com/jif-oai)\n- [#29656](https://github.com/openai/codex/pull/29656) Test executor-routed MCP OAuth token exchange [@jif-oai](https://github.com/jif-oai)\n- [#29928](https://github.com/openai/codex/pull/29928) chore(app-server): mark thread/rollback as deprecated [@owenlin0](https://github.com/owenlin0)\n- [#29856](https://github.com/openai/codex/pull/29856) Persist selected capability roots and resolve availability per model step [@jif-oai](https://github.com/jif-oai)\n- [#27467](https://github.com/openai/codex/pull/27467) \\[codex\\] Record exec-server lifecycle metrics [@richardopenai](https://github.com/richardopenai)\n- [#29942](https://github.com/openai/codex/pull/29942) feat: add provider-aware model fallback to thread start [@celia-oai](https://github.com/celia-oai)\n- [#30095](https://github.com/openai/codex/pull/30095) cli: rename sandbox permission profile flag [@bolinfest](https://github.com/bolinfest)\n- [#30029](https://github.com/openai/codex/pull/30029) \\[codex\\] current time reminder interval to be set to 0 [@rka-oai](https://github.com/rka-oai)\n- [#29941](https://github.com/openai/codex/pull/29941) core: expose permission profile to shell tools [@bolinfest](https://github.com/bolinfest)\n- [#30031](https://github.com/openai/codex/pull/30031) \\[codex\\] add current time reminder delivery mode config [@rka-oai](https://github.com/rka-oai)\n- [#30098](https://github.com/openai/codex/pull/30098) \\[codex\\] Retry temporarily offline exec-server recovery [@richardopenai](https://github.com/richardopenai)\n- [#30033](https://github.com/openai/codex/pull/30033) \\[codex\\] impl delivery\\_mode: current time reminders on response boundaries [@rka-oai](https://github.com/rka-oai)\n- [#30108](https://github.com/openai/codex/pull/30108) \\[codex\\] extend code-mode host IPC transport [@cconger](https://github.com/cconger)\n- [#27470](https://github.com/openai/codex/pull/27470) \\[codex\\] Observe remote exec-server lifecycle [@richardopenai](https://github.com/richardopenai)\n- [#30113](https://github.com/openai/codex/pull/30113) \\[codex\\] poll external clock during sleep [@rka-oai](https://github.com/rka-oai)\n- [#29003](https://github.com/openai/codex/pull/29003) feat(core, mcp): cache codex\\_apps tools in memory [@owenlin0](https://github.com/owenlin0)\n- [#30114](https://github.com/openai/codex/pull/30114) release: publish standalone zsh artifacts [@bolinfest](https://github.com/bolinfest)\n- [#30116](https://github.com/openai/codex/pull/30116) release: consume standalone zsh artifacts [@bolinfest](https://github.com/bolinfest)\n- [#29648](https://github.com/openai/codex/pull/29648) \\[codex\\] Add managed MCP server matchers [@felixxia-oai](https://github.com/felixxia-oai)\n- [#30100](https://github.com/openai/codex/pull/30100) Let extensions contribute World State sections [@jif-oai](https://github.com/jif-oai)\n- [#30124](https://github.com/openai/codex/pull/30124) fix(app-server): suppress TUI rollback warning [@fcoury-oai](https://github.com/fcoury-oai)\n- [#29877](https://github.com/openai/codex/pull/29877) \\[codex\\] Surface MCP reauthentication-required startup failures [@felixxia-oai](https://github.com/felixxia-oai)\n- [#29988](https://github.com/openai/codex/pull/29988) Recognize Work web and mobile thread originators [@chiam-oai](https://github.com/chiam-oai)\n- [#30110](https://github.com/openai/codex/pull/30110) \\[codex\\] add code-mode host failure supervision hooks [@cconger](https://github.com/cconger)\n- [#30088](https://github.com/openai/codex/pull/30088) Project executor skills through World State [@jif-oai](https://github.com/jif-oai)\n- [#30117](https://github.com/openai/codex/pull/30117) \\[codex\\] Propagate traces through exec-server HTTP [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#30101](https://github.com/openai/codex/pull/30101) Pin MCP runtimes to model steps [@jif-oai](https://github.com/jif-oai)\n- [#30134](https://github.com/openai/codex/pull/30134) ci: narrow Windows test skips [@anp-oai](https://github.com/anp-oai)\n- [#30093](https://github.com/openai/codex/pull/30093) Project selected plugin runtime by environment availability [@jif-oai](https://github.com/jif-oai)\n- [#30145](https://github.com/openai/codex/pull/30145) Reuse walk inventory for environment skill metadata [@jif-oai](https://github.com/jif-oai)\n- [#30111](https://github.com/openai/codex/pull/30111) \\[codex\\] implement standalone code-mode process host [@cconger](https://github.com/cconger)\n- [#29935](https://github.com/openai/codex/pull/29935) \\[codex\\] Attribute app-server analytics by thread originator [@alexsong-oai](https://github.com/alexsong-oai)\n- [#30152](https://github.com/openai/codex/pull/30152) Reinject missing World State fragments on resume [@jif-oai](https://github.com/jif-oai)\n- [#30127](https://github.com/openai/codex/pull/30127) Keep MCP elicitation routable across runtime refreshes [@jif-oai](https://github.com/jif-oai)\n- [#29934](https://github.com/openai/codex/pull/29934) Expose MCP app identity in app context [@martinauyeung-oai](https://github.com/martinauyeung-oai)\n- [#29909](https://github.com/openai/codex/pull/29909) \\[codex\\] allow CCA image generation and web search extensions [@won-openai](https://github.com/won-openai)\n- [#30157](https://github.com/openai/codex/pull/30157) Test selected capabilities across availability and resume [@jif-oai](https://github.com/jif-oai)\n- [#30144](https://github.com/openai/codex/pull/30144) \\[codex\\] fix terminal rollout event durability [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#29920](https://github.com/openai/codex/pull/29920) Retry failed Codex Apps MCP startup [@kbazzi](https://github.com/kbazzi)\n- [#29516](https://github.com/openai/codex/pull/29516) Persist Cloudflare affinity cookies for MCP HTTP [@stevenlee-oai](https://github.com/stevenlee-oai)\n- [#30112](https://github.com/openai/codex/pull/30112) \\[codex\\] add process-owned code-mode session client [@cconger](https://github.com/cconger)\n- [#30142](https://github.com/openai/codex/pull/30142) \\[codex\\] wire process-owned code mode host into core [@cconger](https://github.com/cconger)\n- [#30198](https://github.com/openai/codex/pull/30198) \\[codex\\] fix CreateThreadParams test initializer [@anp-oai](https://github.com/anp-oai)\n- [#30148](https://github.com/openai/codex/pull/30148) Reuse MCP runtimes when selected availability changes nothing [@jif-oai](https://github.com/jif-oai)\n- [#30215](https://github.com/openai/codex/pull/30215) Test selected capabilities across unavailable resume [@jif-oai](https://github.com/jif-oai)\n- [#29991](https://github.com/openai/codex/pull/29991) \\[codex\\] narrow unused skills intro export [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#30229](https://github.com/openai/codex/pull/30229) Relax hooks.json top-level metadata validation [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#29927](https://github.com/openai/codex/pull/29927) feat(app-server): add history\\_mode to thread [@owenlin0](https://github.com/owenlin0)\n- [#30276](https://github.com/openai/codex/pull/30276) fix main [@owenlin0](https://github.com/owenlin0)\n- [#29683](https://github.com/openai/codex/pull/29683) \\[codex\\] Add managed new-thread model settings [@hefuc-oai](https://github.com/hefuc-oai)\n- [#30225](https://github.com/openai/codex/pull/30225) Overlap executor skill reads with namespace discovery [@jif-oai](https://github.com/jif-oai)\n- [#30274](https://github.com/openai/codex/pull/30274) \\[codex\\] allow AGENTS.md and skills to authorize delegation [@charlesdu-openai](https://github.com/charlesdu-openai)\n- [#30147](https://github.com/openai/codex/pull/30147) \\[codex\\] Use managed defaults for TUI threads [@hefuc-oai](https://github.com/hefuc-oai)\n- [#30261](https://github.com/openai/codex/pull/30261) ensure thread.history\\_mode is immutable [@owenlin0](https://github.com/owenlin0)\n- [#30277](https://github.com/openai/codex/pull/30277) feat(app-server): add optional turn\\_id to thread/fork [@owenlin0](https://github.com/owenlin0)\n- [#30143](https://github.com/openai/codex/pull/30143) Let Codex consult user-level code-review-\\* skills. [@anp-oai](https://github.com/anp-oai)\n- [#30285](https://github.com/openai/codex/pull/30285) feat: add GPT-5.6 variants to Bedrock catalog [@celia-oai](https://github.com/celia-oai)\n- [#30173](https://github.com/openai/codex/pull/30173) Close thread persistence when submission channel closes [@alfozan](https://github.com/alfozan)\n- [#30257](https://github.com/openai/codex/pull/30257) \\[codex\\] Classify nested MCP authentication startup errors [@felixxia-oai](https://github.com/felixxia-oai)\n- [#29375](https://github.com/openai/codex/pull/29375) \\[codex\\] Support npm marketplace plugin sources [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#30146](https://github.com/openai/codex/pull/30146) \\[codex\\] group blocking and postmerge CI workflows [@anp-oai](https://github.com/anp-oai)\n- [#30282](https://github.com/openai/codex/pull/30282) feat(protocol): define missing rollout turn items [@owenlin0](https://github.com/owenlin0)\n- [#30201](https://github.com/openai/codex/pull/30201) fix(remote-control): avoid server token refresh retry storms [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#30273](https://github.com/openai/codex/pull/30273) \\[codex\\] consume pushed exec-server process events [@richardopenai](https://github.com/richardopenai)\n- [#30286](https://github.com/openai/codex/pull/30286) core: overlap diff root discovery with world state [@anp-oai](https://github.com/anp-oai)\n- [#30314](https://github.com/openai/codex/pull/30314) app-server: structure and test JSON shutdown logs [@bolinfest](https://github.com/bolinfest)\n- [#30317](https://github.com/openai/codex/pull/30317) Update security check wording [@etraut-openai](https://github.com/etraut-openai)\n- [#30302](https://github.com/openai/codex/pull/30302) Preserve namespaces on custom tool calls [@nhamidi-oai](https://github.com/nhamidi-oai)\n- [#30327](https://github.com/openai/codex/pull/30327) core: stabilize synthesized call output IDs [@bolinfest](https://github.com/bolinfest)\n- [#30291](https://github.com/openai/codex/pull/30291) \\[app-server\\] expose environment info RPC [@maxj-oai](https://github.com/maxj-oai)\n- [#29691](https://github.com/openai/codex/pull/29691) \\[plugins\\] Enforce marketplace source policy at runtime [@xl-openai](https://github.com/xl-openai)\n- [#30384](https://github.com/openai/codex/pull/30384) \\[app-server\\] increase currentTime/read timeout [@rka-oai](https://github.com/rka-oai)\n- [#30297](https://github.com/openai/codex/pull/30297) \\[codex\\] Enable remote plugins by default [@xl-openai](https://github.com/xl-openai)\n- [#30490](https://github.com/openai/codex/pull/30490) fix(tui): clear completed safety buffering prompt [@fcoury-oai](https://github.com/fcoury-oai)\n- [#29740](https://github.com/openai/codex/pull/29740) \\[codex\\] Use model metadata for skills usage instructions [@ani-oai](https://github.com/ani-oai)\n- [#30511](https://github.com/openai/codex/pull/30511) \\[codex\\] Restore v1 delegation guidance [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#30508](https://github.com/openai/codex/pull/30508) Revert \"Make auto-review on-request prompt more proactive\" [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#30467](https://github.com/openai/codex/pull/30467) \\[codex\\] Treat max as a first-class reasoning effort [@shijie-oai](https://github.com/shijie-oai)\n- [#30491](https://github.com/openai/codex/pull/30491) Update safety check links [@etraut-openai](https://github.com/etraut-openai)\n- [#30607](https://github.com/openai/codex/pull/30607) \\[codex\\] auto-label AWS Bedrock issues [@etraut-openai](https://github.com/etraut-openai)\n- [#30269](https://github.com/openai/codex/pull/30269) \\[codex\\] disable Nagle on Rendezvous WebSockets [@richardopenai](https://github.com/richardopenai)\n- [#30645](https://github.com/openai/codex/pull/30645) \\[codex\\] Update safety notice wording [@etraut-openai](https://github.com/etraut-openai)\n- [#30757](https://github.com/openai/codex/pull/30757) fix(core) Remove full text websocket trace [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#30851](https://github.com/openai/codex/pull/30851) docs: add tag to fenced code block [@bolinfest](https://github.com/bolinfest)\n- [#30643](https://github.com/openai/codex/pull/30643) \\[codex\\] bound Rendezvous WebSocket liveness [@richardopenai](https://github.com/richardopenai)\n- [#30867](https://github.com/openai/codex/pull/30867) Consolidate multi-agent v2 communication sends [@bolinfest](https://github.com/bolinfest)\n- [#30872](https://github.com/openai/codex/pull/30872) Log multi-agent communication lifecycle [@bolinfest](https://github.com/bolinfest)\n- [#30883](https://github.com/openai/codex/pull/30883) \\[codex\\] emit per-request TTFT completion telemetry [@xli-oai](https://github.com/xli-oai)\n- [#30897](https://github.com/openai/codex/pull/30897) Fix inherited availability metadata for Bedrock models [@shijie-oai](https://github.com/shijie-oai)\n- [#30941](https://github.com/openai/codex/pull/30941) fix: address quick-xml security advisories [@bolinfest](https://github.com/bolinfest)\n- [#30770](https://github.com/openai/codex/pull/30770) fix(websockets) ignore metadata for incremental requests [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#30334](https://github.com/openai/codex/pull/30334) telemetry: log structured direct tool-call timing [@bolinfest](https://github.com/bolinfest)\n- [#30493](https://github.com/openai/codex/pull/30493) \\[codex\\] Add configurable multi-agent mode hint text [@shijie-oai](https://github.com/shijie-oai)\n- [#30796](https://github.com/openai/codex/pull/30796) Fix MIME types for path-backed feedback attachments [@btraut-openai](https://github.com/btraut-openai)\n- [#31056](https://github.com/openai/codex/pull/31056) fix(install): reuse GitHub release metadata [@bolinfest](https://github.com/bolinfest)\n- [#30981](https://github.com/openai/codex/pull/30981) \\[codex\\] expose remote plugin versions [@ericning-o](https://github.com/ericning-o)\n- [#31066](https://github.com/openai/codex/pull/31066) chore: remove unused git-cliff configuration [@bolinfest](https://github.com/bolinfest)\n- [#31064](https://github.com/openai/codex/pull/31064) \\[codex\\] Read buffering metadata from response events [@fc-oai](https://github.com/fc-oai)\n- [#30223](https://github.com/openai/codex/pull/30223) Make plugin guidance react to environment readiness [@sayan-oai](https://github.com/sayan-oai)\n- [#31189](https://github.com/openai/codex/pull/31189) Fix cancelled review leaving MCP startup busy [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#30876](https://github.com/openai/codex/pull/30876) \\[core\\] Support interleaved response items [@alexi-openai](https://github.com/alexi-openai)\n- [#31262](https://github.com/openai/codex/pull/31262) \\[codex\\] Read retry model from buffering events [@fc-oai](https://github.com/fc-oai)\n- [#31261](https://github.com/openai/codex/pull/31261) Revert \"\\[core\\] Support interleaved response items\" [@alexi-openai](https://github.com/alexi-openai)\n- [#31253](https://github.com/openai/codex/pull/31253) Emit exec-policy warnings for freshly loaded thread config [@etraut-openai](https://github.com/etraut-openai)\n- [#31179](https://github.com/openai/codex/pull/31179) Remove TUI exec-policy core exports [@etraut-openai](https://github.com/etraut-openai)\n- [#29959](https://github.com/openai/codex/pull/29959) Conditional codex\\_home dotenv [@canvrno-oai](https://github.com/canvrno-oai)\n- [#30627](https://github.com/openai/codex/pull/30627) elicitations: Move to shared ElicitationService [@cconger](https://github.com/cconger)\n- [#30318](https://github.com/openai/codex/pull/30318) core: trace executor skill discovery [@anp-oai](https://github.com/anp-oai)\n- [#31276](https://github.com/openai/codex/pull/31276) Revert \"Conditional codex\\_home dotenv\" [@canvrno-oai](https://github.com/canvrno-oai)\n- [#30956](https://github.com/openai/codex/pull/30956) refactor(protocol): isolate legacy item fanout [@owenlin0](https://github.com/owenlin0)\n- [#30395](https://github.com/openai/codex/pull/30395) \\[app-server\\] Include reset-credit details in rate limits [@jayp-oai](https://github.com/jayp-oai)\n- [#31267](https://github.com/openai/codex/pull/31267) chore(approvals) consolidate guardian calls for shell tools [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#31252](https://github.com/openai/codex/pull/31252) \\[tui\\] Truncate hook context in conversation history [@abhinav-oai](https://github.com/abhinav-oai)\n- [#29918](https://github.com/openai/codex/pull/29918) \\[codex\\] Flush trailing realtime transcript tail [@guinness-oai](https://github.com/guinness-oai)\n- [#30226](https://github.com/openai/codex/pull/30226) Make Apps guidance react to MCP availability [@sayan-oai](https://github.com/sayan-oai)\n- [#31190](https://github.com/openai/codex/pull/31190) Use popup token ranges for autocomplete insertion [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#29697](https://github.com/openai/codex/pull/29697) fix: attribut network requests to the exact exec on linux [@jif-oai](https://github.com/jif-oai)\n- [#31303](https://github.com/openai/codex/pull/31303) feat(code-mode): allow disabling V8 JIT [@cconger](https://github.com/cconger)\n- [#31271](https://github.com/openai/codex/pull/31271) chore: use .worktreeinclude for user Bazel config [@anp-oai](https://github.com/anp-oai)\n- [#31308](https://github.com/openai/codex/pull/31308) fix: update crossbeam-epoch for RUSTSEC-2026-0204 [@cconger](https://github.com/cconger)\n- [#30202](https://github.com/openai/codex/pull/30202) \\[codex\\] bundle code mode host in release packages [@cconger](https://github.com/cconger)\n- [#31293](https://github.com/openai/codex/pull/31293) \\[codex\\] app-server: expose plugin install policy source [@ericning-o](https://github.com/ericning-o)\n- [#31318](https://github.com/openai/codex/pull/31318) ci: share common workflow setup [@anp-oai](https://github.com/anp-oai)\n- [#29992](https://github.com/openai/codex/pull/29992) app-server: cover selected environments in integration tests [@anp-oai](https://github.com/anp-oai)\n- [#31284](https://github.com/openai/codex/pull/31284) Warn when configured service tiers are unsupported [@etraut-openai](https://github.com/etraut-openai)\n- [#31323](https://github.com/openai/codex/pull/31323) Extract shared HTTP transport into codex-http-client [@bolinfest](https://github.com/bolinfest)\n- [#31331](https://github.com/openai/codex/pull/31331) Migrate direct HTTP consumers to codex-http-client [@bolinfest](https://github.com/bolinfest)\n- [#31337](https://github.com/openai/codex/pull/31337) fix: restore Codex environment setup table [@anp-oai](https://github.com/anp-oai)\n- [#31188](https://github.com/openai/codex/pull/31188) Preserve managed exec policy after rules parse errors [@etraut-openai](https://github.com/etraut-openai)\n- [#31306](https://github.com/openai/codex/pull/31306) \\[codex\\] Support sequential cutoff reasoning summaries [@ashwinnathan-openai](https://github.com/ashwinnathan-openai)\n- [#31344](https://github.com/openai/codex/pull/31344) exec-server: use virtual time in Noise relay test [@bolinfest](https://github.com/bolinfest)\n- [#31296](https://github.com/openai/codex/pull/31296) refactor(protocol): map canonical tool items to legacy events [@owenlin0](https://github.com/owenlin0)\n- [#31335](https://github.com/openai/codex/pull/31335) core: route Responses API through system proxy [@bolinfest](https://github.com/bolinfest)","publishedAt":"2026-07-08T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-350650561","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":44594,"contentTokens":13670,"composition":{"bugs":6,"features":6,"enhancements":0}},{"id":"rel_f8eXZ92j7EHzLXm1BOvAk","version":null,"type":"feature","title":"ChatGPT for iOS","summary":"ChatGPT for iOS now supports creating, searching, opening, forking, and managing Codex tasks directly from conversations, with filters for staged, unstaged, and branch changes. Added support for SSH hosts using private keys or no credentials, inline photo and camera pickers, and previews for image and file attachments before sending. Also improved task loading, autocomplete, settings persistence, and fixed thread-list loading and prompt mode deadlocks.","titleGenerated":"ChatGPT iOS now manages Codex tasks in conversations with branch filters and SSH support","titleShort":"Codex task management in conversations; branch filters; SSH support","breaking":"none","importance":3,"content":"# ChatGPT for iOS\n\n### New features\n\n- Added support for creating, searching, opening, forking, and managing Codex\n  tasks directly from a conversation.\n- Added filters for staged, unstaged, branch, and last-turn changes, with controls\n  for comparing branches.\n- Added support for adding selected transcript text directly to the composer.\n- Added previews for image and file attachments before sending.\n- Added inline Photos and Camera pickers to the attachment menu.\n- Added a connection shortcut and support for SSH hosts using private keys or no\n  credentials.\n- Added usage limits and credit details to the task menu.\n\n### Improvements and bug fixes\n\n- Improved the task list with consistent task terminology, clearer delegated\n  task titles, and a Needs input status.\n- Improved initial task loading and foreground recovery.\n- Improved autocomplete by selecting the first result automatically and\n  accepting it with Return.\n- Improved model, reasoning, and Fast settings so changes remain scoped to the\n  current task.\n- Improved task-management and dynamic tool activity presentation.\n- Improved side chats to open directly when only one conversation is available.\n- Improved plugin autocomplete with installed plugins and their icons.\n- Improved workspace diff accuracy and expand-and-collapse navigation.\n- Improved recovery by preserving thread state across reconnects and host\n  pairings across sign-out.\n- Fixed stuck thread-list loading, prompt mode deadlocks, stale images, and\n  microphone permission alerts.\n- Fixed shake to undo and keyboard refocusing after sending a prompt.","publishedAt":"2026-07-06T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-07-06-mobile","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":1594,"contentTokens":306,"composition":{"bugs":8,"features":7,"enhancements":10}},{"id":"rel_hcgzDFh7BRX-agiCDN--X","version":"0.142.5","type":"feature","title":"Codex CLI Release: 0.142.5","summary":"Prevented full Responses WebSocket request payloads from being written to trace logs, fixing a potential information exposure in logged data.","titleGenerated":"Codex CLI 0.142.5 prevents WebSocket request payloads from leak into trace logs","titleShort":"WebSocket request payloads no longer written to trace logs","breaking":"none","importance":null,"content":"## Bug Fixes\n\n- Prevented full Responses WebSocket request payloads from being written to trace logs. ([#30771](https://github.com/openai/codex/pull/30771))\n\n## Changelog\n\nFull Changelog: [rust-v0.142.4...rust-v0.142.5](https://github.com/openai/codex/compare/rust-v0.142.4...rust-v0.142.5)\n\n- [#30771](https://github.com/openai/codex/pull/30771) \\[codex\\] Backport websocket trace fix to release/0.142 [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)","publishedAt":"2026-07-01T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-347177984","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":455,"contentTokens":148,"composition":{"bugs":1,"features":0,"enhancements":0}},{"id":"rel_JOmy0gyalAWd7MVpDBZvV","version":"0.142.4","type":"feature","title":"Codex CLI Release: 0.142.4","summary":"## Chores\n\n- No user-facing changes were identified for this release.\n\n## Changelog\n\nFull Changelog: [rust-v0.142.3...rust-v0.142.4](https://github.co...","titleGenerated":"Codex CLI v0.142.4 internal release","titleShort":null,"breaking":"unknown","importance":null,"content":"## Chores\n\n- No user-facing changes were identified for this release.\n\n## Changelog\n\nFull Changelog: [rust-v0.142.3...rust-v0.142.4](https://github.com/openai/codex/compare/rust-v0.142.3...rust-v0.142.4)","publishedAt":"2026-06-29T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-346071760","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":203,"contentTokens":68,"composition":null},{"id":"rel_oGyhlQmSDhaxCoi9itj_S","version":"0.142.3","type":"feature","title":"Codex CLI Release: 0.142.3","summary":"## Chores\n\n- Maintenance-only patch release with no user-facing changes since 0.142.2.\n\n## Changelog\n\nFull Changelog: [rust-v0.142.2...rust-v0.142.3](...","titleGenerated":"Codex CLI v0.142.3 internal release","titleShort":null,"breaking":"unknown","importance":null,"content":"## Chores\n\n- Maintenance-only patch release with no user-facing changes since 0.142.2.\n\n## Changelog\n\nFull Changelog: [rust-v0.142.2...rust-v0.142.3](https://github.com/openai/codex/compare/rust-v0.142.2...rust-v0.142.3)","publishedAt":"2026-06-26T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-345539086","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":220,"contentTokens":75,"composition":null},{"id":"rel_Lc9CEYd_oF7aTJI_Jkqih","version":null,"type":"feature","title":"Codex Remote reaches general availability","summary":"Codex Remote is now generally available, allowing Codex to be used from the ChatGPT mobile app on a connected Mac or Windows host. Remote Control uses authenticated one-to-one QR pairing; connections older than June 8, 2026 need to re-pair. A new DigitalOcean plugin lets Codex provision a Droplet and connect it as a remote workspace.","titleGenerated":"Codex Remote reaches general availability with QR pairing and DigitalOcean plugin","titleShort":"Codex Remote now GA with QR pairing; DigitalOcean plugin ships","breaking":"none","importance":null,"content":"# Codex Remote reaches general availability\n\nCodex Remote has reached general availability. Use Codex from the ChatGPT mobile\napp to start or continue work on a connected Mac or Windows host, review\nprogress, and approve actions from your phone.\n\nRemote Control now uses authenticated one-to-one QR pairing between each iOS or\nAndroid device and each host. Update the ChatGPT mobile app and Codex App to the\nlatest versions before connecting. Connections used since June 8, 2026, remain\npaired; older inactive connections need to pair again.\n\nThe new [DigitalOcean plugin](https://chatgpt.com/plugins/share/5dc672c7116c44ff92595d48e72df522) \nlets Codex provision a DigitalOcean Droplet, configure SSH access, and connect \nit to the Codex App as a remote workspace.\n\nSee [Remote connections](/codex/remote-connections) for setup and\ntroubleshooting.","publishedAt":"2026-06-25T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-25","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":848,"contentTokens":198,"composition":{"bugs":0,"features":2,"enhancements":0}},{"id":"rel_ruUcbvoOockzRr3OY158B","version":"0.142.1","type":"feature","title":"Codex CLI Release: 0.142.1","summary":"Added opt-in Windows system proxy support for authentication, including PAC, WPAD, static proxies, and bypass rules.","titleGenerated":"Codex CLI 0.142.1 adds opt-in Windows system proxy support","titleShort":"Windows system proxy support added","breaking":"none","importance":null,"content":"## New Features\n\n- Added opt-in Windows system proxy support for authentication, including PAC, WPAD, static proxies, and bypass rules. ([#26708](https://github.com/openai/codex/pull/26708))\n\n## Changelog\n\nFull Changelog: [rust-v0.142.0...rust-v0.142.1](https://github.com/openai/codex/compare/rust-v0.142.0...rust-v0.142.1)\n\n- [#26708](https://github.com/openai/codex/pull/26708) PAC 3 - Add Windows system proxy resolver [@canvrno-oai](https://github.com/canvrno-oai)","publishedAt":"2026-06-25T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-344424903","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":469,"contentTokens":148,"composition":{"bugs":0,"features":1,"enhancements":0}},{"id":"rel_lNJ8jEABqmA7ktsPg8rUr","version":"0.142.2","type":"feature","title":"Codex CLI Release: 0.142.2","summary":"MCP tools now use tool search by default for improved discovery. macOS authentication can respect system proxy, PAC, and WPAD settings. Fixes include actionable Amazon Bedrock credential recovery, remote stdio MCP path support, and PowerShell AST safety checks.","titleGenerated":"Codex 0.142.2 improves MCP tool discovery and proxy support","titleShort":"MCP tools use tool search by default; macOS proxy support added","breaking":"none","importance":null,"content":"## New Features\n\n- MCP tools now use tool search by default when supported, improving tool discovery while preserving compatibility with older models and providers. ([#29486](https://github.com/openai/codex/pull/29486))\n- macOS authentication clients can honor system proxy, PAC, and WPAD settings when `respect_system_proxy` is enabled. ([#26709](https://github.com/openai/codex/pull/26709))\n- Plugins can provide dedicated dark-mode logos through local manifests and remote catalogs. ([#29488](https://github.com/openai/codex/pull/29488))\n- Apps can display richer safety-buffering UI using server-provided visibility and faster-model metadata. ([#29473](https://github.com/openai/codex/pull/29473))\n\n## Bug Fixes\n\n- Remote plugin catalogs now return curated featured-plugin rankings. ([#29485](https://github.com/openai/codex/pull/29485))\n- Expired Amazon Bedrock credentials now produce actionable recovery guidance instead of a generic authorization error. ([#28992](https://github.com/openai/codex/pull/28992))\n- Remote stdio MCP servers now accept absolute working directories written in the remote platform’s path format. ([#29493](https://github.com/openai/codex/pull/29493))\n- Remote HTTP(S) image inputs now return clear model-visible validation errors; inline data URLs and local images remain supported. ([#29417](https://github.com/openai/codex/pull/29417), [#29419](https://github.com/openai/codex/pull/29419))\n- PowerShell commands containing executable AST regions the safety classifier cannot inspect now require approval. ([#24092](https://github.com/openai/codex/pull/24092))\n- Code Mode now warns when the selected model lacks the required metadata. ([#29490](https://github.com/openai/codex/pull/29490))\n\n## Chores\n\n- Updated bundled OpenSSL and esbuild dependencies to patched releases. ([#29487](https://github.com/openai/codex/pull/29487), [#29489](https://github.com/openai/codex/pull/29489))\n- Successful formatter runs are now quiet while failures still show diagnostics. ([#29467](https://github.com/openai/codex/pull/29467))\n\n## Changelog\n\nFull Changelog: [rust-v0.142.1...rust-v0.142.2](https://github.com/openai/codex/compare/rust-v0.142.1...rust-v0.142.2)\n\n- [#28769](https://github.com/openai/codex/pull/28769) Register full CDP requirements feature [@syuan-oai](https://github.com/syuan-oai)\n- [#29485](https://github.com/openai/codex/pull/29485) \\[codex\\] fetch featured IDs for remote plugins [@ericning-o](https://github.com/ericning-o)\n- [#29487](https://github.com/openai/codex/pull/29487) Upgrade bundled OpenSSL to 3.6.3 [@jif-oai](https://github.com/jif-oai)\n- [#29489](https://github.com/openai/codex/pull/29489) \\[codex\\] Update esbuild to 0.28.1 [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29488](https://github.com/openai/codex/pull/29488) \\[plugins\\] Add dark-mode logo metadata [@drewschuster-openai](https://github.com/drewschuster-openai)\n- [#29249](https://github.com/openai/codex/pull/29249) \\[codex\\] migrate environment context to model world state [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29494](https://github.com/openai/codex/pull/29494) core: wrap token budget window context [@bolinfest](https://github.com/bolinfest)\n- [#29417](https://github.com/openai/codex/pull/29417) \\[codex\\] replace remote images with model-visible error text [@rka-oai](https://github.com/rka-oai)\n- [#28360](https://github.com/openai/codex/pull/28360) feat(core): store turn\\_id on ResponseItem metadata [@owenlin0](https://github.com/owenlin0)\n- [#29486](https://github.com/openai/codex/pull/29486) \\[codex\\] Use tool search for MCP tools by default [@sayan-oai](https://github.com/sayan-oai)\n- [#29501](https://github.com/openai/codex/pull/29501) path-uri: clarify host-native path conversion [@anp-oai](https://github.com/anp-oai)\n- [#29504](https://github.com/openai/codex/pull/29504) fix: world state response item test [@celia-oai](https://github.com/celia-oai)\n- [#26704](https://github.com/openai/codex/pull/26704) TUI Plugin Sharing 4 - cover remote plugin catalog flows [@canvrno-oai](https://github.com/canvrno-oai)\n- [#29419](https://github.com/openai/codex/pull/29419) \\[codex\\] reject remote images at app-server ingress [@rka-oai](https://github.com/rka-oai)\n- [#28992](https://github.com/openai/codex/pull/28992) chore: improve expired Bedrock credential errors [@celia-oai](https://github.com/celia-oai)\n- [#29467](https://github.com/openai/codex/pull/29467) Make formatter output quiet on success [@anp-oai](https://github.com/anp-oai)\n- [#26709](https://github.com/openai/codex/pull/26709) PAC 4 - Add macOS system proxy resolver [@canvrno-oai](https://github.com/canvrno-oai)\n- [#29490](https://github.com/openai/codex/pull/29490) chore: warn when Code Mode lacks model metadata [@celia-oai](https://github.com/celia-oai)\n- [#29493](https://github.com/openai/codex/pull/29493) mcp: accept foreign absolute cwd for remote stdio [@anp-oai](https://github.com/anp-oai)\n- [#29473](https://github.com/openai/codex/pull/29473) Propagate safety buffering treatment metadata [@fc-oai](https://github.com/fc-oai)\n- [#24092](https://github.com/openai/codex/pull/24092) \\[codex\\] Reject unlowered PowerShell AST regions [@bookholt-oai](https://github.com/bookholt-oai)","publishedAt":"2026-06-25T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-344540546","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":5227,"contentTokens":1521,"composition":{"bugs":6,"features":4,"enhancements":2}},{"id":"rel_iB9NDXJegllWqhyfrOyAg","version":"0.142.0","type":"feature","title":"Codex CLI Release: 0.142.0","summary":"Configurable rollout token budgets now track usage across agent threads and abort turns when exhausted. An indexed web-search mode restricts direct page access to server-approved URLs. Fixed Linux TUI rendering after Ctrl+Z suspension and exec-server process survival through transient disconnects. Parent agents now receive terminal subagent errors instead of empty successful completions.","titleGenerated":"Codex CLI 0.142.0 adds token budgets, web search, and restores TUI after Ctrl+Z","titleShort":"Token budgets and indexed web search; TUI survives suspension","breaking":"none","importance":null,"content":"## New Features\n\n- `/usage` can now show and redeem earned usage-limit reset credits, with confirmation, retry, and refreshed availability states. ([#28154](https://github.com/openai/codex/pull/28154), [#28793](https://github.com/openai/codex/pull/28793))\n- `/plugins` now organizes remote plugins into OpenAI Curated, Workspace, and Shared with me sections, while eligible turns can recommend and install relevant plugins. ([#26703](https://github.com/openai/codex/pull/26703), [#28399](https://github.com/openai/codex/pull/28399), [#28400](https://github.com/openai/codex/pull/28400), [#27704](https://github.com/openai/codex/pull/27704), [#28403](https://github.com/openai/codex/pull/28403))\n- Configurable rollout token budgets track usage across agent threads, provide remaining-budget reminders, and abort turns when exhausted. ([#28746](https://github.com/openai/codex/pull/28746), [#28494](https://github.com/openai/codex/pull/28494), [#28707](https://github.com/openai/codex/pull/28707), [#29423](https://github.com/openai/codex/pull/29423))\n- App-server clients can configure multi-agent delegation as disabled, explicit-request-only, or proactive at the thread and turn level. ([#28685](https://github.com/openai/codex/pull/28685), [#28792](https://github.com/openai/codex/pull/28792), [#29324](https://github.com/openai/codex/pull/29324))\n- Added an indexed web-search mode that permits live searches while restricting direct page access to server-approved URLs. ([#28489](https://github.com/openai/codex/pull/28489))\n- Codex can now receive scheduled UTC time reminders and query the current time directly, including through client-provided app-server clocks. ([#28822](https://github.com/openai/codex/pull/28822), [#28824](https://github.com/openai/codex/pull/28824), [#28835](https://github.com/openai/codex/pull/28835), [#29011](https://github.com/openai/codex/pull/29011))\n\n## Bug Fixes\n\n- Restored reliable Linux TUI rendering after suspending with `Ctrl+Z` and resuming with `fg`. ([#28342](https://github.com/openai/codex/pull/28342))\n- Exec-server processes and stdio MCP sessions now survive transient disconnects, including signed-URL refresh and retry-safe stdin writes. ([#28512](https://github.com/openai/codex/pull/28512), [#28374](https://github.com/openai/codex/pull/28374), [#28546](https://github.com/openai/codex/pull/28546), [#28895](https://github.com/openai/codex/pull/28895))\n- Remote environments now preserve executor-native paths, shells, `AGENTS.md` discovery, and sandbox behavior across operating systems. ([#28146](https://github.com/openai/codex/pull/28146), [#28152](https://github.com/openai/codex/pull/28152), [#28958](https://github.com/openai/codex/pull/28958), [#28983](https://github.com/openai/codex/pull/28983), [#29099](https://github.com/openai/codex/pull/29099), [#29108](https://github.com/openai/codex/pull/29108), [#29113](https://github.com/openai/codex/pull/29113), [#29424](https://github.com/openai/codex/pull/29424))\n- Plugin loading and installation now handle root marketplace layouts, manifest fallbacks, multiple skill paths, actionable download errors, and immediate tool refreshes. ([#28771](https://github.com/openai/codex/pull/28771), [#28789](https://github.com/openai/codex/pull/28789), [#28790](https://github.com/openai/codex/pull/28790), [#28863](https://github.com/openai/codex/pull/28863), [#28951](https://github.com/openai/codex/pull/28951))\n- Parent agents now receive terminal subagent errors instead of seeing failed work as an empty successful completion. ([#28375](https://github.com/openai/codex/pull/28375))\n- Goal-first threads are once again persisted and returned by `thread/list` and `thread/search`. ([#28808](https://github.com/openai/codex/pull/28808))\n\n## Chores\n\n- Reduced startup and session latency by deferring unnecessary DNS work, warming the model cache, reusing parsed plugin skills, parallelizing skill metadata reads, and skipping redundant catalog synchronization. ([#28542](https://github.com/openai/codex/pull/28542), [#28699](https://github.com/openai/codex/pull/28699), [#28844](https://github.com/openai/codex/pull/28844), [#29326](https://github.com/openai/codex/pull/29326), [#29005](https://github.com/openai/codex/pull/29005))\n- Reduced persistent-log churn by removing per-event WebSocket payload logging and filtering duplicated telemetry records. ([#29432](https://github.com/openai/codex/pull/29432), [#29457](https://github.com/openai/codex/pull/29457))\n\n## Changelog\n\nFull Changelog: [rust-v0.141.0...rust-v0.142.0](https://github.com/openai/codex/compare/rust-v0.141.0...rust-v0.142.0)\n\n- [#28396](https://github.com/openai/codex/pull/28396) \\[codex\\] Record external agent import results [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#27751](https://github.com/openai/codex/pull/27751) \\[codex\\] expose Bedrock credential source in account/read [@celia-oai](https://github.com/celia-oai)\n- [#28338](https://github.com/openai/codex/pull/28338) \\[codex\\] Compress cold active rollouts [@jif-oai](https://github.com/jif-oai)\n- [#28368](https://github.com/openai/codex/pull/28368) feat: render typed envelopes for multi-agent v2 messages [@jif-oai](https://github.com/jif-oai)\n- [#28508](https://github.com/openai/codex/pull/28508) \\[tests\\] Keep Apps out of generic core test harness [@jif-oai](https://github.com/jif-oai)\n- [#28472](https://github.com/openai/codex/pull/28472) \\[codex\\] Clarify plugin load and runtime capability stages [@xl-openai](https://github.com/xl-openai)\n- [#28375](https://github.com/openai/codex/pull/28375) core: surface terminal subagent errors to parent agents [@jif-oai](https://github.com/jif-oai)\n- [#28542](https://github.com/openai/codex/pull/28542) perf(config): defer remote sandbox hostname lookup [@fcoury-oai](https://github.com/fcoury-oai)\n- [#28473](https://github.com/openai/codex/pull/28473) path-uri: clarify invalid host path errors [@anp-oai](https://github.com/anp-oai)\n- [#28342](https://github.com/openai/codex/pull/28342) fix(tui): restore TUI after suspend [@fcoury-oai](https://github.com/fcoury-oai)\n- [#28354](https://github.com/openai/codex/pull/28354) \\[codex\\] exec-server: stream files in chunks [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28553](https://github.com/openai/codex/pull/28553) chore: side prompt [@jif-oai](https://github.com/jif-oai)\n- [#27099](https://github.com/openai/codex/pull/27099) \\[codex-app-server-test-client & codex-app-server\\] Plugin Usage Analytics Smoke Test [@jameswt-oai](https://github.com/jameswt-oai)\n- [#28554](https://github.com/openai/codex/pull/28554) fix(tui): highlight C++ module files [@fcoury-oai](https://github.com/fcoury-oai)\n- [#28467](https://github.com/openai/codex/pull/28467) \\[codex\\] Warn clearly when code mode output is truncated [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#27750](https://github.com/openai/codex/pull/27750) \\[codex\\] Add incremental thread history changes [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#28154](https://github.com/openai/codex/pull/28154) feat(tui): add rate-limit reset redemption to /usage [@jayp-oai](https://github.com/jayp-oai)\n- [#28562](https://github.com/openai/codex/pull/28562) ci: run code-mode unit tests on all bazel targets [@cconger](https://github.com/cconger)\n- [#27923](https://github.com/openai/codex/pull/27923) \\[codex\\] Route MCP file uploads through environment filesystem [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27100](https://github.com/openai/codex/pull/27100) \\[codex-app-server-test-client\\] Plugin Install/Uninstall Analytics Smoke Test [@jameswt-oai](https://github.com/jameswt-oai)\n- [#28581](https://github.com/openai/codex/pull/28581) \\[codex\\] re-enable absolute workdir integration test [@anp-oai](https://github.com/anp-oai)\n- [#28468](https://github.com/openai/codex/pull/28468) code-mode: extend test coverage to lock in cell lifecycle [@cconger](https://github.com/cconger)\n- [#28587](https://github.com/openai/codex/pull/28587) \\[codex\\] test exec relative additional permissions [@anp-oai](https://github.com/anp-oai)\n- [#28577](https://github.com/openai/codex/pull/28577) Clarify model-generated and legacy app path types [@anp-oai](https://github.com/anp-oai)\n- [#28589](https://github.com/openai/codex/pull/28589) Record invariants for path migration. [@anp-oai](https://github.com/anp-oai)\n- [#28146](https://github.com/openai/codex/pull/28146) app-server: preserve target-native environment cwd [@anp-oai](https://github.com/anp-oai)\n- [#28595](https://github.com/openai/codex/pull/28595) Tell codex about PathUri serde compat. [@anp-oai](https://github.com/anp-oai)\n- [#28399](https://github.com/openai/codex/pull/28399) \\[codex\\] \\[1/4\\] Add recommended plugin endpoint cache [@adaley-openai](https://github.com/adaley-openai)\n- [#28400](https://github.com/openai/codex/pull/28400) \\[codex\\] \\[2/4\\] Generalize plugin suggestion presentation [@adaley-openai](https://github.com/adaley-openai)\n- [#27704](https://github.com/openai/codex/pull/27704) \\[codex\\] \\[3/4\\] Activate endpoint plugin recommendations [@adaley-openai](https://github.com/adaley-openai)\n- [#28152](https://github.com/openai/codex/pull/28152) core: render remote environment cwd natively [@anp-oai](https://github.com/anp-oai)\n- [#28403](https://github.com/openai/codex/pull/28403) \\[codex\\] \\[4/4\\] Simplify recommended plugin install schema [@adaley-openai](https://github.com/adaley-openai)\n- [#26706](https://github.com/openai/codex/pull/26706) PAC 1 - Add system proxy feature config surface [@canvrno-oai](https://github.com/canvrno-oai)\n- [#27910](https://github.com/openai/codex/pull/27910) Add thread recencyAt for sidebar ordering [@nornagon-openai](https://github.com/nornagon-openai)\n- [#28627](https://github.com/openai/codex/pull/28627) Revert \"Tell codex about PathUri serde compat. ([#28595](https://github.com/openai/codex/pull/28595))\" [@anp-oai](https://github.com/anp-oai)\n- [#28625](https://github.com/openai/codex/pull/28625) \\[codex\\] Gate remote plugin catalog by auth [@xl-openai](https://github.com/xl-openai)\n- [#28629](https://github.com/openai/codex/pull/28629) \\[codex\\] core: restore absolute turn context cwd [@anp-oai](https://github.com/anp-oai)\n- [#28642](https://github.com/openai/codex/pull/28642) thread-store: fix response fixture compilation [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28580](https://github.com/openai/codex/pull/28580) \\[codex\\] Support object-valued plugin MCP manifests [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#28599](https://github.com/openai/codex/pull/28599) code-mode: move cell state into library actor [@cconger](https://github.com/cconger)\n- [#28471](https://github.com/openai/codex/pull/28471) \\[codex\\] Test code-mode variable truncation [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#28655](https://github.com/openai/codex/pull/28655) Revert thread recencyAt for sidebar ordering [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28638](https://github.com/openai/codex/pull/28638) core: remove redundant TurnContext and Prompt fields [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28656](https://github.com/openai/codex/pull/28656) \\[codex\\] Persist built-in image results reported as generating [@won-openai](https://github.com/won-openai)\n- [#28512](https://github.com/openai/codex/pull/28512) Resume exec-server sessions after disconnect [@jif-oai](https://github.com/jif-oai)\n- [#28546](https://github.com/openai/codex/pull/28546) Back off registry retries during exec recovery [@jif-oai](https://github.com/jif-oai)\n- [#28561](https://github.com/openai/codex/pull/28561) Add join key for MAv2 inter-agent messages [@jif-oai](https://github.com/jif-oai)\n- [#28699](https://github.com/openai/codex/pull/28699) app-server: keep the model cache warm [@jif-oai](https://github.com/jif-oai)\n- [#28705](https://github.com/openai/codex/pull/28705) Replace SkillsManager with SkillsService [@jif-oai](https://github.com/jif-oai)\n- [#27965](https://github.com/openai/codex/pull/27965) \\[ez\\]\\[codex-rs\\] Support apps.\\_default.default\\_tools\\_approval\\_mode [@zamoshchin-openai](https://github.com/zamoshchin-openai)\n- [#28359](https://github.com/openai/codex/pull/28359) Run fs helper through Windows sandbox wrapper [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#28628](https://github.com/openai/codex/pull/28628) \\[codex\\] Repair invalid skill frontmatter scalars [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#28632](https://github.com/openai/codex/pull/28632) Tell codex to avoid changing rollout format. [@anp-oai](https://github.com/anp-oai)\n- [#28738](https://github.com/openai/codex/pull/28738) Scope command approvals by execution environment [@jif-oai](https://github.com/jif-oai)\n- [#19047](https://github.com/openai/codex/pull/19047) feat: add run task identity primitives [@adrian-openai](https://github.com/adrian-openai)\n- [#28671](https://github.com/openai/codex/pull/28671) \\[codex\\] Restore thread recency with compatible migration history [@nornagon-openai](https://github.com/nornagon-openai)\n- [#28768](https://github.com/openai/codex/pull/28768) Extract TUI plugin catalog rendering [@canvrno-oai](https://github.com/canvrno-oai)\n- [#28389](https://github.com/openai/codex/pull/28389) \\[codex\\] Use compact OpenAI docs search queries [@kkahadze-oai](https://github.com/kkahadze-oai)\n- [#28681](https://github.com/openai/codex/pull/28681) unified-exec: preserve PathUri through exec-server [@anp-oai](https://github.com/anp-oai)\n- [#28731](https://github.com/openai/codex/pull/28731) \\[codex\\] Track plugin install and import telemetry failures [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#28651](https://github.com/openai/codex/pull/28651) exec-server: expose environment registry payloads [@viyatb-oai](https://github.com/viyatb-oai)\n- [#28771](https://github.com/openai/codex/pull/28771) fix(plugins): support root local marketplace plugins [@caseychow-oai](https://github.com/caseychow-oai)\n- [#28791](https://github.com/openai/codex/pull/28791) bazel: refresh expired macOS SDK pin [@anp-oai](https://github.com/anp-oai)\n- [#28782](https://github.com/openai/codex/pull/28782) \\[codex\\] trace tools build latency [@owenlin0](https://github.com/owenlin0)\n- [#28778](https://github.com/openai/codex/pull/28778) path-uri: decouple native path parsing [@anp-oai](https://github.com/anp-oai)\n- [#28774](https://github.com/openai/codex/pull/28774) feat(exec-server): add Noise rendezvous environment [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#28812](https://github.com/openai/codex/pull/28812) \\[codex\\] Add optional IDs to response items [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28784](https://github.com/openai/codex/pull/28784) fix(install): support older awk checksum parsing [@fcoury-oai](https://github.com/fcoury-oai)\n- [#28826](https://github.com/openai/codex/pull/28826) \\[codex\\] Use unique IDs for realtime-routed turns [@guinness-oai](https://github.com/guinness-oai)\n- [#27986](https://github.com/openai/codex/pull/27986) \\[codex\\] control automatic realtime handoff delivery [@jiayuhuang-openai](https://github.com/jiayuhuang-openai)\n- [#28836](https://github.com/openai/codex/pull/28836) \\[codex\\] Support assistant realtime append text [@guinness-oai](https://github.com/guinness-oai)\n- [#28374](https://github.com/openai/codex/pull/28374) Refresh signed exec-server URLs on reconnect [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#28825](https://github.com/openai/codex/pull/28825) Expose selecte namespaces as direct model tools [@won-openai](https://github.com/won-openai)\n- [#28790](https://github.com/openai/codex/pull/28790) \\[codex\\] Support plugin manifest path lists [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#28851](https://github.com/openai/codex/pull/28851) Record more path migration guidance for codex. [@anp-oai](https://github.com/anp-oai)\n- [#28780](https://github.com/openai/codex/pull/28780) unified-exec: retain PathUri in command events [@anp-oai](https://github.com/anp-oai)\n- [#28605](https://github.com/openai/codex/pull/28605) \\[codex\\] Split plugin and skill warmup tracing [@mzeng-openai](https://github.com/mzeng-openai)\n- [#28608](https://github.com/openai/codex/pull/28608) \\[codex\\] Pass plugin namespace into skill loading [@mzeng-openai](https://github.com/mzeng-openai)\n- [#28746](https://github.com/openai/codex/pull/28746) \\[codex\\] add rollout token budget configuration (1/N) [@rka-oai](https://github.com/rka-oai)\n- [#28766](https://github.com/openai/codex/pull/28766) Add network environment ID plumbing [@jif-oai](https://github.com/jif-oai)\n- [#28915](https://github.com/openai/codex/pull/28915) Avoid sandbox helper in apply\\_patch approval tests [@jif-oai](https://github.com/jif-oai)\n- [#28813](https://github.com/openai/codex/pull/28813) Pause active goals before TUI interrupts [@etraut-openai](https://github.com/etraut-openai)\n- [#28895](https://github.com/openai/codex/pull/28895) Recover exec process stdin writes [@jif-oai](https://github.com/jif-oai)\n- [#28940](https://github.com/openai/codex/pull/28940) Pin Windows argument lint to Windows 2022 [@rka-oai](https://github.com/rka-oai)\n- [#28914](https://github.com/openai/codex/pull/28914) Scope MCP sandbox metadata to server environment [@jif-oai](https://github.com/jif-oai)\n- [#28911](https://github.com/openai/codex/pull/28911) Add turn-scoped context contributions [@jif-oai](https://github.com/jif-oai)\n- [#28808](https://github.com/openai/codex/pull/28808) Fix goal-first live threads missing from thread/list [@etraut-openai](https://github.com/etraut-openai)\n- [#25019](https://github.com/openai/codex/pull/25019) \\[codex\\] Initialize exec-server OpenTelemetry at startup [@starr-openai](https://github.com/starr-openai)\n- [#28943](https://github.com/openai/codex/pull/28943) \\[codex\\] Fix Windows sandbox runtime ACL refresh [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#28946](https://github.com/openai/codex/pull/28946) Synchronize realtime notification test requests [@rka-oai](https://github.com/rka-oai)\n- [#28822](https://github.com/openai/codex/pull/28822) Add Config for Time Reminders (1/n) [@rka-oai](https://github.com/rka-oai)\n- [#28494](https://github.com/openai/codex/pull/28494) \\[codex\\] rollout budget implementation (2/N) [@rka-oai](https://github.com/rka-oai)\n- [#27500](https://github.com/openai/codex/pull/27500) Support `openai/form` extended form elicitations [@gpeal](https://github.com/gpeal)\n- [#28949](https://github.com/openai/codex/pull/28949) \\[codex\\] Make thread store turn filter optional [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#28824](https://github.com/openai/codex/pull/28824) current time reminders impl for system clock (2/n) [@rka-oai](https://github.com/rka-oai)\n- [#27812](https://github.com/openai/codex/pull/27812) \\[codex\\] Cache plugin metadata for tool suggestions [@mzeng-openai](https://github.com/mzeng-openai)\n- [#28854](https://github.com/openai/codex/pull/28854) apply-patch: carry paths as PathUri [@anp-oai](https://github.com/anp-oai)\n- [#28835](https://github.com/openai/codex/pull/28835) Add app-server current-time impl (3/n) [@rka-oai](https://github.com/rka-oai)\n- [#26496](https://github.com/openai/codex/pull/26496) Make auto-review on-request prompt more proactive [@maja-openai](https://github.com/maja-openai)\n- [#28947](https://github.com/openai/codex/pull/28947) \\[codex\\] Remove hardcoded app ID filters [@ericning-o](https://github.com/ericning-o)\n- [#28959](https://github.com/openai/codex/pull/28959) TUI: improve unified mention selection visibility [@canvrno-oai](https://github.com/canvrno-oai)\n- [#27132](https://github.com/openai/codex/pull/27132) Emit Trusted MCP App Identity on Tool-Call Items [@martinauyeung-oai](https://github.com/martinauyeung-oai)\n- [#19049](https://github.com/openai/codex/pull/19049) feat: opt ChatGPT auth into agent identity [@adrian-openai](https://github.com/adrian-openai)\n- [#28770](https://github.com/openai/codex/pull/28770) \\[connectors\\] Ignore synthetic links for app accessibility [@adaley-openai](https://github.com/adaley-openai)\n- [#28863](https://github.com/openai/codex/pull/28863) \\[codex\\] Preserve remote plugin download status errors [@xl-openai](https://github.com/xl-openai)\n- [#28958](https://github.com/openai/codex/pull/28958) core: load AGENTS.md from foreign environments [@anp-oai](https://github.com/anp-oai)\n- [#28789](https://github.com/openai/codex/pull/28789) \\[codex\\] Support marketplace plugin manifest fallback [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#28993](https://github.com/openai/codex/pull/28993) \\[codex\\] Remove child AGENTS.md prompt experiment [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28989](https://github.com/openai/codex/pull/28989) core: log AGENTS.md paths as URIs [@anp-oai](https://github.com/anp-oai)\n- [#28983](https://github.com/openai/codex/pull/28983) core: keep remote exec on reported shell [@anp-oai](https://github.com/anp-oai)\n- [#28844](https://github.com/openai/codex/pull/28844) \\[codex\\] Reuse parsed plugin skills during session startup [@xl-openai](https://github.com/xl-openai)\n- [#28953](https://github.com/openai/codex/pull/28953) core: add UUIDv7 context window IDs [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28951](https://github.com/openai/codex/pull/28951) \\[plugins\\] Refresh plugin and tool caches after remote install [@adaley-openai](https://github.com/adaley-openai)\n- [#28856](https://github.com/openai/codex/pull/28856) Always use AVAS for realtime WebRTC calls [@bakks](https://github.com/bakks)\n- [#28814](https://github.com/openai/codex/pull/28814) \\[codex\\] Assign response item IDs when recording history [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29005](https://github.com/openai/codex/pull/29005) \\[codex\\] Skip curated repo sync for remote plugins [@xl-openai](https://github.com/xl-openai)\n- [#29011](https://github.com/openai/codex/pull/29011) \\[codex\\] add clock current-time tool [@rka-oai](https://github.com/rka-oai)\n- [#29012](https://github.com/openai/codex/pull/29012) core: assign item IDs to compacted replacement history [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29022](https://github.com/openai/codex/pull/29022) \\[codex\\] Support protected resource OAuth discovery [@xl-openai](https://github.com/xl-openai)\n- [#28674](https://github.com/openai/codex/pull/28674) \\[1/3\\] core: add remote environment connection lifecycle [@sayan-oai](https://github.com/sayan-oai)\n- [#28683](https://github.com/openai/codex/pull/28683) \\[2/3\\] core: track starting environments in snapshots [@sayan-oai](https://github.com/sayan-oai)\n- [#29025](https://github.com/openai/codex/pull/29025) \\[3/3\\] app-server: configure environment connection timeout [@sayan-oai](https://github.com/sayan-oai)\n- [#28685](https://github.com/openai/codex/pull/28685) Add per-turn multi-agent mode [@shijie-oai](https://github.com/shijie-oai)\n- [#28792](https://github.com/openai/codex/pull/28792) Expose thread-level multi-agent mode [@shijie-oai](https://github.com/shijie-oai)\n- [#28707](https://github.com/openai/codex/pull/28707) \\[codex\\] abort turns when rollout budgets expire (token budget 3/3) [@rka-oai](https://github.com/rka-oai)\n- [#28899](https://github.com/openai/codex/pull/28899) Scope network approvals by environment [@jif-oai](https://github.com/jif-oai)\n- [#29086](https://github.com/openai/codex/pull/29086) Document raw response item compatibility [@jif-oai](https://github.com/jif-oai)\n- [#28489](https://github.com/openai/codex/pull/28489) Add indexed web search mode [@winston-openai](https://github.com/winston-openai)\n- [#28942](https://github.com/openai/codex/pull/28942) Add config toggles for orchestrator skills and MCP [@jif-oai](https://github.com/jif-oai)\n- [#29099](https://github.com/openai/codex/pull/29099) Keep remote exec commands native to the executor [@jif-oai](https://github.com/jif-oai)\n- [#29095](https://github.com/openai/codex/pull/29095) Use cached and live web access terminology [@winston-openai](https://github.com/winston-openai)\n- [#29042](https://github.com/openai/codex/pull/29042) \\[codex\\] trace pre-sampling skill and persistence latency [@rphilizaire-openai](https://github.com/rphilizaire-openai)\n- [#29132](https://github.com/openai/codex/pull/29132) chore(deps): advance tokio-tungstenite [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#29006](https://github.com/openai/codex/pull/29006) \\[codex\\] Preserve skill descriptions outside model context [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#29154](https://github.com/openai/codex/pull/29154) Allow resume and settings commands during tasks and MCP startup [@etraut-openai](https://github.com/etraut-openai)\n- [#29256](https://github.com/openai/codex/pull/29256) core: add context window lineage IDs [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29259](https://github.com/openai/codex/pull/29259) \\[codex\\] prototype mcp\\_history thread hint injection [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29255](https://github.com/openai/codex/pull/29255) \\[codex\\] add configurable token budget compaction reminder [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29295](https://github.com/openai/codex/pull/29295) \\[codex\\] simplify token budget context [@pakrym-oai](https://github.com/pakrym-oai)\n- [#29108](https://github.com/openai/codex/pull/29108) Carry sandbox intent to remote exec servers [@jif-oai](https://github.com/jif-oai)\n- [#29325](https://github.com/openai/codex/pull/29325) Test pipelined scalar exec-server requests [@jif-oai](https://github.com/jif-oai)\n- [#29326](https://github.com/openai/codex/pull/29326) Parallelize skill metadata stats [@jif-oai](https://github.com/jif-oai)\n- [#29329](https://github.com/openai/codex/pull/29329) Use controlled time for remote initialization timeout test [@jif-oai](https://github.com/jif-oai)\n- [#29170](https://github.com/openai/codex/pull/29170) code-mode: define transport-neutral runtime types [@cconger](https://github.com/cconger)\n- [#29285](https://github.com/openai/codex/pull/29285) code-mode: move session ownership into runtime [@cconger](https://github.com/cconger)\n- [#29286](https://github.com/openai/codex/pull/29286) code-mode: linearize cell terminal state [@cconger](https://github.com/cconger)\n- [#29287](https://github.com/openai/codex/pull/29287) code-mode: make session shutdown authoritative [@cconger](https://github.com/cconger)\n- [#29301](https://github.com/openai/codex/pull/29301) \\[prompting\\] updated plan mode prompt [@rhan-oai](https://github.com/rhan-oai)\n- [#29288](https://github.com/openai/codex/pull/29288) code-mode: preserve dropped observation output [@cconger](https://github.com/cconger)\n- [#29289](https://github.com/openai/codex/pull/29289) code-mode: preserve initial yield at completion [@cconger](https://github.com/cconger)\n- [#28260](https://github.com/openai/codex/pull/28260) \\[codex\\] Add internal auto-compaction opt-out [@rhan-oai](https://github.com/rhan-oai)\n- [#29371](https://github.com/openai/codex/pull/29371) Propagate safety buffering events to app-server clients [@fc-oai](https://github.com/fc-oai)\n- [#29393](https://github.com/openai/codex/pull/29393) chore: fix merge race (auto-compaction feature access) [@sayan-oai](https://github.com/sayan-oai)\n- [#29327](https://github.com/openai/codex/pull/29327) Persist session IDs across thread resume [@jif-oai](https://github.com/jif-oai)\n- [#29324](https://github.com/openai/codex/pull/29324) Simplify multi-agent mode controls [@jif-oai](https://github.com/jif-oai)\n- [#29113](https://github.com/openai/codex/pull/29113) Apply sandbox intent inside remote exec servers [@jif-oai](https://github.com/jif-oai)\n- [#29001](https://github.com/openai/codex/pull/29001) Add workspace messages app-server API [@xli-oai](https://github.com/xli-oai)\n- [#29432](https://github.com/openai/codex/pull/29432) Stop logging every Responses WebSocket event [@jif-oai](https://github.com/jif-oai)\n- [#29073](https://github.com/openai/codex/pull/29073) core: refresh environment context before sampling [@sayan-oai](https://github.com/sayan-oai)\n- [#29455](https://github.com/openai/codex/pull/29455) fix(core): restore thread\\_source in x-codex-turn-metadata [@owenlin0](https://github.com/owenlin0)\n- [#29457](https://github.com/openai/codex/pull/29457) Filter noisy targets from persistent logs [@jif-oai](https://github.com/jif-oai)\n- [#29429](https://github.com/openai/codex/pull/29429) remove flag for image preparation [@rka-oai](https://github.com/rka-oai)\n- [#29143](https://github.com/openai/codex/pull/29143) ci: restore custom Windows runner with hermetic LLVM 0.7.9 [@anp-oai](https://github.com/anp-oai)\n- [#27102](https://github.com/openai/codex/pull/27102) \\[codex\\] Centralize Plugin Analytics Metadata [@jameswt-oai](https://github.com/jameswt-oai)\n- [#26703](https://github.com/openai/codex/pull/26703) TUI Plugin Sharing 3 - render remote plugin catalog sections [@canvrno-oai](https://github.com/canvrno-oai)\n- [#29424](https://github.com/openai/codex/pull/29424) Report remote sandbox denials semantically [@jif-oai](https://github.com/jif-oai)\n- [#28968](https://github.com/openai/codex/pull/28968) core: rename metadata -> internal\\_chat\\_message\\_metadata\\_passthrough [@owenlin0](https://github.com/owenlin0)\n- [#29464](https://github.com/openai/codex/pull/29464) \\[sdk/python\\] Stop advertising HTTP image URLs [@rka-oai](https://github.com/rka-oai)\n- [#28793](https://github.com/openai/codex/pull/28793) \\[codex\\] Fix usage-limit reset copy and state [@jayp-oai](https://github.com/jayp-oai)\n- [#27982](https://github.com/openai/codex/pull/27982) \\[codex\\] Start the guardian child session when parent session is started [@jgershen-oai](https://github.com/jgershen-oai)\n- [#29468](https://github.com/openai/codex/pull/29468) core: remove unused permissions cwd plumbing [@bolinfest](https://github.com/bolinfest)\n- [#26707](https://github.com/openai/codex/pull/26707) PAC 2 - Add shared auth system proxy contract [@canvrno-oai](https://github.com/canvrno-oai)\n- [#28991](https://github.com/openai/codex/pull/28991) Allow ChatGPT accounts without email [@efrazer-oai](https://github.com/efrazer-oai)\n- [#29423](https://github.com/openai/codex/pull/29423) \\[codex\\] configure rollout budget reminder thresholds [@rka-oai](https://github.com/rka-oai)\n- [#26678](https://github.com/openai/codex/pull/26678) permission profiles: expose availability to clients [@viyatb-oai](https://github.com/viyatb-oai)\n- [#29476](https://github.com/openai/codex/pull/29476) \\[codex\\] handle request\\_user\\_input in app-server test client [@celia-oai](https://github.com/celia-oai)\n- [#29479](https://github.com/openai/codex/pull/29479) fix(config): address permission profile review follow-ups [@viyatb-oai](https://github.com/viyatb-oai)\n- [#29014](https://github.com/openai/codex/pull/29014) Honor startup custom CA bundles with managed MITM [@winston-openai](https://github.com/winston-openai)\n- [#29480](https://github.com/openai/codex/pull/29480) chore: advance tungstenite fork pins [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#27669](https://github.com/openai/codex/pull/27669) \\[codex-core-plugins\\] Remote Plugin ID Persisted to File [@jameswt-oai](https://github.com/jameswt-oai)","publishedAt":"2026-06-22T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-343189954","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":31361,"contentTokens":9654,"composition":{"bugs":6,"features":6,"enhancements":0}},{"id":"rel_V4obzWyezjAkAGFwuvOyr","version":null,"type":"feature","title":"ChatGPT for iOS","summary":"Added per-host personality settings with Friendly and Pragmatic options, goal editing directly in the composer, and links from forked conversations back to the original thread. Improved side chat visibility, composer autocomplete, and workspace file search.","titleGenerated":"Codex adds per-host personality settings for ChatGPT for iOS","titleShort":"Per-host personalities land on iOS; goal editing in composer","breaking":"none","importance":null,"content":"# ChatGPT for iOS\n\n### New features\n\n- Added per-host personality settings with Friendly and Pragmatic options.\n- Added support for editing goals directly in the composer.\n- Added a link from forked conversations back to the original thread.\n\n### Improvements and bug fixes\n\n- Improved side chat visibility with separate conversations above the composer.\n- Improved composer autocomplete for commands, skills, and plugins from any\n  prefix.\n- Improved progress visibility for subagents, tasks, and worktree creation.\n- Fixed long threads loading.\n- Improved workspace file search, code review drafts, steering, and host setup\n  and recovery.\n- Fixed Face ID unlocking, stopping responses, collapsed sections, and dark-mode\n  host indicators.","publishedAt":"2026-06-22T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-22-mobile","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":741,"contentTokens":147,"composition":{"bugs":4,"features":3,"enhancements":4}},{"id":"rel_13AHyRPGgkW-b9zzIp6nt","version":null,"type":"feature","title":"Codex app","summary":"Record & Replay lets macOS users turn a demonstrated workflow into a reusable skill, initially available outside the EEA, UK, and Switzerland with Computer Use enabled. Bulk actions for automation run history, deep links for SSH connections, and improved Browser Use session persistence are also included.","titleGenerated":"Codex adds Record & Replay to turn workflows into reusable skills","titleShort":"Record & Replay turns workflows into reusable skills","breaking":"unknown","importance":null,"content":"# Codex app\n\n### New features\n\n- Added [Record & Replay](/codex/record-and-replay), a macOS feature that turns\n  a demonstrated workflow into a reusable skill. Initial availability excludes\n  the European Economic Area, the United Kingdom, and Switzerland. You or your\n  administrator must also enable Computer Use.\n- Added bulk actions to [automation](/codex/app/automations) run history so you\n  can mark every run as read or archive eligible runs.\n\n### Performance improvements and bug fixes\n\n- Added new [deep links](/codex/app/commands#settings) to manage SSH connections.\n- Improved Browser Use so visible-tab routing and annotations persist when a\n  draft browser session moves to the server.\n- Additional performance improvements and bug fixes.","publishedAt":"2026-06-18T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-18-app","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":752,"contentTokens":161,"composition":{"bugs":0,"features":3,"enhancements":1}},{"id":"rel_3En_04jxOrvrbTNlL_XGY","version":"0.141.0","type":"feature","title":"Codex CLI Release: 0.141.0","summary":"Remote executors now use authenticated, end-to-end encrypted Noise relay channels, and bundled SQLite is pinned to a version containing the WAL-reset corruption fix. Plus cross-platform remote execution, per-thread executor plugin MCP servers, and auto-resolving TUI prompts.","titleGenerated":"Codex 0.141.0 encrypts remote executors, adds plugin MCP servers, fixes SQLite WAL corruption","titleShort":"Remote executor channels now e2e encrypted; WAL-reset corruption fixed","breaking":"unknown","importance":null,"content":"## New Features\n\n- Remote executors now use authenticated, end-to-end encrypted Noise relay channels. ([#26242](https://github.com/openai/codex/pull/26242), [#26245](https://github.com/openai/codex/pull/26245))\n- Cross-platform remote execution now preserves executor-native working directories and shells, including filesystem permission paths across app-server and exec-server boundaries. ([#27819](https://github.com/openai/codex/pull/27819), [#27995](https://github.com/openai/codex/pull/27995), [#28032](https://github.com/openai/codex/pull/28032), [#28122](https://github.com/openai/codex/pull/28122), [#28165](https://github.com/openai/codex/pull/28165), [#28367](https://github.com/openai/codex/pull/28367))\n- Selected executor plugins can activate their stdio MCP servers per thread; plugin discovery also adds a created-by-me marketplace and auth-specific curated catalogs. ([#27870](https://github.com/openai/codex/pull/27870), [#27884](https://github.com/openai/codex/pull/27884), [#27893](https://github.com/openai/codex/pull/27893), [#28203](https://github.com/openai/codex/pull/28203), [#28383](https://github.com/openai/codex/pull/28383))\n- App-server clients can list immediate child threads, correlate external-agent imports with detailed results, and read or redeem rate-limit reset credits. ([#26662](https://github.com/openai/codex/pull/26662), [#28008](https://github.com/openai/codex/pull/28008), [#28143](https://github.com/openai/codex/pull/28143))\n- Realtime clients can explicitly append speech, control how Codex responses enter conversations, and omit startup context. ([#27917](https://github.com/openai/codex/pull/27917), [#28405](https://github.com/openai/codex/pull/28405))\n- TUI input prompts can auto-resolve after inactivity, with a countdown that pauses on interaction. ([#28235](https://github.com/openai/codex/pull/28235))\n\n## Bug Fixes\n\n- Hook trust bypass now persists through `codex exec` thread start and resume, while blocking `PostToolUse` hooks correctly reject code-mode tool calls. ([#26434](https://github.com/openai/codex/pull/26434), [#28365](https://github.com/openai/codex/pull/28365))\n- Plugin capabilities now route consistently by authentication mode, deduplicate conflicting App/MCP declarations, and preserve remote marketplace ordering. ([#27461](https://github.com/openai/codex/pull/27461), [#27602](https://github.com/openai/codex/pull/27602), [#27607](https://github.com/openai/codex/pull/27607), [#27902](https://github.com/openai/codex/pull/27902), [#27958](https://github.com/openai/codex/pull/27958), [#28395](https://github.com/openai/codex/pull/28395))\n- Windows sandbox execution repairs stale credentials automatically and gives PowerShell commands more time before backgrounding. ([#27086](https://github.com/openai/codex/pull/27086), [#27944](https://github.com/openai/codex/pull/27944))\n- Idle exec-server relays remain connected, and steered user input immediately interrupts `wait_agent`. ([#28286](https://github.com/openai/codex/pull/28286), [#28341](https://github.com/openai/codex/pull/28341))\n- Bundled SQLite is pinned to a version containing the WAL-reset corruption fix. ([#27992](https://github.com/openai/codex/pull/27992))\n- TLS connections now support P-521 certificate signatures commonly used by enterprise proxies. ([#27706](https://github.com/openai/codex/pull/27706))\n\n## Chores\n\n- Reduced latency and memory use in large, tool-heavy sessions by caching tool search and eliminating repeated request and history copies. ([#27258](https://github.com/openai/codex/pull/27258), [#27813](https://github.com/openai/codex/pull/27813), [#28306](https://github.com/openai/codex/pull/28306), [#28309](https://github.com/openai/codex/pull/28309), [#28313](https://github.com/openai/codex/pull/28313), [#28323](https://github.com/openai/codex/pull/28323), [#28327](https://github.com/openai/codex/pull/28327))\n- Bounded prompt-image caching to 64 MiB and feedback uploads to eight related threads. ([#28294](https://github.com/openai/codex/pull/28294), [#28332](https://github.com/openai/codex/pull/28332))\n- Terminal resize reflow is now always enabled, ignoring obsolete disabled settings. ([#27794](https://github.com/openai/codex/pull/27794))\n\n## Changelog\n\nFull Changelog: [rust-v0.140.0...rust-v0.141.0](https://github.com/openai/codex/compare/rust-v0.140.0...rust-v0.141.0)\n\n- [#28001](https://github.com/openai/codex/pull/28001) \\[codex\\] package Windows ARM64 on x64 [@tamird](https://github.com/tamird)\n- [#28032](https://github.com/openai/codex/pull/28032) \\[codex\\] Carry exec-server cwd as PathUri [@anp-oai](https://github.com/anp-oai)\n- [#27607](https://github.com/openai/codex/pull/27607) \\[codex\\] Dedupe plugin MCPs by app declaration name [@felixxia-oai](https://github.com/felixxia-oai)\n- [#27992](https://github.com/openai/codex/pull/27992) \\[codex\\] Pin bundled SQLite to fixed WAL-reset version [@gpeal](https://github.com/gpeal)\n- [#28125](https://github.com/openai/codex/pull/28125) build: run buildifier from just fmt [@anp-oai](https://github.com/anp-oai)\n- [#28120](https://github.com/openai/codex/pull/28120) bazel: add PowerShell to Wine test harness [@anp-oai](https://github.com/anp-oai)\n- [#27819](https://github.com/openai/codex/pull/27819) path-uri: render native paths across platforms [@anp-oai](https://github.com/anp-oai)\n- [#28122](https://github.com/openai/codex/pull/28122) \\[codex\\] exec-server honors remote environment cwd and shell [@anp-oai](https://github.com/anp-oai)\n- [#26662](https://github.com/openai/codex/pull/26662) feat(app-server): filter threads by parent [@btraut-openai](https://github.com/btraut-openai)\n- [#27884](https://github.com/openai/codex/pull/27884) Add selected-plugin precedence and attribution to the MCP catalog [@jif-oai](https://github.com/jif-oai)\n- [#27870](https://github.com/openai/codex/pull/27870) Discover stdio MCP servers from selected executor plugins [@jif-oai](https://github.com/jif-oai)\n- [#28283](https://github.com/openai/codex/pull/28283) \\[codex\\] update multi-agent v2 prompts [@jif-oai](https://github.com/jif-oai)\n- [#27602](https://github.com/openai/codex/pull/27602) \\[codex\\] Preserve plugin apps in connector listings [@felixxia-oai](https://github.com/felixxia-oai)\n- [#27461](https://github.com/openai/codex/pull/27461) \\[codex\\] Skip plugin MCP OAuth for matching app routes [@felixxia-oai](https://github.com/felixxia-oai)\n- [#27893](https://github.com/openai/codex/pull/27893) Activate selected executor plugin MCPs in app-server [@jif-oai](https://github.com/jif-oai)\n- [#28332](https://github.com/openai/codex/pull/28332) \\[codex\\] Cap feedback upload subtrees [@jif-oai](https://github.com/jif-oai)\n- [#27365](https://github.com/openai/codex/pull/27365) Represent dynamic tools with explicit namespaces internally [@sayan-oai](https://github.com/sayan-oai)\n- [#28333](https://github.com/openai/codex/pull/28333) skills: hide orchestrator skills with a local executor [@jif-oai](https://github.com/jif-oai)\n- [#27756](https://github.com/openai/codex/pull/27756) \\[codex\\] simplify shell snapshot ownership [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27794](https://github.com/openai/codex/pull/27794) Remove terminal resize reflow flag gates [@etraut-openai](https://github.com/etraut-openai)\n- [#28286](https://github.com/openai/codex/pull/28286) chore: restore exec-server relay keepalives [@jif-oai](https://github.com/jif-oai)\n- [#28164](https://github.com/openai/codex/pull/28164) \\[codex\\] simplify memory read metrics [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27371](https://github.com/openai/codex/pull/27371) Expose explicit dynamic tool namespaces in thread start [@sayan-oai](https://github.com/sayan-oai)\n- [#28309](https://github.com/openai/codex/pull/28309) linearize history output normalization [@jif-oai](https://github.com/jif-oai)\n- [#28306](https://github.com/openai/codex/pull/28306) avoid cloning sampling request input [@jif-oai](https://github.com/jif-oai)\n- [#28323](https://github.com/openai/codex/pull/28323) serialize websocket requests directly [@jif-oai](https://github.com/jif-oai)\n- [#28313](https://github.com/openai/codex/pull/28313) avoid cloning websocket request history [@jif-oai](https://github.com/jif-oai)\n- [#28344](https://github.com/openai/codex/pull/28344) \\[codex\\] remove stale PathExt import [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27059](https://github.com/openai/codex/pull/27059) \\[codex\\] Cover OTLP HTTP log and trace event export [@richardopenai](https://github.com/richardopenai)\n- [#28327](https://github.com/openai/codex/pull/28327) reuse encoded Responses request bodies [@jif-oai](https://github.com/jif-oai)\n- [#27995](https://github.com/openai/codex/pull/27995) \\[codex\\] preserve explicit environment cwd [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28285](https://github.com/openai/codex/pull/28285) guardian: isolate review context from skills and memories [@jif-oai](https://github.com/jif-oai)\n- [#26702](https://github.com/openai/codex/pull/26702) TUI Plugin Sharing 2 - add remote plugin section plumbing [@canvrno-oai](https://github.com/canvrno-oai)\n- [#28294](https://github.com/openai/codex/pull/28294) bound prompt image cache retention [@jif-oai](https://github.com/jif-oai)\n- [#28257](https://github.com/openai/codex/pull/28257) Support staging OAuth client ID overrides [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#28341](https://github.com/openai/codex/pull/28341) core: let steer interrupt wait\\_agent [@jif-oai](https://github.com/jif-oai)\n- [#28336](https://github.com/openai/codex/pull/28336) skills: cache orchestrator resources per thread [@jif-oai](https://github.com/jif-oai)\n- [#28357](https://github.com/openai/codex/pull/28357) Extract shared Windows sandbox session runner [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#27706](https://github.com/openai/codex/pull/27706) Use aws-lc-rs for rustls crypto provider [@malsamiri-oai](https://github.com/malsamiri-oai)\n- [#28347](https://github.com/openai/codex/pull/28347) \\[codex\\] add path-types skill [@anp-oai](https://github.com/anp-oai)\n- [#28235](https://github.com/openai/codex/pull/28235) Add request user input auto-resolution timer [@shijie-oai](https://github.com/shijie-oai)\n- [#28234](https://github.com/openai/codex/pull/28234) \\[mcp\\] Increase default tool timeout to 300 seconds [@adaley-openai](https://github.com/adaley-openai)\n- [#28008](https://github.com/openai/codex/pull/28008) \\[codex\\] Add external agent import result accounting [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#27944](https://github.com/openai/codex/pull/27944) recover stale Windows sandbox credentials [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#27086](https://github.com/openai/codex/pull/27086) Add Windows unified exec yield floor [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#28358](https://github.com/openai/codex/pull/28358) Add hidden Windows sandbox wrapper entrypoint [@iceweasel-oai](https://github.com/iceweasel-oai)\n- [#27258](https://github.com/openai/codex/pull/27258) core: cache the tool search handler per session [@mchen-oai](https://github.com/mchen-oai)\n- [#28143](https://github.com/openai/codex/pull/28143) feat(app-server): expose rate-limit reset credits [@jayp-oai](https://github.com/jayp-oai)\n- [#28355](https://github.com/openai/codex/pull/28355) feat(core): add metadata field to ResponseItem [@owenlin0](https://github.com/owenlin0)\n- [#28203](https://github.com/openai/codex/pull/28203) \\[codex\\] Add created-by-me remote plugin marketplace [@ericning-o](https://github.com/ericning-o)\n- [#28365](https://github.com/openai/codex/pull/28365) Respect blocking PostToolUse hooks in code mode [@abhinav-oai](https://github.com/abhinav-oai)\n- [#27813](https://github.com/openai/codex/pull/27813) \\[codex\\] Reuse Apps policy evaluation across MCP tool exposure [@mzeng-openai](https://github.com/mzeng-openai)\n- [#28300](https://github.com/openai/codex/pull/28300) Deflake realtime handoff steering test [@felixxia-oai](https://github.com/felixxia-oai)\n- [#28395](https://github.com/openai/codex/pull/28395) \\[codex\\] Preserve remote plugin directory order [@jameswt-oai](https://github.com/jameswt-oai)\n- [#27955](https://github.com/openai/codex/pull/27955) \\[codex\\] retain resolved environments across turns [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27917](https://github.com/openai/codex/pull/27917) Add realtime speech append control [@guinness-oai](https://github.com/guinness-oai)\n- [#27093](https://github.com/openai/codex/pull/27093) \\[codex-analytics\\] Analytics Capture to File in Debug Builds [@jameswt-oai](https://github.com/jameswt-oai)\n- [#26242](https://github.com/openai/codex/pull/26242) exec-server: add Noise relay transport [@viyatb-oai](https://github.com/viyatb-oai)\n- [#28165](https://github.com/openai/codex/pull/28165) Use PathUri in filesystem permission paths for exec-server [@anp-oai](https://github.com/anp-oai)\n- [#28415](https://github.com/openai/codex/pull/28415) \\[codex\\] Fix missing response item metadata in tests [@adaley-openai](https://github.com/adaley-openai)\n- [#27058](https://github.com/openai/codex/pull/27058) \\[codex\\] Add second-based OTEL duration histograms [@richardopenai](https://github.com/richardopenai)\n- [#27902](https://github.com/openai/codex/pull/27902) \\[codex\\] Centralize plugin auth capability filtering [@felixxia-oai](https://github.com/felixxia-oai)\n- [#28405](https://github.com/openai/codex/pull/28405) Add a toggle for realtime startup context [@guinness-oai](https://github.com/guinness-oai)\n- [#26434](https://github.com/openai/codex/pull/26434) Preserve hook trust bypass in codex exec threads [@abhinav-oai](https://github.com/abhinav-oai)\n- [#26245](https://github.com/openai/codex/pull/26245) exec-server: default remote transport to Noise [@viyatb-oai](https://github.com/viyatb-oai)\n- [#28383](https://github.com/openai/codex/pull/28383) \\[codex\\] Load API curated marketplace by auth [@felixxia-oai](https://github.com/felixxia-oai)\n- [#27958](https://github.com/openai/codex/pull/27958) \\[codex\\] Make plugin details capability aware [@felixxia-oai](https://github.com/felixxia-oai)\n- [#28367](https://github.com/openai/codex/pull/28367) Use ApiPathString in app-server filesystem permission paths [@anp-oai](https://github.com/anp-oai)\n- [#28421](https://github.com/openai/codex/pull/28421) \\[codex\\] Bind shell snapshots to retained thread environments [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28429](https://github.com/openai/codex/pull/28429) \\[codex\\] Add interruptible sleep tool [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28441](https://github.com/openai/codex/pull/28441) \\[codex\\] Use expect in integration tests [@pakrym-oai](https://github.com/pakrym-oai)\n- [#28163](https://github.com/openai/codex/pull/28163) \\[codex\\] Use local environment for user shell commands [@pakrym-oai](https://github.com/pakrym-oai)","publishedAt":"2026-06-18T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-341160952","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":14951,"contentTokens":4530,"composition":{"bugs":6,"features":5,"enhancements":3}},{"id":"rel_Z0A3sD9Pl7imJ9VNuCNbF","version":null,"type":"feature","title":"Codex app features are available in the EEA, UK, and Switzerland","summary":"Computer Use on macOS and Windows, the Chrome extension, Memories, and Chronicle are now available to Codex users in the European Economic Area, the United Kingdom, and Switzerland. Memories are off by default in these regions.","titleGenerated":"Codex app features roll out in the EEA, UK, and Switzerland","titleShort":"Computer Use, Chrome extension, and Memories launch in EEA, UK, Switzerland","breaking":"unknown","importance":null,"content":"# Codex app features are available in the EEA, UK, and Switzerland\n\nMore Codex app capabilities are rolling out to users in the European Economic\nArea, the United Kingdom, and Switzerland:\n\n- [Computer Use](/codex/app/computer-use) is available on macOS and Windows in\n  these regions, so Codex can operate desktop apps by seeing, clicking, and\n  typing.\n- The [Codex Chrome extension](/codex/app/chrome-extension) is available for\n  browser tasks that need signed-in Chrome context, working across tabs in the\n  background without taking over your browser.\n- [Memories](/codex/memories) can remember useful preferences, recurring\n  workflows, tech stacks, and repository conventions when enabled. Memories are\n  off by default in the European Economic Area, the United Kingdom, and\n  Switzerland.\n- [Chronicle](/codex/memories/chronicle) is available as an opt-in research\n  preview for ChatGPT Pro subscribers on macOS, helping Codex build memories\n  from recent screen context.","publishedAt":"2026-06-16T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-16-app","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":980,"contentTokens":226,"composition":{"bugs":0,"features":4,"enhancements":0}},{"id":"rel_rbPBJd0yMmyt0_a-u9VOG","version":"0.140.0","type":"feature","title":"Codex CLI Release: 0.140.0","summary":"New /import command selectively brings in setup, project config, and recent chats from Claude Code. Corrupted SQLite state databases are now backed up and rebuilt automatically, and MCP reliability is improved with retry of transient startup failures and proper logged-out status for unusable OAuth credentials.","titleGenerated":"Codex CLI 0.140.0 adds Claude Code import and auto-rebuilds corrupted databases","titleShort":"Claude Code import; corrupted DBs rebuilt automatically","breaking":"unknown","importance":null,"content":"## New Features\n\n- Added `/usage` views for daily, weekly, and cumulative account token activity. ([#27925](https://github.com/openai/codex/pull/27925))\n- `/goal` now preserves oversized text, large pasted blocks, and image attachments, including in remote app-server sessions. ([#27508](https://github.com/openai/codex/pull/27508), [#27509](https://github.com/openai/codex/pull/27509), [#27510](https://github.com/openai/codex/pull/27510))\n- Added permanent session deletion through `codex delete`, `/delete`, and app-server `thread/delete`, with confirmation safeguards and subagent cleanup. ([#25018](https://github.com/openai/codex/pull/25018), [#27476](https://github.com/openai/codex/pull/27476))\n- Added `/import` for selectively importing setup, project configuration, and recent chats from Claude Code. ([#27070](https://github.com/openai/codex/pull/27070), [#27071](https://github.com/openai/codex/pull/27071), [#27703](https://github.com/openai/codex/pull/27703))\n- Typing `@` now opens the unified mentions menu for files, plugins, and skills by default. ([#27499](https://github.com/openai/codex/pull/27499))\n- Added managed Amazon Bedrock API-key authentication and encrypted local storage for CLI and MCP OAuth credentials. ([#27443](https://github.com/openai/codex/pull/27443), [#27689](https://github.com/openai/codex/pull/27689), [#27504](https://github.com/openai/codex/pull/27504), [#27535](https://github.com/openai/codex/pull/27535), [#27539](https://github.com/openai/codex/pull/27539), [#27541](https://github.com/openai/codex/pull/27541))\n\n## Bug Fixes\n\n- Corrupted SQLite state databases are now backed up and rebuilt automatically from rollout data, including malformed database-directory cases. ([#26859](https://github.com/openai/codex/pull/26859), [#27719](https://github.com/openai/codex/pull/27719))\n- Prevented `/review` from crashing when `Esc` is pressed with queued guidance, while preserving that guidance when the review is canceled. ([#22879](https://github.com/openai/codex/pull/22879))\n- Improved MCP reliability by retrying transient startup failures, reporting unusable OAuth credentials as logged out, and preserving explicitly disabled servers. ([#25147](https://github.com/openai/codex/pull/25147), [#26713](https://github.com/openai/codex/pull/26713), [#27414](https://github.com/openai/codex/pull/27414))\n- Fixed remote plugin uninstall requests and correctly surfaced apps requiring authentication during installation. ([#27085](https://github.com/openai/codex/pull/27085), [#27223](https://github.com/openai/codex/pull/27223))\n- Persisted “Don’t remind me” update dismissals reliably and cleared stale running-hook indicators after completed turns. ([#27619](https://github.com/openai/codex/pull/27619), [#27783](https://github.com/openai/codex/pull/27783))\n- Non-TTY background commands can now be interrupted with Ctrl-C while preserving their final output and exit status. ([#26734](https://github.com/openai/codex/pull/26734))\n\n## Documentation\n\n- Clarified contributor guidance around keeping crate APIs narrow and supporting Linux, macOS, and Windows. ([#27939](https://github.com/openai/codex/pull/27939), [#27966](https://github.com/openai/codex/pull/27966))\n\n## Chores\n\n- Improved responsiveness for large repositories and long sessions by preserving Git’s built-in filesystem monitor, avoiding duplicate history reads, accelerating archive lookup, and caching turn-diff rendering. ([#26880](https://github.com/openai/codex/pull/26880), [#27031](https://github.com/openai/codex/pull/27031), [#27276](https://github.com/openai/codex/pull/27276), [#27489](https://github.com/openai/codex/pull/27489))\n- Removed the experimental `/realtime` voice controls and related audio dependencies from the TUI. ([#27801](https://github.com/openai/codex/pull/27801))\n\n## Changelog\n\nFull Changelog: [rust-v0.139.0...rust-v0.140.0](https://github.com/openai/codex/compare/rust-v0.139.0...rust-v0.140.0)\n\n- [#26880](https://github.com/openai/codex/pull/26880) \\[codex\\] preserve fsmonitor for worktree Git reads [@tamird](https://github.com/tamird)\n- [#27085](https://github.com/openai/codex/pull/27085) Use server app auth requirements for remote plugin install [@xl-openai](https://github.com/xl-openai)\n- [#27098](https://github.com/openai/codex/pull/27098) \\[codex\\] Return workspace directory installed plugins [@xl-openai](https://github.com/xl-openai)\n- [#27007](https://github.com/openai/codex/pull/27007) multi-agent: add path-based v2 activity tracking [@jif-oai](https://github.com/jif-oai)\n- [#27166](https://github.com/openai/codex/pull/27166) app-server: clear stale thread watches after v2 agent interruption [@jif-oai](https://github.com/jif-oai)\n- [#27080](https://github.com/openai/codex/pull/27080) \\[codex\\] Ignore pending PR review comments [@anp-oai](https://github.com/anp-oai)\n- [#26420](https://github.com/openai/codex/pull/26420) Avoid no-op backfill state writes [@zanie-oai](https://github.com/zanie-oai)\n- [#27031](https://github.com/openai/codex/pull/27031) Avoid rereading rollout history during cold resume [@zanie-oai](https://github.com/zanie-oai)\n- [#22879](https://github.com/openai/codex/pull/22879) fix: Prevent /review crash when entering Esc on steer message [@canvrno-oai](https://github.com/canvrno-oai)\n- [#27173](https://github.com/openai/codex/pull/27173) app-server: reject direct input to multi-agent v2 sub-agents [@jif-oai](https://github.com/jif-oai)\n- [#27184](https://github.com/openai/codex/pull/27184) Load selected executor skills through extensions [@jif-oai](https://github.com/jif-oai)\n- [#26835](https://github.com/openai/codex/pull/26835) \\[codex\\] Test extension API contracts [@anp-oai](https://github.com/anp-oai)\n- [#27063](https://github.com/openai/codex/pull/27063) \\[codex-analytics\\] add extensible feature thread sources [@marksteinbrick-oai](https://github.com/marksteinbrick-oai)\n- [#26479](https://github.com/openai/codex/pull/26479) \\[codex\\] Speed up local nextest runs [@anp-oai](https://github.com/anp-oai)\n- [#27223](https://github.com/openai/codex/pull/27223) fix: use plugin service route for remote uninstall [@ericning-o](https://github.com/ericning-o)\n- [#22685](https://github.com/openai/codex/pull/22685) Add SOCKS5 TCP MITM coverage [@winston-openai](https://github.com/winston-openai)\n- [#26681](https://github.com/openai/codex/pull/26681) Allow creating a new goal after completion [@etraut-openai](https://github.com/etraut-openai)\n- [#26711](https://github.com/openai/codex/pull/26711) Reduce TUI legacy core dependencies [@etraut-openai](https://github.com/etraut-openai)\n- [#27110](https://github.com/openai/codex/pull/27110) \\[1/6\\] Add Python goal routing foundation [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#27191](https://github.com/openai/codex/pull/27191) Route hosted Apps MCP through extensions [@jif-oai](https://github.com/jif-oai)\n- [#26830](https://github.com/openai/codex/pull/26830) \\[codex\\] Characterize global instruction lifecycle [@anp-oai](https://github.com/anp-oai)\n- [#26713](https://github.com/openai/codex/pull/26713) \\[codex\\] Report unusable MCP OAuth credentials as logged out [@anp-oai](https://github.com/anp-oai)\n- [#26734](https://github.com/openai/codex/pull/26734) \\[codex\\] Handle Ctrl-C for non-TTY unified exec [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27116](https://github.com/openai/codex/pull/27116) Stop mirroring Codex user input into realtime [@guinness-oai](https://github.com/guinness-oai)\n- [#27111](https://github.com/openai/codex/pull/27111) \\[2/6\\] Add private Python goal operations [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#25147](https://github.com/openai/codex/pull/25147) \\[codex\\] Retry streamable HTTP initialize failures [@ssetty-oai](https://github.com/ssetty-oai)\n- [#27257](https://github.com/openai/codex/pull/27257) \\[codex\\] Tighten MCP connection manager API visibility and order [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#26701](https://github.com/openai/codex/pull/26701) TUI Plugin Sharing 1 - add remote plugin identity [@canvrno-oai](https://github.com/canvrno-oai)\n- [#27129](https://github.com/openai/codex/pull/27129) feat: use provider defaults for memory models [@celia-oai](https://github.com/celia-oai)\n- [#27094](https://github.com/openai/codex/pull/27094) Add spans to build\\_tool\\_router [@mchen-oai](https://github.com/mchen-oai)\n- [#24999](https://github.com/openai/codex/pull/24999) Add per-session realtime model and version overrides [@guinness-oai](https://github.com/guinness-oai)\n- [#27078](https://github.com/openai/codex/pull/27078) \\[codex-analytics\\] emit goal lifecycle analytics [@marksteinbrick-oai](https://github.com/marksteinbrick-oai)\n- [#27285](https://github.com/openai/codex/pull/27285) \\[codex\\] Fix post-merge analytics integration failures [@anp-oai](https://github.com/anp-oai)\n- [#27107](https://github.com/openai/codex/pull/27107) Add spans to run\\_turn [@mchen-oai](https://github.com/mchen-oai)\n- [#27261](https://github.com/openai/codex/pull/27261) \\[codex\\] Make MCP connection startup fallible [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#27174](https://github.com/openai/codex/pull/27174) feat: keep child MCP warnings out of parent transcript [@jif-oai](https://github.com/jif-oai)\n- [#27198](https://github.com/openai/codex/pull/27198) Use plugin-service MCP as the hosted plugin runtime [@jif-oai](https://github.com/jif-oai)\n- [#27375](https://github.com/openai/codex/pull/27375) \\[codex\\] Tag multi-agent spawn metrics with version [@jif-oai](https://github.com/jif-oai)\n- [#27383](https://github.com/openai/codex/pull/27383) Remove async-trait from extension contributors [@jif-oai](https://github.com/jif-oai)\n- [#27259](https://github.com/openai/codex/pull/27259) Use latest-wins MCP manager replacement [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#27264](https://github.com/openai/codex/pull/27264) \\[codex\\] Store compact window id in rollout [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27280](https://github.com/openai/codex/pull/27280) \\[codex\\] add io PathUri native conversion APIs [@anp-oai](https://github.com/anp-oai)\n- [#27315](https://github.com/openai/codex/pull/27315) \\[codex\\] link Windows releases with LLD [@tamird](https://github.com/tamird)\n- [#27276](https://github.com/openai/codex/pull/27276) Reduce archive rollout lookup CPU [@etraut-openai](https://github.com/etraut-openai)\n- [#27299](https://github.com/openai/codex/pull/27299) \\[codex\\] Outline ToolExecutor handler bodies [@anp-oai](https://github.com/anp-oai)\n- [#27391](https://github.com/openai/codex/pull/27391) Index visible thread list ordering [@zanie-oai](https://github.com/zanie-oai)\n- [#27407](https://github.com/openai/codex/pull/27407) Fix compressed rollout search path matching [@jif-oai](https://github.com/jif-oai)\n- [#27304](https://github.com/openai/codex/pull/27304) \\[codex\\] Remove async\\_trait from ToolExecutor [@anp-oai](https://github.com/anp-oai)\n- [#26041](https://github.com/openai/codex/pull/26041) Add app-server background terminal process APIs [@etraut-openai](https://github.com/etraut-openai)\n- [#25018](https://github.com/openai/codex/pull/25018) Add app-server `thread/delete` API [@etraut-openai](https://github.com/etraut-openai)\n- [#26859](https://github.com/openai/codex/pull/26859) fix: Auto-recover from corrupted sqlite databases [@ddr-oai](https://github.com/ddr-oai)\n- [#27064](https://github.com/openai/codex/pull/27064) \\[codex\\] remove blocking external agent migration flow [@stefanstokic-oai](https://github.com/stefanstokic-oai)\n- [#27421](https://github.com/openai/codex/pull/27421) \\[codex\\] Raise app-server recursion limit [@anp-oai](https://github.com/anp-oai)\n- [#27062](https://github.com/openai/codex/pull/27062) \\[codex\\] Retry transient Guardian review failures [@kbazzi](https://github.com/kbazzi)\n- [#27065](https://github.com/openai/codex/pull/27065) \\[codex\\] extract external agent import picker renderer [@stefanstokic-oai](https://github.com/stefanstokic-oai)\n- [#26409](https://github.com/openai/codex/pull/26409) \\[plugins\\] Inject remote\\_plugin\\_id into install elicitations [@adaley-openai](https://github.com/adaley-openai)\n- [#27439](https://github.com/openai/codex/pull/27439) feat: make ThreadStore available on ThreadExtensionDependencies [@bolinfest](https://github.com/bolinfest)\n- [#27343](https://github.com/openai/codex/pull/27343) Guard core test subprocess cleanup [@etraut-openai](https://github.com/etraut-openai)\n- [#27070](https://github.com/openai/codex/pull/27070) \\[codex\\] add external agent import picker UX [@stefanstokic-oai](https://github.com/stefanstokic-oai)\n- [#27321](https://github.com/openai/codex/pull/27321) \\[codex\\] Move release platform rules into bazel package [@anp-oai](https://github.com/anp-oai)\n- [#27071](https://github.com/openai/codex/pull/27071) \\[codex\\] add /import for external agents [@stefanstokic-oai](https://github.com/stefanstokic-oai)\n- [#27311](https://github.com/openai/codex/pull/27311) \\[codex\\] Skip local curated discovery for remote plugins [@xl-openai](https://github.com/xl-openai)\n- [#27414](https://github.com/openai/codex/pull/27414) \\[codex\\] Preserve disabled MCP servers across runtime overlays [@e-provencher](https://github.com/e-provencher)\n- [#27312](https://github.com/openai/codex/pull/27312) \\[codex\\] reuse release artifacts for npm staging [@tamird](https://github.com/tamird)\n- [#27319](https://github.com/openai/codex/pull/27319) Forward standalone assistant output to realtime [@guinness-oai](https://github.com/guinness-oai)\n- [#27057](https://github.com/openai/codex/pull/27057) \\[codex\\] Add reusable OTEL gauge instruments [@richardopenai](https://github.com/richardopenai)\n- [#27245](https://github.com/openai/codex/pull/27245) image: add shared data URL preparation utilities [@fjord-oai](https://github.com/fjord-oai)\n- [#27392](https://github.com/openai/codex/pull/27392) \\[codex-analytics\\] emit internally started turn events [@marksteinbrick-oai](https://github.com/marksteinbrick-oai)\n- [#27322](https://github.com/openai/codex/pull/27322) \\[codex\\] Preserve build-script dependencies in rules\\_rs annotations [@anp-oai](https://github.com/anp-oai)\n- [#27489](https://github.com/openai/codex/pull/27489) core: cache turn diff rendering [@nornagon-openai](https://github.com/nornagon-openai)\n- [#27465](https://github.com/openai/codex/pull/27465) \\[codex\\] Remove redundant plugin app auth state [@xl-openai](https://github.com/xl-openai)\n- [#27484](https://github.com/openai/codex/pull/27484) Remove TUI legacy core test\\_support dependencies [@etraut-openai](https://github.com/etraut-openai)\n- [#27476](https://github.com/openai/codex/pull/27476) Add session delete commands in CLI and TUI [@etraut-openai](https://github.com/etraut-openai)\n- [#27247](https://github.com/openai/codex/pull/27247) core: resize all history images behind a feature flag [@fjord-oai](https://github.com/fjord-oai)\n- [#27487](https://github.com/openai/codex/pull/27487) Trim TUI legacy telemetry and migration dependencies [@etraut-openai](https://github.com/etraut-openai)\n- [#27438](https://github.com/openai/codex/pull/27438) \\[codex\\] Add token budget context feature [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27501](https://github.com/openai/codex/pull/27501) \\[codex\\] Expand hosted web search citation guidance [@yuning-oai](https://github.com/yuning-oai)\n- [#27526](https://github.com/openai/codex/pull/27526) tools: simplify default tool search text [@sayan-oai](https://github.com/sayan-oai)\n- [#27488](https://github.com/openai/codex/pull/27488) \\[codex\\] Add new context window tool [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27443](https://github.com/openai/codex/pull/27443) feat: add Bedrock API key as a managed auth mode [@celia-oai](https://github.com/celia-oai)\n- [#27532](https://github.com/openai/codex/pull/27532) \\[codex\\] Add comp\\_hash to model metadata [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#27246](https://github.com/openai/codex/pull/27246) core: strip image detail from Responses Lite requests [@fjord-oai](https://github.com/fjord-oai)\n- [#27517](https://github.com/openai/codex/pull/27517) \\[codex\\] Pass auth mode to plugin manager [@xl-openai](https://github.com/xl-openai)\n- [#27520](https://github.com/openai/codex/pull/27520) \\[codex\\] Compact when comp\\_hash changes [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#27518](https://github.com/openai/codex/pull/27518) \\[codex\\] Add context remaining tool [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27266](https://github.com/openai/codex/pull/27266) image: preserve metadata when resizing prompt images [@fjord-oai](https://github.com/fjord-oai)\n- [#27103](https://github.com/openai/codex/pull/27103) \\[codex-analytics\\] report cached input tokens for v2 compaction [@rhan-oai](https://github.com/rhan-oai)\n- [#27356](https://github.com/openai/codex/pull/27356) Use generic search metadata for dynamic tools [@sayan-oai](https://github.com/sayan-oai)\n- [#27082](https://github.com/openai/codex/pull/27082) \\[codex-analytics\\] Emit structured compaction codex errors [@rhan-oai](https://github.com/rhan-oai)\n- [#26513](https://github.com/openai/codex/pull/26513) \\[codex\\] Tune cloud config cache intervals [@alexsong-oai](https://github.com/alexsong-oai)\n- [#27387](https://github.com/openai/codex/pull/27387) skills: make backend plugin skills invocable without an executor [@jif-oai](https://github.com/jif-oai)\n- [#27403](https://github.com/openai/codex/pull/27403) skills: cache remote catalog failures per thread [@jif-oai](https://github.com/jif-oai)\n- [#27573](https://github.com/openai/codex/pull/27573) core: enable remote compaction v2 by default [@jif-oai](https://github.com/jif-oai)\n- [#27388](https://github.com/openai/codex/pull/27388) skills: expose remote skill resource tools [@jif-oai](https://github.com/jif-oai)\n- [#27569](https://github.com/openai/codex/pull/27569) multi-agent: move concurrency guidance into v2 usage hints [@jif-oai](https://github.com/jif-oai)\n- [#27585](https://github.com/openai/codex/pull/27585) nit: cap error [@jif-oai](https://github.com/jif-oai)\n- [#27404](https://github.com/openai/codex/pull/27404) test: cover referenced backend skill reads without an executor [@jif-oai](https://github.com/jif-oai)\n- [#27591](https://github.com/openai/codex/pull/27591) skills: render catalog locators by authority [@jif-oai](https://github.com/jif-oai)\n- [#27413](https://github.com/openai/codex/pull/27413) skills: decouple the skills extension from core [@jif-oai](https://github.com/jif-oai)\n- [#27527](https://github.com/openai/codex/pull/27527) \\[codex\\] publish npm packages concurrently [@tamird](https://github.com/tamird)\n- [#27528](https://github.com/openai/codex/pull/27528) \\[codex\\] publish DotSlash alongside npm [@tamird](https://github.com/tamird)\n- [#27529](https://github.com/openai/codex/pull/27529) \\[codex\\] download only release artifacts [@tamird](https://github.com/tamird)\n- [#27490](https://github.com/openai/codex/pull/27490) Remove TUI legacy Windows sandbox dependency [@etraut-openai](https://github.com/etraut-openai)\n- [#27483](https://github.com/openai/codex/pull/27483) Emit plugin ID on MCP tool call analytics events [@chrisdong-oai](https://github.com/chrisdong-oai)\n- [#27417](https://github.com/openai/codex/pull/27417) Print TUI session info on fatal exits [@etraut-openai](https://github.com/etraut-openai)\n- [#27507](https://github.com/openai/codex/pull/27507) lint: allow self-documenting builder arguments [@anp-oai](https://github.com/anp-oai)\n- [#27420](https://github.com/openai/codex/pull/27420) \\[codex\\] Propagate plugin app categories [@charlesgong-openai](https://github.com/charlesgong-openai)\n- [#27454](https://github.com/openai/codex/pull/27454) \\[codex\\] add cross-platform filesystem adapter coverage [@anp-oai](https://github.com/anp-oai)\n- [#27415](https://github.com/openai/codex/pull/27415) \\[codex\\] Surface runtime warnings in codex exec [@anp-oai](https://github.com/anp-oai)\n- [#27639](https://github.com/openai/codex/pull/27639) \\[codex\\] revert concurrent npm publishing [@tamird](https://github.com/tamird)\n- [#27646](https://github.com/openai/codex/pull/27646) feat: disable orchestrator skills for now [@jif-oai](https://github.com/jif-oai)\n- [#27323](https://github.com/openai/codex/pull/27323) \\[codex\\] Provide ARM64 MinGW powl compatibility support [@anp-oai](https://github.com/anp-oai)\n- [#27433](https://github.com/openai/codex/pull/27433) \\[codex\\] remove EnvironmentPathRef [@anp-oai](https://github.com/anp-oai)\n- [#27424](https://github.com/openai/codex/pull/27424) \\[codex\\] migrate ExecutorFileSystem paths to PathUri [@anp-oai](https://github.com/anp-oai)\n- [#27101](https://github.com/openai/codex/pull/27101) \\[codex\\] Load user instructions through an injected provider [@anp-oai](https://github.com/anp-oai)\n- [#27634](https://github.com/openai/codex/pull/27634) Resolve MCP server registrations through a catalog [@jif-oai](https://github.com/jif-oai)\n- [#27122](https://github.com/openai/codex/pull/27122) core: Consolidate Responses API Codex metadata [@owenlin0](https://github.com/owenlin0)\n- [#27450](https://github.com/openai/codex/pull/27450) \\[codex-rs\\] enforce PAT workspace restrictions [@cooper-oai](https://github.com/cooper-oai)\n- [#27653](https://github.com/openai/codex/pull/27653) \\[codex\\] migrate exec-server filesystem protocol to PathUri [@anp-oai](https://github.com/anp-oai)\n- [#27663](https://github.com/openai/codex/pull/27663) Include thread id in token budget context [@pakrym-oai](https://github.com/pakrym-oai)\n- [#26418](https://github.com/openai/codex/pull/26418) \\[codex\\] Avoid duplicate hooks.json discovery with profiles [@abhinav-oai](https://github.com/abhinav-oai)\n- [#27689](https://github.com/openai/codex/pull/27689) feat: prefer managed Bedrock auth in model provider [@celia-oai](https://github.com/celia-oai)\n- [#27700](https://github.com/openai/codex/pull/27700) Remove fs/join and fs/parent from exec-server protocol [@anp-oai](https://github.com/anp-oai)\n- [#26426](https://github.com/openai/codex/pull/26426) Warn when hooks.json has unsupported top-level fields [@abhinav-oai](https://github.com/abhinav-oai)\n- [#27318](https://github.com/openai/codex/pull/27318) \\[codex\\] Move persistence policy application into ThreadStore [@wiltzius-openai](https://github.com/wiltzius-openai)\n- [#27498](https://github.com/openai/codex/pull/27498) Route image extension reads through turn environments v2 [@won-openai](https://github.com/won-openai)\n- [#27623](https://github.com/openai/codex/pull/27623) Add spans to turn lifecycle gaps [@mchen-oai](https://github.com/mchen-oai)\n- [#27619](https://github.com/openai/codex/pull/27619) tui: clear stale hook row after turn completion [@kotakem-openai](https://github.com/kotakem-openai)\n- [#27711](https://github.com/openai/codex/pull/27711) Fix image extension PathUri conversion [@anp-oai](https://github.com/anp-oai)\n- [#27475](https://github.com/openai/codex/pull/27475) \\[codex\\] Remove async\\_trait from first-party code [@anp-oai](https://github.com/anp-oai)\n- [#27719](https://github.com/openai/codex/pull/27719) fix: Recover from sqlite directory being a file [@ddr-oai](https://github.com/ddr-oai)\n- [#27715](https://github.com/openai/codex/pull/27715) ci(v8): gate Windows source builds on relevant changes [@cconger](https://github.com/cconger)\n- [#27702](https://github.com/openai/codex/pull/27702) \\[codex\\] parallelize release code generation [@tamird](https://github.com/tamird)\n- [#27709](https://github.com/openai/codex/pull/27709) \\[codex\\] resolve environment shell metadata eagerly [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27445](https://github.com/openai/codex/pull/27445) feat(app-server): persist remote-control desired state [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#27508](https://github.com/openai/codex/pull/27508) \\[1 of 3\\] Support long raw TUI goal objectives [@etraut-openai](https://github.com/etraut-openai)\n- [#27256](https://github.com/openai/codex/pull/27256) Add request\\_user\\_input auto-resolution window contract [@shijie-oai](https://github.com/shijie-oai)\n- [#27724](https://github.com/openai/codex/pull/27724) code-mode standalone: extract protocol and add host crate [@cconger](https://github.com/cconger)\n- [#27778](https://github.com/openai/codex/pull/27778) Translate non-English issues [@etraut-openai](https://github.com/etraut-openai)\n- [#27316](https://github.com/openai/codex/pull/27316) Keep request\\_user\\_input direct-model only [@shijie-oai](https://github.com/shijie-oai)\n- [#27696](https://github.com/openai/codex/pull/27696) \\[codex\\] Load AGENTS.md from all bound environments [@anp-oai](https://github.com/anp-oai)\n- [#27670](https://github.com/openai/codex/pull/27670) Make MCP server contributions thread-scoped [@jif-oai](https://github.com/jif-oai)\n- [#27732](https://github.com/openai/codex/pull/27732) \\[code-mode\\] Reject remote image URLs from output helpers [@rka-oai](https://github.com/rka-oai)\n- [#27692](https://github.com/openai/codex/pull/27692) Add executor-owned plugin resolution [@jif-oai](https://github.com/jif-oai)\n- [#27863](https://github.com/openai/codex/pull/27863) Extract shared plugin MCP config parsing [@jif-oai](https://github.com/jif-oai)\n- [#27703](https://github.com/openai/codex/pull/27703) \\[codex\\] restore source-specific import copy [@stefanstokic-oai](https://github.com/stefanstokic-oai)\n- [#27879](https://github.com/openai/codex/pull/27879) fix: serialize auth environment tests [@jif-oai](https://github.com/jif-oai)\n- [#27791](https://github.com/openai/codex/pull/27791) Reject transcript backtrack in side conversations [@etraut-openai](https://github.com/etraut-openai)\n- [#27075](https://github.com/openai/codex/pull/27075) \\[ez\\]\\[codex-rs\\] Support approvals reviewer in app defaults [@zamoshchin-openai](https://github.com/zamoshchin-openai)\n- [#27538](https://github.com/openai/codex/pull/27538) Use dependency groups for Python SDK tooling [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#27783](https://github.com/openai/codex/pull/27783) Persist update dismissal without cache [@etraut-openai](https://github.com/etraut-openai)\n- [#27814](https://github.com/openai/codex/pull/27814) tui: Allow extra o's in /goal command [@btraut-openai](https://github.com/btraut-openai)\n- [#27901](https://github.com/openai/codex/pull/27901) Use uv as Python SDK build backend [@charliemarsh-oai](https://github.com/charliemarsh-oai)\n- [#27720](https://github.com/openai/codex/pull/27720) realtime: add AVAS architecture override [@bakks](https://github.com/bakks)\n- [#27919](https://github.com/openai/codex/pull/27919) chore: prompt MAv2 [@jif-oai](https://github.com/jif-oai)\n- [#27816](https://github.com/openai/codex/pull/27816) sandboxing: migrate cwd inputs to PathUri [@anp-oai](https://github.com/anp-oai)\n- [#27890](https://github.com/openai/codex/pull/27890) \\[codex\\] expose remote plugin share URL [@ericning-o](https://github.com/ericning-o)\n- [#27913](https://github.com/openai/codex/pull/27913) \\[codex\\] unify apply patch parsing [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27920](https://github.com/openai/codex/pull/27920) Handle standalone image generation failures as terminal items [@won-openai](https://github.com/won-openai)\n- [#27927](https://github.com/openai/codex/pull/27927) \\[codex\\] Add size to internal filesystem metadata [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27504](https://github.com/openai/codex/pull/27504) feat: add secret auth storage configuration [@celia-oai](https://github.com/celia-oai)\n- [#27674](https://github.com/openai/codex/pull/27674) \\[login\\] revoke existing auth before starting login [@cooper-oai](https://github.com/cooper-oai)\n- [#27535](https://github.com/openai/codex/pull/27535) feat: add auth-specific encrypted secret namespaces [@celia-oai](https://github.com/celia-oai)\n- [#27939](https://github.com/openai/codex/pull/27939) \\[codex\\] Add crate API surface review rule [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27926](https://github.com/openai/codex/pull/27926) \\[codex\\] Align implicit skill reads with parser [@alexsong-oai](https://github.com/alexsong-oai)\n- [#23254](https://github.com/openai/codex/pull/23254) fix(plugins) rm plugin descriptions [@dylan-hurd-oai](https://github.com/dylan-hurd-oai)\n- [#27830](https://github.com/openai/codex/pull/27830) Support plaintext agent messages [@jif-oai](https://github.com/jif-oai)\n- [#27801](https://github.com/openai/codex/pull/27801) Remove TUI realtime voice support [@etraut-openai](https://github.com/etraut-openai)\n- [#27539](https://github.com/openai/codex/pull/27539) feat: use encrypted local secrets for CLI auth [@celia-oai](https://github.com/celia-oai)\n- [#27076](https://github.com/openai/codex/pull/27076) Warn for structured feature toggles [@canvrno-oai](https://github.com/canvrno-oai)\n- [#27541](https://github.com/openai/codex/pull/27541) feat: use encrypted local secrets for MCP OAuth [@celia-oai](https://github.com/celia-oai)\n- [#27936](https://github.com/openai/codex/pull/27936) \\[codex\\] add roles to realtime append text [@agamble-oai](https://github.com/agamble-oai)\n- [#27509](https://github.com/openai/codex/pull/27509) \\[2 of 3\\] Support long pasted text in TUI goals [@etraut-openai](https://github.com/etraut-openai)\n- [#27109](https://github.com/openai/codex/pull/27109) Add Guardian catalog diagnostics metadata [@won-openai](https://github.com/won-openai)\n- [#27966](https://github.com/openai/codex/pull/27966) Specify platform support in AGENTS.md [@anp-oai](https://github.com/anp-oai)\n- [#27855](https://github.com/openai/codex/pull/27855) \\[codex\\] parallelize Windows compression [@tamird](https://github.com/tamird)\n- [#27499](https://github.com/openai/codex/pull/27499) Promote TUI unified mentions in composer to default mentions feature [@canvrno-oai](https://github.com/canvrno-oai)\n- [#27972](https://github.com/openai/codex/pull/27972) \\[codex\\] Let generic test turns inherit their environment [@pakrym-oai](https://github.com/pakrym-oai)\n- [#27856](https://github.com/openai/codex/pull/27856) \\[codex\\] package Windows symbols in parallel [@tamird](https://github.com/tamird)\n- [#27976](https://github.com/openai/codex/pull/27976) \\[codex\\] make PathUri::from\\_abs\\_path infallible [@anp-oai](https://github.com/anp-oai)\n- [#27854](https://github.com/openai/codex/pull/27854) \\[codex\\] parallelize Windows package archives [@tamird](https://github.com/tamird)\n- [#27853](https://github.com/openai/codex/pull/27853) \\[codex\\] stage npm packages concurrently [@tamird](https://github.com/tamird)\n- [#27710](https://github.com/openai/codex/pull/27710) \\[codex\\] add latency tracing spans [@rphilizaire-openai](https://github.com/rphilizaire-openai)\n- [#27510](https://github.com/openai/codex/pull/27510) \\[3 of 3\\] Support images in TUI goals [@etraut-openai](https://github.com/etraut-openai)\n- [#27925](https://github.com/openai/codex/pull/27925) feat(tui): reland token activity command [@fcoury-oai](https://github.com/fcoury-oai)\n- [#27988](https://github.com/openai/codex/pull/27988) \\[codex\\] Limit app-based plugin suggestions to remote catalogs [@xl-openai](https://github.com/xl-openai)\n- [#27652](https://github.com/openai/codex/pull/27652) \\[codex\\] Add auth mode to plugin manager constructor [@felixxia-oai](https://github.com/felixxia-oai)\n- [#27964](https://github.com/openai/codex/pull/27964) \\[codex\\] Add hermetic Wine test support [@anp-oai](https://github.com/anp-oai)\n- [#27459](https://github.com/openai/codex/pull/27459) \\[codex\\] Gate plugin MCP servers by auth route [@felixxia-oai](https://github.com/felixxia-oai)\n- [#27961](https://github.com/openai/codex/pull/27961) feat(app-server): enforce managed remote control disable [@apanasenko-oai](https://github.com/apanasenko-oai)\n- [#27937](https://github.com/openai/codex/pull/27937) \\[codex\\] Add hermetic Wine exec-server test [@anp-oai](https://github.com/anp-oai)\n- [#27996](https://github.com/openai/codex/pull/27996) \\[codex\\] Send request-scoped turn state over WebSocket [@aibrahim-oai](https://github.com/aibrahim-oai)\n- [#28002](https://github.com/openai/codex/pull/28002) \\[codex\\] Send turn state through compact requests [@aibrahim-oai](https://github.com/aibrahim-oai)","publishedAt":"2026-06-15T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#github-release-339797498","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":32371,"contentTokens":9994,"composition":{"bugs":5,"features":5,"enhancements":2}},{"id":"rel_V7xMVoEOcUHVI0xF1B5Ca","version":null,"type":"feature","title":"ChatGPT for iOS","summary":"Added workspace file browser, directory picker, MCP approval choices, LaTeX rendering, and diff expand/collapse controls. Fixed stuck swipe actions, duplicate messages, and spawned subagent task rows.","titleGenerated":"Codex for iOS adds workspace file browser, MCP approvals, and LaTeX rendering","titleShort":"Workspace file browser, MCP approvals, LaTeX rendering land","breaking":"unknown","importance":null,"content":"# ChatGPT for iOS\n\n### New features\n\n- Added a workspace file browser for previewing files and linking workspace paths\n  into prompts.\n- Added a directory picker for choosing a workspace folder when starting a new\n  thread.\n- Added controls to expand or collapse all diffs while reviewing changed files.\n- Added MCP approval choices for allowing requested actions in the current chat\n  or across chats.\n- Added LaTeX rendering in Codex messages and plans.\n\n### Improvements and bug fixes\n\n- Improved status indicators for running threads, queued prompts, side chats,\n  and subagents.\n- Improved pairing and onboarding with clearer errors, manual pairing-code\n  support, and more reliable host selection after pairing.\n- Improved task-list recovery, reconnect state, host-specific refresh, and\n  thread performance.\n- Improved Codex profile sharing, activity history, and settings layout.\n- Improved goal workflows with a composer shortcut, desktop-aligned goal message\n  actions, and better resumed question handling.\n- Improved assistant message actions, transcript layout, and public rate-limit\n  names.\n- Fixed stuck thread-list swipe actions, duplicate messages when reopening a new\n  thread, spawned subagents appearing as top-level task rows, and misleading\n  connection errors when sending prompts.","publishedAt":"2026-06-15T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-15-mobile","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":1305,"contentTokens":254,"composition":{"bugs":4,"features":5,"enhancements":10}},{"id":"rel_HOLmi6zZTBBzrOqy5C4ig","version":null,"type":"feature","title":"Codex app","summary":"Rate-limit reset banking is now available for Plus and Pro users, with referral invitations available to earn more during the current promotion. Developer mode is now available for browser use, giving Codex controlled Chrome DevTools Protocol access. The /init command has been added to the app composer, along with customizable macOS Dock icons. Improvements have been made to browser use speed, command and browser activity summaries, plugin management, and usage-limit error reporting. Fixes include browser use download handling, scheduled automations honoring approval modes, and various issues affecting background agent tab restoration, commit and pull request message generation, and more.","titleGenerated":"Codex 2026-06-11 app adds rate-limit reset banking and Developer mode","titleShort":"Rate-limit reset banking and Developer mode added","breaking":"unknown","importance":null,"content":"# Codex app\n\n### New features\n\n- Added rate-limit reset banking for Plus and Pro users, including one free\n  reset at launch and\n  [referral invitations](/codex/pricing#invite-friends-and-coworkers) for\n  earning more during the current promotion. Eligible Business members can\n  invite coworkers to earn shared workspace credits through a separate\n  referral program.\n- Added [Developer mode](/codex/app/browser#developer-mode) for Browser use in\n  Chrome and the Codex in-app browser. It gives Codex controlled Chrome\n  DevTools Protocol (CDP) access for performance profiling and deeper debugging\n  of network traffic, console output, runtime errors, and page state.\n- Added the `/init` command to the app composer for creating project\n  instructions with the same initialization workflow as the Codex CLI.\n- Added customizable macOS Dock icons with light and dark Codex variants.\n- Added Computer Use for Enterprise users outside the European Economic Area,\n  the United Kingdom, and Switzerland.\n- Added support for configuring per-app access controls for Computer Use on\n  Windows.\n- Added an **Unread chats** section to the command menu, with the most recently\n  updated unread chat selected by default.\n\n### Performance improvements and bug fixes\n\n- Made Browser use up to 2x faster through CDP and DOM snapshot optimizations\n  that reduce browser round trips.\n- Made command, browser, integration, and source activity summaries easier to\n  understand, and improved how completed chats present files, automations, and\n  other durable output.\n- Improved plugin management by including workspace plugins, refreshing plugin\n  state more reliably after installation or removal, and letting you upload a\n  new version of an already-shared plugin without changing its access.\n- Improved usage-limit errors with inline plan and workspace guidance,\n  including reset timing when available.\n- Added <kbd>Cmd</kbd>+<kbd>Enter</kbd> and <kbd>Ctrl</kbd>+<kbd>Enter</kbd> as\n  shortcuts for submitting custom approval feedback.\n- Fixed Browser use download handling and improved Developer mode recovery and\n  diagnostics.\n- Fixed scheduled automations so they honor the selected approval mode, and\n  fixed manual project ordering, Browser tab dragging, MCP app sizing after\n  right-pane transitions, and clickable ChatGPT thread mentions.\n- Fixed issues affecting background agent tab restoration, commit and pull\n  request message generation, sidebar pull request status updates, Codex Mobile\n  QR pairing, remote-control MFA, remote SSH installation and connection,\n  updater prompts, and overlay positioning at non-default zoom levels.\n- Additional performance improvements and bug fixes.","publishedAt":"2026-06-11T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-11-app","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":2686,"contentTokens":550,"composition":{"bugs":10,"features":6,"enhancements":7}},{"id":"rel_ngc_PR8txh20cqDk-pDcr","version":null,"type":"feature","title":"Codex app","summary":"Added flows to migrate supported setups from Claude Code and Claude Cowork to Codex, including during onboarding. The plugins screen has been revamped with separate tabs, marketplace and category filters, keyboard navigation, and clearer install actions. Fixed goal timer overlap, reduced unread notifications, kept review diff ordering consistent, and improved window rendering on systems without translucent backdrops.","titleGenerated":"Codex 2026-06-09 app revamps plugins screen and adds migration flows","titleShort":"Plugins screen revamped; migration flows added","breaking":"unknown","importance":null,"content":"# Codex app\n\n### New features\n\n- Added [Migrate to Codex](/codex/migrate) flows for importing supported setup\n  from Claude Code and Claude Cowork, including during onboarding.\n- Revamped plugins screen with separate tabs, marketplace and\n  category filters, keyboard navigation, and clearer install actions.\n- Expanded Settings search to find options from more panels, including Git and\n  pets.\n\n### Performance improvements and bug fixes\n\n- Fixed goal timer overlap in narrow layouts.\n- Reduced unread notifications while an active goal continues running.\n- Kept review diff ordering consistent with the file tree.\n- Improved window rendering on systems that don't support translucent\n  backdrops, including Windows 10.\n- Additional performance improvements and bug fixes.","publishedAt":"2026-06-09T00:00:00.000Z","url":"https://developers.openai.com/codex/changelog/#codex-2026-06-09-app","media":[],"prerelease":false,"source":{"slug":"openai-codex-changelog","name":"Codex Changelog","type":"feed"},"product":{"slug":"codex","name":"Codex"},"groupSlug":"codex","groupName":"Codex","coverageCount":0,"contentChars":774,"contentTokens":154,"composition":{"bugs":4,"features":1,"enhancements":2}}],"pagination":{"nextCursor":"2026-06-09T00:00:00.000Z|2026-06-10T20:03:19.878Z|rel_ngc_PR8txh20cqDk-pDcr","limit":20}}