New Features
/usagecan now show and redeem earned usage-limit reset credits, with confirmation, retry, and refreshed availability states. (openai#28154, openai#28793)/pluginsnow organizes remote plugins into OpenAI Curated, Workspace, and Shared with me sections, while eligible turns can recommend and install relevant plugins. (openai#26703, openai#28399, openai#28400, openai#27704, openai#28403)- Configurable rollout token budgets track usage across agent threads, provide remaining-budget reminders, and abort turns when exhausted. (openai#28746, openai#28494, openai#28707, openai#29423)
- App-server clients can configure multi-agent delegation as disabled, explicit-request-only, or proactive at the thread and turn level. (openai#28685, openai#28792, openai#29324)
- Added an indexed web-search mode that permits live searches while restricting direct page access to server-approved URLs. (openai#28489)
- Codex can now receive scheduled UTC time reminders and query the current time directly, including through client-provided app-server clocks. (openai#28822, openai#28824, openai#28835, openai#29011)
Bug Fixes
- Restored reliable Linux TUI rendering after suspending with
Ctrl+Zand resuming withfg. (openai#28342) - Exec-server processes and stdio MCP sessions now survive transient disconnects, including signed-URL refresh and retry-safe stdin writes. (openai#28512, openai#28374, openai#28546, openai#28895)
- Remote environments now preserve executor-native paths, shells,
AGENTS.mddiscovery, and sandbox behavior across operating systems. (openai#28146, openai#28152, openai#28958, openai#28983, openai#29099, openai#29108, openai#29113, openai#29424) - Plugin loading and installation now handle root marketplace layouts, manifest fallbacks, multiple skill paths, actionable download errors, and immediate tool refreshes. (openai#28771, openai#28789, openai#28790, openai#28863, openai#28951)
- Parent agents now receive terminal subagent errors instead of seeing failed work as an empty successful completion. (openai#28375)
- Goal-first threads are once again persisted and returned by
thread/listandthread/search. (openai#28808)
Chores
- 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. (openai#28542, openai#28699, openai#28844, openai#29326, openai#29005)
- Reduced persistent-log churn by removing per-event WebSocket payload logging and filtering duplicated telemetry records. (openai#29432, openai#29457)
Changelog
Full Changelog: openai/codex@rust-v0.141.0...rust-v0.142.0
- openai#28396 [codex] Record external agent import results @charlesgong-openai
- openai#27751 [codex] expose Bedrock credential source in account/read @celia-oai
- openai#28338 [codex] Compress cold active rollouts @jif-oai
- openai#28368 feat: render typed envelopes for multi-agent v2 messages @jif-oai
- openai#28508 [tests] Keep Apps out of generic core test harness @jif-oai
- openai#28472 [codex] Clarify plugin load and runtime capability stages @xl-openai
- openai#28375 core: surface terminal subagent errors to parent agents @jif-oai
- openai#28542 perf(config): defer remote sandbox hostname lookup @fcoury-oai
- openai#28473 path-uri: clarify invalid host path errors @anp-oai
- openai#28342 fix(tui): restore TUI after suspend @fcoury-oai
- openai#28354 [codex] exec-server: stream files in chunks @pakrym-oai
- openai#28553 chore: side prompt @jif-oai
- openai#27099 [codex-app-server-test-client & codex-app-server] Plugin Usage Analytics Smoke Test @jameswt-oai
- openai#28554 fix(tui): highlight C++ module files @fcoury-oai
- openai#28467 [codex] Warn clearly when code mode output is truncated @aibrahim-oai
- openai#27750 [codex] Add incremental thread history changes @wiltzius-openai
- openai#28154 feat(tui): add rate-limit reset redemption to /usage @jayp-oai
- openai#28562 ci: run code-mode unit tests on all bazel targets @cconger
- openai#27923 [codex] Route MCP file uploads through environment filesystem @pakrym-oai
- openai#27100 [codex-app-server-test-client] Plugin Install/Uninstall Analytics Smoke Test @jameswt-oai
- openai#28581 [codex] re-enable absolute workdir integration test @anp-oai
- openai#28468 code-mode: extend test coverage to lock in cell lifecycle @cconger
- openai#28587 [codex] test exec relative additional permissions @anp-oai
- openai#28577 Clarify model-generated and legacy app path types @anp-oai
- openai#28589 Record invariants for path migration. @anp-oai
- openai#28146 app-server: preserve target-native environment cwd @anp-oai
- openai#28595 Tell codex about PathUri serde compat. @anp-oai
- openai#28399 [codex] [1/4] Add recommended plugin endpoint cache @adaley-openai
- openai#28400 [codex] [2/4] Generalize plugin suggestion presentation @adaley-openai
- openai#27704 [codex] [3/4] Activate endpoint plugin recommendations @adaley-openai
- openai#28152 core: render remote environment cwd natively @anp-oai
- openai#28403 [codex] [4/4] Simplify recommended plugin install schema @adaley-openai
- openai#26706 PAC 1 - Add system proxy feature config surface @canvrno-oai
- openai#27910 Add thread recencyAt for sidebar ordering @nornagon-openai
- openai#28627 Revert "Tell codex about PathUri serde compat. (openai#28595)" @anp-oai
- openai#28625 [codex] Gate remote plugin catalog by auth @xl-openai
- openai#28629 [codex] core: restore absolute turn context cwd @anp-oai
- openai#28642 thread-store: fix response fixture compilation @pakrym-oai
- openai#28580 [codex] Support object-valued plugin MCP manifests @charlesgong-openai
- openai#28599 code-mode: move cell state into library actor @cconger
- openai#28471 [codex] Test code-mode variable truncation @aibrahim-oai
- openai#28655 Revert thread recencyAt for sidebar ordering @pakrym-oai
- openai#28638 core: remove redundant TurnContext and Prompt fields @pakrym-oai
- openai#28656 [codex] Persist built-in image results reported as generating @won-openai
- openai#28512 Resume exec-server sessions after disconnect @jif-oai
- openai#28546 Back off registry retries during exec recovery @jif-oai
- openai#28561 Add join key for MAv2 inter-agent messages @jif-oai
- openai#28699 app-server: keep the model cache warm @jif-oai
- openai#28705 Replace SkillsManager with SkillsService @jif-oai
- openai#27965 [ez][codex-rs] Support apps._default.default_tools_approval_mode @zamoshchin-openai
- openai#28359 Run fs helper through Windows sandbox wrapper @iceweasel-oai
- openai#28628 [codex] Repair invalid skill frontmatter scalars @charlesgong-openai
- openai#28632 Tell codex to avoid changing rollout format. @anp-oai
- openai#28738 Scope command approvals by execution environment @jif-oai
- openai#19047 feat: add run task identity primitives @adrian-openai
- openai#28671 [codex] Restore thread recency with compatible migration history @nornagon-openai
- openai#28768 Extract TUI plugin catalog rendering @canvrno-oai
- openai#28389 [codex] Use compact OpenAI docs search queries @kkahadze-oai
- openai#28681 unified-exec: preserve PathUri through exec-server @anp-oai
- openai#28731 [codex] Track plugin install and import telemetry failures @charlesgong-openai
- openai#28651 exec-server: expose environment registry payloads @viyatb-oai
- openai#28771 fix(plugins): support root local marketplace plugins @caseychow-oai
- openai#28791 bazel: refresh expired macOS SDK pin @anp-oai
- openai#28782 [codex] trace tools build latency @owenlin0
- openai#28778 path-uri: decouple native path parsing @anp-oai
- openai#28774 feat(exec-server): add Noise rendezvous environment @apanasenko-oai
- openai#28812 [codex] Add optional IDs to response items @pakrym-oai
- openai#28784 fix(install): support older awk checksum parsing @fcoury-oai
- openai#28826 [codex] Use unique IDs for realtime-routed turns @guinness-oai
- openai#27986 [codex] control automatic realtime handoff delivery @jiayuhuang-openai
- openai#28836 [codex] Support assistant realtime append text @guinness-oai
- openai#28374 Refresh signed exec-server URLs on reconnect @apanasenko-oai
- openai#28825 Expose selecte namespaces as direct model tools @won-openai
- openai#28790 [codex] Support plugin manifest path lists @charlesgong-openai
- openai#28851 Record more path migration guidance for codex. @anp-oai
- openai#28780 unified-exec: retain PathUri in command events @anp-oai
- openai#28605 [codex] Split plugin and skill warmup tracing @mzeng-openai
- openai#28608 [codex] Pass plugin namespace into skill loading @mzeng-openai
- openai#28746 [codex] add rollout token budget configuration (1/N) @rka-oai
- openai#28766 Add network environment ID plumbing @jif-oai
- openai#28915 Avoid sandbox helper in apply_patch approval tests @jif-oai
- openai#28813 Pause active goals before TUI interrupts @etraut-openai
- openai#28895 Recover exec process stdin writes @jif-oai
- openai#28940 Pin Windows argument lint to Windows 2022 @rka-oai
- openai#28914 Scope MCP sandbox metadata to server environment @jif-oai
- openai#28911 Add turn-scoped context contributions @jif-oai
- openai#28808 Fix goal-first live threads missing from thread/list @etraut-openai
- openai#25019 [codex] Initialize exec-server OpenTelemetry at startup @starr-openai
- openai#28943 [codex] Fix Windows sandbox runtime ACL refresh @iceweasel-oai
- openai#28946 Synchronize realtime notification test requests @rka-oai
- openai#28822 Add Config for Time Reminders (1/n) @rka-oai
- openai#28494 [codex] rollout budget implementation (2/N) @rka-oai
- openai#27500 Support
openai/formextended form elicitations @gpeal - openai#28949 [codex] Make thread store turn filter optional @wiltzius-openai
- openai#28824 current time reminders impl for system clock (2/n) @rka-oai
- openai#27812 [codex] Cache plugin metadata for tool suggestions @mzeng-openai
- openai#28854 apply-patch: carry paths as PathUri @anp-oai
- openai#28835 Add app-server current-time impl (3/n) @rka-oai
- openai#26496 Make auto-review on-request prompt more proactive @maja-openai
- openai#28947 [codex] Remove hardcoded app ID filters @ericning-o
- openai#28959 TUI: improve unified mention selection visibility @canvrno-oai
- openai#27132 Emit Trusted MCP App Identity on Tool-Call Items @martinauyeung-oai
- openai#19049 feat: opt ChatGPT auth into agent identity @adrian-openai
- openai#28770 [connectors] Ignore synthetic links for app accessibility @adaley-openai
- openai#28863 [codex] Preserve remote plugin download status errors @xl-openai
- openai#28958 core: load AGENTS.md from foreign environments @anp-oai
- openai#28789 [codex] Support marketplace plugin manifest fallback @charlesgong-openai
- openai#28993 [codex] Remove child AGENTS.md prompt experiment @pakrym-oai
- openai#28989 core: log AGENTS.md paths as URIs @anp-oai
- openai#28983 core: keep remote exec on reported shell @anp-oai
- openai#28844 [codex] Reuse parsed plugin skills during session startup @xl-openai
- openai#28953 core: add UUIDv7 context window IDs @pakrym-oai
- openai#28951 [plugins] Refresh plugin and tool caches after remote install @adaley-openai
- openai#28856 Always use AVAS for realtime WebRTC calls @bakks
- openai#28814 [codex] Assign response item IDs when recording history @pakrym-oai
- openai#29005 [codex] Skip curated repo sync for remote plugins @xl-openai
- openai#29011 [codex] add clock current-time tool @rka-oai
- openai#29012 core: assign item IDs to compacted replacement history @pakrym-oai
- openai#29022 [codex] Support protected resource OAuth discovery @xl-openai
- openai#28674 [1/3] core: add remote environment connection lifecycle @sayan-oai
- openai#28683 [2/3] core: track starting environments in snapshots @sayan-oai
- openai#29025 [3/3] app-server: configure environment connection timeout @sayan-oai
- openai#28685 Add per-turn multi-agent mode @shijie-oai
- openai#28792 Expose thread-level multi-agent mode @shijie-oai
- openai#28707 [codex] abort turns when rollout budgets expire (token budget 3/3) @rka-oai
- openai#28899 Scope network approvals by environment @jif-oai
- openai#29086 Document raw response item compatibility @jif-oai
- openai#28489 Add indexed web search mode @winston-openai
- openai#28942 Add config toggles for orchestrator skills and MCP @jif-oai
- openai#29099 Keep remote exec commands native to the executor @jif-oai
- openai#29095 Use cached and live web access terminology @winston-openai
- openai#29042 [codex] trace pre-sampling skill and persistence latency @rphilizaire-openai
- openai#29132 chore(deps): advance tokio-tungstenite @apanasenko-oai
- openai#29006 [codex] Preserve skill descriptions outside model context @charlesgong-openai
- openai#29154 Allow resume and settings commands during tasks and MCP startup @etraut-openai
- openai#29256 core: add context window lineage IDs @pakrym-oai
- openai#29259 [codex] prototype mcp_history thread hint injection @pakrym-oai
- openai#29255 [codex] add configurable token budget compaction reminder @pakrym-oai
- openai#29295 [codex] simplify token budget context @pakrym-oai
- openai#29108 Carry sandbox intent to remote exec servers @jif-oai
- openai#29325 Test pipelined scalar exec-server requests @jif-oai
- openai#29326 Parallelize skill metadata stats @jif-oai
- openai#29329 Use controlled time for remote initialization timeout test @jif-oai
- openai#29170 code-mode: define transport-neutral runtime types @cconger
- openai#29285 code-mode: move session ownership into runtime @cconger
- openai#29286 code-mode: linearize cell terminal state @cconger
- openai#29287 code-mode: make session shutdown authoritative @cconger
- openai#29301 [prompting] updated plan mode prompt @rhan-oai
- openai#29288 code-mode: preserve dropped observation output @cconger
- openai#29289 code-mode: preserve initial yield at completion @cconger
- openai#28260 [codex] Add internal auto-compaction opt-out @rhan-oai
- openai#29371 Propagate safety buffering events to app-server clients @fc-oai
- openai#29393 chore: fix merge race (auto-compaction feature access) @sayan-oai
- openai#29327 Persist session IDs across thread resume @jif-oai
- openai#29324 Simplify multi-agent mode controls @jif-oai
- openai#29113 Apply sandbox intent inside remote exec servers @jif-oai
- openai#29001 Add workspace messages app-server API @xli-oai
- openai#29432 Stop logging every Responses WebSocket event @jif-oai
- openai#29073 core: refresh environment context before sampling @sayan-oai
- openai#29455 fix(core): restore thread_source in x-codex-turn-metadata @owenlin0
- openai#29457 Filter noisy targets from persistent logs @jif-oai
- openai#29429 remove flag for image preparation @rka-oai
- openai#29143 ci: restore custom Windows runner with hermetic LLVM 0.7.9 @anp-oai
- openai#27102 [codex] Centralize Plugin Analytics Metadata @jameswt-oai
- openai#26703 TUI Plugin Sharing 3 - render remote plugin catalog sections @canvrno-oai
- openai#29424 Report remote sandbox denials semantically @jif-oai
- openai#28968 core: rename metadata -> internal_chat_message_metadata_passthrough @owenlin0
- openai#29464 [sdk/python] Stop advertising HTTP image URLs @rka-oai
- openai#28793 [codex] Fix usage-limit reset copy and state @jayp-oai
- openai#27982 [codex] Start the guardian child session when parent session is started @jgershen-oai
- openai#29468 core: remove unused permissions cwd plumbing @bolinfest
- openai#26707 PAC 2 - Add shared auth system proxy contract @canvrno-oai
- openai#28991 Allow ChatGPT accounts without email @efrazer-oai
- openai#29423 [codex] configure rollout budget reminder thresholds @rka-oai
- openai#26678 permission profiles: expose availability to clients @viyatb-oai
- openai#29476 [codex] handle request_user_input in app-server test client @celia-oai
- openai#29479 fix(config): address permission profile review follow-ups @viyatb-oai
- openai#29014 Honor startup custom CA bundles with managed MITM @winston-openai
- openai#29480 chore: advance tungstenite fork pins @apanasenko-oai
- openai#27669 [codex-core-plugins] Remote Plugin ID Persisted to File @jameswt-oai