Updatify / Codex Cli | Release notes

Create your changelog

Codex CLI is OpenAI's coding agent that you can run locally from your terminal.

Update Jul 9, 2026 tracked by Updatify

0.144.1

Bug Fixes

  • Fixed standalone installs failing when GitHub returns compact or reordered release metadata. (#31913)
  • Ensured macOS package installs expose the code-mode host alongside the codex executable. (#31913)
  • Kept code mode working when the companion host binary is unavailable by falling back to the embedded runtime. (#31913)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.144.0…rust-v0.144.1

  • #31913 [0.144] Backport installer and code-mode reliability fixes @bolinfest

Update Jul 9, 2026 tracked by Updatify

0.144.0

New Features

  • Usage-limit reset credits now show their type and expiration, and let you choose which credit to redeem. (#30488)
  • Added a writes app-approval mode that allows declared read-only actions while prompting for writes. (#30482)
  • MCP tools can now request authentication interactively without an experimental opt-in. (#28772)
  • App-server hosts can provide Codex authentication at runtime and redirect successful logins to a hosted page. (#28745, #31274)
  • Global pnunen installs are now detected so diagnostics and updates use the correct package manager. (#31503)
  • Selecting Ultra reasoning now warns when high multi-agent concurrency could increase usage quickly. (#31621)

Bug Fixes

  • Resumed ChatGPT threads recover when compaction references a retired model by retrying with the currently selected model. (#30319)
  • Fixed Code Mode crashes in Intel macOS release binaries. (#30953)
  • Windows sandbox sessions can delete files in writable roots and access the managed primary runtime. (#31138, #31574)
  • Pasted terminal control sequences can no longer corrupt TUI rendering or resumed conversation history. (#31494)
  • Long-running app sessions now refresh expired authentication for the hosted codex_apps connector. (#31486)
  • Responses WebSockets continue using the low-latency transport while respecting system proxies and custom certificate authorities. (#31441, #31622)

Documentation

  • Device-code login warnings now explain how to recognize and stop phishing attempts. (#31648)

Chores

  • Reduced plugin skill-loading time on remote executors by resolving namespaces once per root. (#31348)
  • Made the /review branch picker faster and more reliable in large repositories. (#31464)
  • Improved automatic review behavior with clearer instructions and a focused tool set. (#31480)
  • Made Amazon Bedrock model names clearly identify their GPT-5.6 family and variant. (#31636)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.143.0…rust-v0.144.0

  • #30292 Serialize shared MCP OAuth credential stores @stevenlee-oai
  • #30488 [codex-cli] Show reset details in redemption picker @jayp-oai
  • #31297 feat(core): emit canonical command execution items @owenlin0
  • #31298 feat(core): emit canonical dynamic tool call items @owenlin0
  • #31369 test(skills): cover plugin namespace loading @anp-oai
  • #30953 fix(release): add missing Intel V8 signing entitlement @malsamiri-oai
  • #31355 refactor: make ExternalAuth return CodexAuth @lt-oai
  • #31352 ci: increase Windows Bazel local test jobs @anp-oai
  • #30482 [codex-rs] Add writes app approval mode @zamoshchin-openai
  • #31439 Handle bio policy errors in Codex @fc-oai
  • #31319 [codex] add connector runtime latency metrics @mzeng-openai
  • #31312 Use model catalog approval messages @dylan-hurd-oai
  • #31422 test: generalize exec-server fixture @anp-oai
  • #28772 [codex] Enable auth elicitation by default @mzeng-openai
  • #28745 [login] support hosted success redirects @rafael-jac
  • #31316 chore: extract remote compaction request attempts @celia-oai
  • #31299 feat(core): emit canonical sub-agent activity items @owenlin0
  • #31285 [1/5] [codex] sync managed-layer bundle schema @hefuc-oai
  • #31300 feat(core): emit canonical collab tool call items @owenlin0
  • #31301 feat(core): emit canonical collab wait items @owenlin0
  • #30319 fix: retry rejected previous-model compaction with selected model @celia-oai
  • #30879 Handle mixed-case URLs in Windows command safety @charliemarsh-oai
  • #31191 Handle completion separators and popup dismissal @charliemarsh-oai
  • #31425 test: add TestAppServer builder @anp-oai
  • #31342 http-client: expose WebSocket proxy prerequisites @bolinfest
  • #31348 perf(skills): resolve plugin namespaces per root @anp-oai
  • #31289 Use canonical indexed web access field @winston-openai
  • #31464 Speed up review branch picker via for-each-ref @charliemarsh-oai
  • #31332 ci: parameterize Cargo target paths @anp-oai
  • #31421 refactor: unify external auth resolution @pakrym-oai
  • #31451 test: migrate TestAppServer callers to builder @anp-oai
  • #31274 [codex] Add externally provided Codex auth @lt-oai
  • #31501 trace hook command execution @wiltzius-openai
  • #31356 ci: run V8 source builds on Windows 2025 @anp-oai
  • #31283 core: support extension-owned turn items @owenlin0
  • #31570 fs: support pruning hidden directories during walks @jif-oai
  • #31465 Align empty branch list message with search @charliemarsh-oai
  • #31586 Stabilize encrypted MAv2 spawn request test @jif-oai
  • #31585 Stabilize remote compaction parity against dynamic skill catalogs @jif-oai
  • #31518 Log plugin install failure subtypes @charlesgong-openai
  • #31587 Stabilize shared rollout budget test @jif-oai
  • #31503 Detect Codex installs managed by pnpm @charliemarsh-oai
  • #31525 core: migrate standalone web search to extension-owned turn items @owenlin0
  • #31473 feat(core): emit canonical review mode items @owenlin0
  • #31452 test: remove TestAppServer constructors @anp-oai
  • #31612 Round MCP timeout durations in error messages @jif-oai
  • #31138 fix(windows-sandbox): allow deletion in writable roots @fcoury-oai
  • #31500 code-mode: move to hosted mode by default @cconger
  • #31494 tui: sanitize terminal controls in user messages @etraut-openai
  • #31524 chore(protocol): use UUIDv7 for generated item IDs @owenlin0
  • #31496 Fall back to HTTP when Apple Git is unavailable @fc-oai
  • #31578 Bound exec-server pending RPCs @jif-oai
  • #29875 [codex] Sanitize imported session fallback titles @stefanstokic-oai
  • #31621 tui: warn on Ultra with high multi-agent concurrency @shijie-oai
  • #31622 websocket-client: add proxy-aware connector @bolinfest
  • #31574 [codex] Grant Windows sandbox access to primary runtime @abhinav-oai
  • #31292 Reuse MCP tool snapshot within a sampling request @sayan-oai
  • #31630 feat(core): emit canonical hook prompt items @owenlin0
  • #31636 feat: change amazon Bedrock GPT-5.6 display names @celia-oai
  • #31629 core: stop emitting legacy command events directly @owenlin0
  • #31441 core: preserve Responses WebSockets with system proxy @bolinfest
  • #31357 ci: route build IO through Dev Drives @anp-oai
  • #31461 chore: remove inert cargo audit workflow @anp-oai
  • #31614 test: migrate app-server v2 starts to auto env @anp-oai
  • #31497 [codex] increase tool schema compaction threshold @fbauer33
  • #31650 code-mode: make all approvals trigger elicitation pause @cconger
  • #31648 Clarify device-code phishing warning @etraut-openai
  • #31663 test(app-server): use native rollout fixture paths @fcoury-oai
  • #31330 [codex-apps] Omit internal fields from file payloads @jacobzhou-oai
  • #31480 Update auto review prompting @olliem-oai
  • #21818 Update models.json @github-actions
  • #31427 test: add delayed exec-server transport @anp-oai
  • #30278 [codex] Preserve reviewer when resuming threads @viyatb-oai
  • #31675 Expand agent core ownership @pakrym-oai
  • #31486 [connectors] Refresh codex_apps /ps/mcp auth @stevenlee-oai
  • #31361 model-provider: route model discovery through HTTP client factory @bolinfest
  • #30188 feat(rollout): persist TurnItems for paginated thread rollouts @owenlin0
  • #31596 Use the image generation extension by default @won-openai
  • #31684 Update models.json @github-actions

Update Jul 8, 2026 tracked by Updatify

0.143.0

New Features

  • Remote plugins are now enabled by default, with richer catalog rows, npm marketplace sources, and visible remote/local versions. (#30297, #26705, #29375, #30981)
  • Codex can route authentication and Responses API traffic through macOS and Windows system proxies, including PAC and WPAD configurations. (#26708, #26709, #31335)
  • Added codex remote-control pair for generating manual pairing codes from a running daemon. (#29913)
  • Added Amazon Bedrock GPT-5.6 Sol, Terra, and Luna models, with first-class support for max reasoning effort. (#30285, #30467)
  • MCP tools now use tool search by default, and ChatGPT-hosted MCP servers can explicitly use session authentication. (#29486, #29733)
  • App-server clients can inspect environments, list descendant threads, and fork history through a specific turn. (#30291, #29591, #30277)

Bug Fixes

  • Fixed Windows ConPTY input handling for line endings and backspace, plus sandbox credential retry edge cases. (#29734, #29624, #29637)
  • Fixed stale TUI safety prompts and cancelled reviews that could leave MCP startup appearing busy. (#30490, #31189)
  • Improved recovery when exec servers are temporarily offline and prevented remote-control token refresh retry storms. (#30098, #30201)
  • Preserved trailing realtime transcript text and terminal rollout events during shutdown. (#29918, #30144)
  • Improved incremental WebSocket request success by ignoring response metadata during comparisons. (#30770)
  • Reduced installer failures from GitHub API rate limits by reusing release metadata. (#31056)

Documentation

  • Documented UUID7 thread and turn IDs, plus recommended remote-executor integration-test workflows. (#27714, #29790)

Chores

  • Updated OpenSSL, Hono, fast-uri, quick-xml, and crossbeam-epoch to address security advisories. (#29487, #29650, #30941, #31308)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.142.0…rust-v0.143.0

  • #26708 PAC 3 - Add Windows system proxy resolver @canvrno-oai
  • #28769 Register full CDP requirements feature @syuan-oai
  • #29485 [codex] fetch featured IDs for remote plugins @ericning-o
  • #29487 Upgrade bundled OpenSSL to 3.6.3 @jif-oai
  • #29489 [codex] Update esbuild to 0.28.1 @pakrym-oai
  • #29488 [plugins] Add dark-mode logo metadata @drewschuster-openai
  • #29249 [codex] migrate environment context to model world state @pakrym-oai
  • #29494 core: wrap token budget window context @bolinfest
  • #29417 [codex] replace remote images with model-visible error text @rka-oai
  • #28360 feat(core): store turn_id on ResponseItem metadata @owenlin0
  • #29486 [codex] Use tool search for MCP tools by default @sayan-oai
  • #29501 path-uri: clarify host-native path conversion @anp-oai
  • #29504 fix: world state response item test @celia-oai
  • #26704 TUI Plugin Sharing 4 - cover remote plugin catalog flows @canvrno-oai
  • #29419 [codex] reject remote images at app-server ingress @rka-oai
  • #28992 chore: improve expired Bedrock credential errors @celia-oai
  • #29467 Make formatter output quiet on success @anp-oai
  • #26709 PAC 4 - Add macOS system proxy resolver @canvrno-oai
  • #29490 chore: warn when Code Mode lacks model metadata @celia-oai
  • #29493 mcp: accept foreign absolute cwd for remote stdio @anp-oai
  • #29473 Propagate safety buffering treatment metadata @fc-oai
  • #24092 [codex] Reject unlowered PowerShell AST regions @bookholt-oai
  • #29155 [codex] Expose service tier and reasoning effort in OTEL @daniel-oai
  • #29068 [codex] stylistic changes @rka-oai
  • #29518 Remove redundant Codex Apps manager flag @aibrahim-oai
  • #27946 [codex] Use input items for Responses Lite tools @rka-oai
  • #29528 Centralize Codex Apps client handling @aibrahim-oai
  • #29577 Handle additional tools in image URL validation @aibrahim-oai
  • #29575 Remove redundant Codex Apps cache guard @aibrahim-oai
  • #29583 Group Codex Apps client setup @aibrahim-oai
  • #29358 Allow codex sandbox to consume MCP sandbox state @jif-oai
  • #29599 Stop persisting bridged log events @jif-oai
  • #29615 Fix Codex Apps auth elicitation hang @jif-oai
  • #29067 Namespace multi-agent v2 tools under collaboration @jif-oai
  • #29614 path-uri: add lexical containment @jif-oai
  • #28426 Share resumed rollout history @charliemarsh-oai
  • #29634 Update rmcp to 1.8.0 @jif-oai
  • #29650 Update vulnerable Hono and fast-uri dependencies @jif-oai
  • #29498 [codex] Instrument rollout persistence bytes @wiltzius-openai
  • #29659 [core] debounce current-time reminders by elapsed time @rka-oai
  • #29608 Shut down superseded MCP managers on refresh @jif-oai
  • #29527 core: use turn-owned world state for inline compaction @sayan-oai
  • #29672 [codex] Handle additional tools in rollout persistence metrics @rka-oai
  • #29669 Handle additional tools in rollout persistence metrics @winston-openai
  • #29680 Revert “Handle additional tools in rollout persistence metrics” @rasmusrygaard
  • #27714 app-server: document thread and turn IDs are UUID7 @owenlin0
  • #29456 Prepare managed network sandbox context @jif-oai
  • #28418 chore(core) rm AskForApproval::OnFailure @dylan-hurd-oai
  • #29675 core: add extra metadata field to Thread struct @kumquatexpress
  • #29013 Keep managed MITM CA private keys in proxy memory @winston-openai
  • #29495 Separate local and remote plugin analytics IDs @jameswt-oai
  • #29671 [codex] Preserve proxy state for filesystem sandbox helpers @iceweasel-oai
  • #29513 [codex] allow image generation with provider auth @richardopenai
  • #29526 core: resolve view_image paths in selected environment @anp-oai
  • #29696 [codex] Fix stale approval policy in MCP test @sayan-oai
  • #29704 [codex] Fix stale approval policy in MCP test @kumquatexpress
  • #29547 core: use current step environments for tools @sayan-oai
  • #28976 Add MCP tool call error metrics @stevenlee-oai
  • #27045 feat(guardian): include connected account email in app reviews @viyatb-oai
  • #29620 Decouple plugin manifest path resolution @jif-oai
  • #29666 [codex] Report the exec-server working directory @rasmusrygaard
  • #29705 feat(app-server): thread/turns/items/list -> thread/items/list @owenlin0
  • #29716 code-mode: Rename codex_code_mode::CodeModeService @cconger
  • #29712 test: branch on target OS instead of runner flavor @anp-oai
  • #29728 core tests: rename automatic environment builder @anp-oai
  • #29158 path-uri: remove legacy path deserialization @anp-oai
  • #29519 core: persist initial context window metadata @bolinfest
  • #28918 Make selected plugin roots URI-native @jif-oai
  • #29515 [codex] define code mode host handshake protocol @cconger
  • #29715 [codex] surface rollout budget exhaustion @rka-oai
  • #29732 code-mode: Remove Session::is_alive() @cconger
  • #29626 Load executor skills without host path conversion @jif-oai
  • #29714 protocol: separate app and exec RPC ownership @anp-oai
  • #29664 refactor: extract context window token status @bolinfest
  • #29665 fix: scope context remaining to body window @bolinfest
  • #29744 [codex] rename rollout budget error to session budget error @rka-oai
  • #29739 Update new_context_window instructions @andmis
  • #29743 core: reset context for token budget compaction @bolinfest
  • #29477 Support thread-level originator overrides @alexsong-oai
  • #29745 core: add wait_for_environment for starting environments @sayan-oai
  • #28630 [codex] trace MCP startup latency @rphilizaire-openai
  • #29750 chore: assign amsg_ IDs to agent messages @bolinfest
  • #29746 test: add app-server auto environment helper @anp-oai
  • #29711 Let image generation extension hosts control output persistence @won-openai
  • #29762 [codex] Reuse compacted history replacement for new context windows @pakrym-oai
  • #29768 [codex] Update bundled skill installer guidance @sayan-oai
  • #29690 [plugins] Add marketplace source requirements @xl-openai
  • #29765 [codex] Ignore local curated plugins when remote catalog is active @xl-openai
  • #29767 [codex] Assign response item IDs in forked history @pakrym-oai
  • #29721 auth: move domain mode below app wire types @anp-oai
  • #29753 [plugins] Enforce marketplace source admission requirements @xl-openai
  • #29722 config: own layer provenance types @anp-oai
  • #29723 connectors: own app metadata types @anp-oai
  • #29788 test: run app-server integration tests under Wine @anp-oai
  • #29789 test: use automatic environments in app-server integration tests @anp-oai
  • #29790 docs: document remote executor integration testing @anp-oai
  • #29815 [codex] Remove auto-compaction opt-out @rhan-oai
  • #29628 Keep executor plugin MCP paths URI-native @jif-oai
  • #29731 [codex] Emit implicit skill usage for support reads @alexsong-oai
  • #29829 Persist agent messages as response items @jif-oai
  • #29841 Add a bounded filesystem walk RPC @jif-oai
  • #29842 Use fs/walk for environment skill discovery @jif-oai
  • #29567 [codex] show external import result counts @charlesgong-openai
  • #29831 Cache plugin namespace during executor skill discovery @jif-oai
  • #29720 ci: fail jobs that dirty the worktree @anp-oai
  • #29887 Fix environment skill discovery after merge @jif-oai
  • #29734 [codex] fix Windows ConPTY input handling @iceweasel-oai
  • #28593 [codex] suppress low usage remaining warnings when credits are available @brooks-oai
  • #29624 Preserve Windows sandbox identity during credential retry @jif-oai
  • #27466 [codex] Trace exec-server JSON-RPC requests @richardopenai
  • #29844 Follow directory symlinks in filesystem walks @jif-oai
  • #29637 Skip credential refresh for WindowsApps launch failures @jif-oai
  • #29591 feat(app-server): list descendant threads by ancestor @btraut-openai
  • #28034 feat(network-proxy): experimental local credential broker @winston-openai
  • #29736 [codex] Inject agent graph store into ThreadManager @wiltzius-openai
  • #29889 [apps] Thread structured icon assets through app list @drewschuster-openai
  • #29724 mcp: keep elicitation requests below app wire types @anp-oai
  • #29684 [plugins] Track plugin install requests by ID @adaley-openai
  • #29870 Pipeline bounded AGENTS.md and Git root probes @jif-oai
  • #29893 [codex] dedupe remote control account header @shuo-openai
  • #29851 Add a connector declaration snapshot @jif-oai
  • #29903 path-uri: normalize parent segments in absolute joins @anp-oai
  • #29852 Read connector declarations from executor plugins @jif-oai
  • #29785 Isolate curated plugin sync Git environment @etraut-openai
  • #29907 [codex] namespace sleep under clock @rka-oai
  • #29910 [codex] nest sleep config under current time reminder @rka-oai
  • #29913 feat(remote-control): add daemon pairing command @apanasenko-oai
  • #29936 core: add configurable <context_window_guidance> message @bolinfest
  • #26705 TUI Plugin Sharing 5 - polish remote plugin catalog rows @canvrno-oai
  • #29733 Allow ChatGPT-hosted MCP servers to use session auth @aibrahim-oai
  • #29833 [1/3] core: make world state snapshots serializable @sayan-oai
  • #29919 TUI support for buffer experience @etraut-openai
  • #29924 Represent MCP authentication with an enum @aibrahim-oai
  • #29804 code-mode: define process host wire protocol @cconger
  • #29956 [codex] Populate remote plugin local versions @abhinav-oai
  • #29835 [2/3] core: persist world state in rollouts @sayan-oai
  • #29899 [codex] Update reasoning effort @shijie-oai
  • #29837 [3/3] core: replay persisted world state @sayan-oai
  • #29969 Report MCP error codes with server attribution @aibrahim-oai
  • #29970 core: raise token budget message limits @bolinfest
  • #29973 [codex] route sleep through time providers @rka-oai
  • #19051 feat: use run agent task auth for inference @adrian-openai
  • #29810 core: make AGENTS.md react to environment changes @sayan-oai
  • #29997 core: reconcile legacy WorldState sections @sayan-oai
  • #29990 Parallelize environment skill loading @anp-oai
  • #28522 Support HTTP MCP servers from selected executor plugins @jif-oai
  • #28529 Support OAuth for HTTP MCP servers from selected executor plugins @jif-oai
  • #29656 Test executor-routed MCP OAuth token exchange @jif-oai
  • #29928 chore(app-server): mark thread/rollback as deprecated @owenlin0
  • #29856 Persist selected capability roots and resolve availability per model step @jif-oai
  • #27467 [codex] Record exec-server lifecycle metrics @richardopenai
  • #29942 feat: add provider-aware model fallback to thread start @celia-oai
  • #30095 cli: rename sandbox permission profile flag @bolinfest
  • #30029 [codex] current time reminder interval to be set to 0 @rka-oai
  • #29941 core: expose permission profile to shell tools @bolinfest
  • #30031 [codex] add current time reminder delivery mode config @rka-oai
  • #30098 [codex] Retry temporarily offline exec-server recovery @richardopenai
  • #30033 [codex] impl delivery_mode: current time reminders on response boundaries @rka-oai
  • #30108 [codex] extend code-mode host IPC transport @cconger
  • #27470 [codex] Observe remote exec-server lifecycle @richardopenai
  • #30113 [codex] poll external clock during sleep @rka-oai
  • #29003 feat(core, mcp): cache codex_apps tools in memory @owenlin0
  • #30114 release: publish standalone zsh artifacts @bolinfest
  • #30116 release: consume standalone zsh artifacts @bolinfest
  • #29648 [codex] Add managed MCP server matchers @felixxia-oai
  • #30100 Let extensions contribute World State sections @jif-oai
  • #30124 fix(app-server): suppress TUI rollback warning @fcoury-oai
  • #29877 [codex] Surface MCP reauthentication-required startup failures @felixxia-oai
  • #29988 Recognize Work web and mobile thread originators @chiam-oai
  • #30110 [codex] add code-mode host failure supervision hooks @cconger
  • #30088 Project executor skills through World State @jif-oai
  • #30117 [codex] Propagate traces through exec-server HTTP @wiltzius-openai
  • #30101 Pin MCP runtimes to model steps @jif-oai
  • #30134 ci: narrow Windows test skips @anp-oai
  • #30093 Project selected plugin runtime by environment availability @jif-oai
  • #30145 Reuse walk inventory for environment skill metadata @jif-oai
  • #30111 [codex] implement standalone code-mode process host @cconger
  • #29935 [codex] Attribute app-server analytics by thread originator @alexsong-oai
  • #30152 Reinject missing World State fragments on resume @jif-oai
  • #30127 Keep MCP elicitation routable across runtime refreshes @jif-oai
  • #29934 Expose MCP app identity in app context @martinauyeung-oai
  • #29909 [codex] allow CCA image generation and web search extensions @won-openai
  • #30157 Test selected capabilities across availability and resume @jif-oai
  • #30144 [codex] fix terminal rollout event durability @wiltzius-openai
  • #29920 Retry failed Codex Apps MCP startup @kbazzi
  • #29516 Persist Cloudflare affinity cookies for MCP HTTP @stevenlee-oai
  • #30112 [codex] add process-owned code-mode session client @cconger
  • #30142 [codex] wire process-owned code mode host into core @cconger
  • #30198 [codex] fix CreateThreadParams test initializer @anp-oai
  • #30148 Reuse MCP runtimes when selected availability changes nothing @jif-oai
  • #30215 Test selected capabilities across unavailable resume @jif-oai
  • #29991 [codex] narrow unused skills intro export @aibrahim-oai
  • #30229 Relax hooks.json top-level metadata validation @charlesgong-openai
  • #29927 feat(app-server): add history_mode to thread @owenlin0
  • #30276 fix main @owenlin0
  • #29683 [codex] Add managed new-thread model settings @hefuc-oai
  • #30225 Overlap executor skill reads with namespace discovery @jif-oai
  • #30274 [codex] allow AGENTS.md and skills to authorize delegation @charlesdu-openai
  • #30147 [codex] Use managed defaults for TUI threads @hefuc-oai
  • #30261 ensure thread.history_mode is immutable @owenlin0
  • #30277 feat(app-server): add optional turn_id to thread/fork @owenlin0
  • #30143 Let Codex consult user-level code-review-* skills. @anp-oai
  • #30285 feat: add GPT-5.6 variants to Bedrock catalog @celia-oai
  • #30173 Close thread persistence when submission channel closes @alfozan
  • #30257 [codex] Classify nested MCP authentication startup errors @felixxia-oai
  • #29375 [codex] Support npm marketplace plugin sources @charlesgong-openai
  • #30146 [codex] group blocking and postmerge CI workflows @anp-oai
  • #30282 feat(protocol): define missing rollout turn items @owenlin0
  • #30201 fix(remote-control): avoid server token refresh retry storms @apanasenko-oai
  • #30273 [codex] consume pushed exec-server process events @richardopenai
  • #30286 core: overlap diff root discovery with world state @anp-oai
  • #30314 app-server: structure and test JSON shutdown logs @bolinfest
  • #30317 Update security check wording @etraut-openai
  • #30302 Preserve namespaces on custom tool calls @nhamidi-oai
  • #30327 core: stabilize synthesized call output IDs @bolinfest
  • #30291 [app-server] expose environment info RPC @maxj-oai
  • #29691 [plugins] Enforce marketplace source policy at runtime @xl-openai
  • #30384 [app-server] increase currentTime/read timeout @rka-oai
  • #30297 [codex] Enable remote plugins by default @xl-openai
  • #30490 fix(tui): clear completed safety buffering prompt @fcoury-oai
  • #29740 [codex] Use model metadata for skills usage instructions @ani-oai
  • #30511 [codex] Restore v1 delegation guidance @aibrahim-oai
  • #30508 Revert “Make auto-review on-request prompt more proactive” @dylan-hurd-oai
  • #30467 [codex] Treat max as a first-class reasoning effort @shijie-oai
  • #30491 Update safety check links @etraut-openai
  • #30607 [codex] auto-label AWS Bedrock issues @etraut-openai
  • #30269 [codex] disable Nagle on Rendezvous WebSockets @richardopenai
  • #30645 [codex] Update safety notice wording @etraut-openai
  • #30757 fix(core) Remove full text websocket trace @dylan-hurd-oai
  • #30851 docs: add tag to fenced code block @bolinfest
  • #30643 [codex] bound Rendezvous WebSocket liveness @richardopenai
  • #30867 Consolidate multi-agent v2 communication sends @bolinfest
  • #30872 Log multi-agent communication lifecycle @bolinfest
  • #30883 [codex] emit per-request TTFT completion telemetry @xli-oai
  • #30897 Fix inherited availability metadata for Bedrock models @shijie-oai
  • #30941 fix: address quick-xml security advisories @bolinfest
  • #30770 fix(websockets) ignore metadata for incremental requests @dylan-hurd-oai
  • #30334 telemetry: log structured direct tool-call timing @bolinfest
  • #30493 [codex] Add configurable multi-agent mode hint text @shijie-oai
  • #30796 Fix MIME types for path-backed feedback attachments @btraut-openai
  • #31056 fix(install): reuse GitHub release metadata @bolinfest
  • #30981 [codex] expose remote plugin versions @ericning-o
  • #31066 chore: remove unused git-cliff configuration @bolinfest
  • #31064 [codex] Read buffering metadata from response events @fc-oai
  • #30223 Make plugin guidance react to environment readiness @sayan-oai
  • #31189 Fix cancelled review leaving MCP startup busy @charliemarsh-oai
  • #30876 [core] Support interleaved response items @alexi-openai
  • #31262 [codex] Read retry model from buffering events @fc-oai
  • #31261 Revert “[core] Support interleaved response items” @alexi-openai
  • #31253 Emit exec-policy warnings for freshly loaded thread config @etraut-openai
  • #31179 Remove TUI exec-policy core exports @etraut-openai
  • #29959 Conditional codex_home dotenv @canvrno-oai
  • #30627 elicitations: Move to shared ElicitationService @cconger
  • #30318 core: trace executor skill discovery @anp-oai
  • #31276 Revert “Conditional codex_home dotenv” @canvrno-oai
  • #30956 refactor(protocol): isolate legacy item fanout @owenlin0
  • #30395 [app-server] Include reset-credit details in rate limits @jayp-oai
  • #31267 chore(approvals) consolidate guardian calls for shell tools @dylan-hurd-oai
  • #31252 [tui] Truncate hook context in conversation history @abhinav-oai
  • #29918 [codex] Flush trailing realtime transcript tail @guinness-oai
  • #30226 Make Apps guidance react to MCP availability @sayan-oai
  • #31190 Use popup token ranges for autocomplete insertion @charliemarsh-oai
  • #29697 fix: attribut network requests to the exact exec on linux @jif-oai
  • #31303 feat(code-mode): allow disabling V8 JIT @cconger
  • #31271 chore: use .worktreeinclude for user Bazel config @anp-oai
  • #31308 fix: update crossbeam-epoch for RUSTSEC-2026-0204 @cconger
  • #30202 [codex] bundle code mode host in release packages @cconger
  • #31293 [codex] app-server: expose plugin install policy source @ericning-o
  • #31318 ci: share common workflow setup @anp-oai
  • #29992 app-server: cover selected environments in integration tests @anp-oai
  • #31284 Warn when configured service tiers are unsupported @etraut-openai
  • #31323 Extract shared HTTP transport into codex-http-client @bolinfest
  • #31331 Migrate direct HTTP consumers to codex-http-client @bolinfest
  • #31337 fix: restore Codex environment setup table @anp-oai
  • #31188 Preserve managed exec policy after rules parse errors @etraut-openai
  • #31306 [codex] Support sequential cutoff reasoning summaries @ashwinnathan-openai
  • #31344 exec-server: use virtual time in Noise relay test @bolinfest
  • #31296 refactor(protocol): map canonical tool items to legacy events @owenlin0
  • #31335 core: route Responses API through system proxy @bolinfest

Update Jun 25, 2026 tracked by Updatify

0.142.2

New Features

  • MCP tools now use tool search by default when supported, improving tool discovery while preserving compatibility with older models and providers. (#29486)
  • macOS authentication clients can honor system proxy, PAC, and WPAD settings when respect_system_proxy is enabled. (#26709)
  • Plugins can provide dedicated dark-mode logos through local manifests and remote catalogs. (#29488)
  • Apps can display richer safety-buffering UI using server-provided visibility and faster-model metadata. (#29473)

Bug Fixes

  • Remote plugin catalogs now return curated featured-plugin rankings. (#29485)
  • Expired Amazon Bedrock credentials now produce actionable recovery guidance instead of a generic authorization error. (#28992)
  • Remote stdio MCP servers now accept absolute working directories written in the remote platform’s path format. (#29493)
  • Remote HTTP(S) image inputs now return clear model-visible validation errors; inline data URLs and local images remain supported. (#29417, #29419)
  • PowerShell commands containing executable AST regions the safety classifier cannot inspect now require approval. (#24092)
  • Code Mode now warns when the selected model lacks the required metadata. (#29490)

Chores

  • Updated bundled OpenSSL and esbuild dependencies to patched releases. (#29487, #29489)
  • Successful formatter runs are now quiet while failures still show diagnostics. (#29467)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.142.1…rust-v0.142.2

  • #28769 Register full CDP requirements feature @syuan-oai
  • #29485 [codex] fetch featured IDs for remote plugins @ericning-o
  • #29487 Upgrade bundled OpenSSL to 3.6.3 @jif-oai
  • #29489 [codex] Update esbuild to 0.28.1 @pakrym-oai
  • #29488 [plugins] Add dark-mode logo metadata @drewschuster-openai
  • #29249 [codex] migrate environment context to model world state @pakrym-oai
  • #29494 core: wrap token budget window context @bolinfest
  • #29417 [codex] replace remote images with model-visible error text @rka-oai
  • #28360 feat(core): store turn_id on ResponseItem metadata @owenlin0
  • #29486 [codex] Use tool search for MCP tools by default @sayan-oai
  • #29501 path-uri: clarify host-native path conversion @anp-oai
  • #29504 fix: world state response item test @celia-oai
  • #26704 TUI Plugin Sharing 4 - cover remote plugin catalog flows @canvrno-oai
  • #29419 [codex] reject remote images at app-server ingress @rka-oai
  • #28992 chore: improve expired Bedrock credential errors @celia-oai
  • #29467 Make formatter output quiet on success @anp-oai
  • #26709 PAC 4 - Add macOS system proxy resolver @canvrno-oai
  • #29490 chore: warn when Code Mode lacks model metadata @celia-oai
  • #29493 mcp: accept foreign absolute cwd for remote stdio @anp-oai
  • #29473 Propagate safety buffering treatment metadata @fc-oai
  • #24092 [codex] Reject unlowered PowerShell AST regions @bookholt-oai

Update Jun 22, 2026 tracked by Updatify

0.142.0

New Features

  • /usage can now show and redeem earned usage-limit reset credits, with confirmation, retry, and refreshed availability states. (#28154, #28793)
  • /plugins now organizes remote plugins into OpenAI Curated, Workspace, and Shared with me sections, while eligible turns can recommend and install relevant plugins. (#26703, #28399, #28400, #27704, #28403)
  • Configurable rollout token budgets track usage across agent threads, provide remaining-budget reminders, and abort turns when exhausted. (#28746, #28494, #28707, #29423)
  • App-server clients can configure multi-agent delegation as disabled, explicit-request-only, or proactive at the thread and turn level. (#28685, #28792, #29324)
  • Added an indexed web-search mode that permits live searches while restricting direct page access to server-approved URLs. (#28489)
  • Codex can now receive scheduled UTC time reminders and query the current time directly, including through client-provided app-server clocks. (#28822, #28824, #28835, #29011)

Bug Fixes

  • Restored reliable Linux TUI rendering after suspending with Ctrl+Z and resuming with fg. (#28342)
  • Exec-server processes and stdio MCP sessions now survive transient disconnects, including signed-URL refresh and retry-safe stdin writes. (#28512, #28374, #28546, #28895)
  • Remote environments now preserve executor-native paths, shells, AGENTS.md discovery, and sandbox behavior across operating systems. (#28146, #28152, #28958, #28983, #29099, #29108, #29113, #29424)
  • Plugin loading and installation now handle root marketplace layouts, manifest fallbacks, multiple skill paths, actionable download errors, and immediate tool refreshes. (#28771, #28789, #28790, #28863, #28951)
  • Parent agents now receive terminal subagent errors instead of seeing failed work as an empty successful completion. (#28375)
  • Goal-first threads are once again persisted and returned by thread/list and thread/search. (#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. (#28542, #28699, #28844, #29326, #29005)
  • Reduced persistent-log churn by removing per-event WebSocket payload logging and filtering duplicated telemetry records. (#29432, #29457)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.141.0…rust-v0.142.0

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

Update Jun 18, 2026 tracked by Updatify

0.141.0

New Features

  • Remote executors now use authenticated, end-to-end encrypted Noise relay channels. (#26242, #26245)
  • Cross-platform remote execution now preserves executor-native working directories and shells, including filesystem permission paths across app-server and exec-server boundaries. (#27819, #27995, #28032, #28122, #28165, #28367)
  • 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, #27884, #27893, #28203, #28383)
  • App-server clients can list immediate child threads, correlate external-agent imports with detailed results, and read or redeem rate-limit reset credits. (#26662, #28008, #28143)
  • Realtime clients can explicitly append speech, control how Codex responses enter conversations, and omit startup context. (#27917, #28405)
  • TUI input prompts can auto-resolve after inactivity, with a countdown that pauses on interaction. (#28235)

Bug Fixes

  • Hook trust bypass now persists through codex exec thread start and resume, while blocking PostToolUse hooks correctly reject code-mode tool calls. (#26434, #28365)
  • Plugin capabilities now route consistently by authentication mode, deduplicate conflicting App/MCP declarations, and preserve remote marketplace ordering. (#27461, #27602, #27607, #27902, #27958, #28395)
  • Windows sandbox execution repairs stale credentials automatically and gives PowerShell commands more time before backgrounding. (#27086, #27944)
  • Idle exec-server relays remain connected, and steered user input immediately interrupts wait_agent. (#28286, #28341)
  • Bundled SQLite is pinned to a version containing the WAL-reset corruption fix. (#27992)
  • TLS connections now support P-521 certificate signatures commonly used by enterprise proxies. (#27706)

Chores

  • Reduced latency and memory use in large, tool-heavy sessions by caching tool search and eliminating repeated request and history copies. (#27258, #27813, #28306, #28309, #28313, #28323, #28327)
  • Bounded prompt-image caching to 64 MiB and feedback uploads to eight related threads. (#28294, #28332)
  • Terminal resize reflow is now always enabled, ignoring obsolete disabled settings. (#27794)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.140.0…rust-v0.141.0

  • #28001 [codex] package Windows ARM64 on x64 @tamird
  • #28032 [codex] Carry exec-server cwd as PathUri @anp-oai
  • #27607 [codex] Dedupe plugin MCPs by app declaration name @felixxia-oai
  • #27992 [codex] Pin bundled SQLite to fixed WAL-reset version @gpeal
  • #28125 build: run buildifier from just fmt @anp-oai
  • #28120 bazel: add PowerShell to Wine test harness @anp-oai
  • #27819 path-uri: render native paths across platforms @anp-oai
  • #28122 [codex] exec-server honors remote environment cwd and shell @anp-oai
  • #26662 feat(app-server): filter threads by parent @btraut-openai
  • #27884 Add selected-plugin precedence and attribution to the MCP catalog @jif-oai
  • #27870 Discover stdio MCP servers from selected executor plugins @jif-oai
  • #28283 [codex] update multi-agent v2 prompts @jif-oai
  • #27602 [codex] Preserve plugin apps in connector listings @felixxia-oai
  • #27461 [codex] Skip plugin MCP OAuth for matching app routes @felixxia-oai
  • #27893 Activate selected executor plugin MCPs in app-server @jif-oai
  • #28332 [codex] Cap feedback upload subtrees @jif-oai
  • #27365 Represent dynamic tools with explicit namespaces internally @sayan-oai
  • #28333 skills: hide orchestrator skills with a local executor @jif-oai
  • #27756 [codex] simplify shell snapshot ownership @pakrym-oai
  • #27794 Remove terminal resize reflow flag gates @etraut-openai
  • #28286 chore: restore exec-server relay keepalives @jif-oai
  • #28164 [codex] simplify memory read metrics @pakrym-oai
  • #27371 Expose explicit dynamic tool namespaces in thread start @sayan-oai
  • #28309 linearize history output normalization @jif-oai
  • #28306 avoid cloning sampling request input @jif-oai
  • #28323 serialize websocket requests directly @jif-oai
  • #28313 avoid cloning websocket request history @jif-oai
  • #28344 [codex] remove stale PathExt import @pakrym-oai
  • #27059 [codex] Cover OTLP HTTP log and trace event export @richardopenai
  • #28327 reuse encoded Responses request bodies @jif-oai
  • #27995 [codex] preserve explicit environment cwd @pakrym-oai
  • #28285 guardian: isolate review context from skills and memories @jif-oai
  • #26702 TUI Plugin Sharing 2 - add remote plugin section plumbing @canvrno-oai
  • #28294 bound prompt image cache retention @jif-oai
  • #28257 Support staging OAuth client ID overrides @apanasenko-oai
  • #28341 core: let steer interrupt wait_agent @jif-oai
  • #28336 skills: cache orchestrator resources per thread @jif-oai
  • #28357 Extract shared Windows sandbox session runner @iceweasel-oai
  • #27706 Use aws-lc-rs for rustls crypto provider @malsamiri-oai
  • #28347 [codex] add path-types skill @anp-oai
  • #28235 Add request user input auto-resolution timer @shijie-oai
  • #28234 [mcp] Increase default tool timeout to 300 seconds @adaley-openai
  • #28008 [codex] Add external agent import result accounting @charlesgong-openai
  • #27944 recover stale Windows sandbox credentials @iceweasel-oai
  • #27086 Add Windows unified exec yield floor @iceweasel-oai
  • #28358 Add hidden Windows sandbox wrapper entrypoint @iceweasel-oai
  • #27258 core: cache the tool search handler per session @mchen-oai
  • #28143 feat(app-server): expose rate-limit reset credits @jayp-oai
  • #28355 feat(core): add metadata field to ResponseItem @owenlin0
  • #28203 [codex] Add created-by-me remote plugin marketplace @ericning-o
  • #28365 Respect blocking PostToolUse hooks in code mode @abhinav-oai
  • #27813 [codex] Reuse Apps policy evaluation across MCP tool exposure @mzeng-openai
  • #28300 Deflake realtime handoff steering test @felixxia-oai
  • #28395 [codex] Preserve remote plugin directory order @jameswt-oai
  • #27955 [codex] retain resolved environments across turns @pakrym-oai
  • #27917 Add realtime speech append control @guinness-oai
  • #27093 [codex-analytics] Analytics Capture to File in Debug Builds @jameswt-oai
  • #26242 exec-server: add Noise relay transport @viyatb-oai
  • #28165 Use PathUri in filesystem permission paths for exec-server @anp-oai
  • #28415 [codex] Fix missing response item metadata in tests @adaley-openai
  • #27058 [codex] Add second-based OTEL duration histograms @richardopenai
  • #27902 [codex] Centralize plugin auth capability filtering @felixxia-oai
  • #28405 Add a toggle for realtime startup context @guinness-oai
  • #26434 Preserve hook trust bypass in codex exec threads @abhinav-oai
  • #26245 exec-server: default remote transport to Noise @viyatb-oai
  • #28383 [codex] Load API curated marketplace by auth @felixxia-oai
  • #27958 [codex] Make plugin details capability aware @felixxia-oai
  • #28367 Use ApiPathString in app-server filesystem permission paths @anp-oai
  • #28421 [codex] Bind shell snapshots to retained thread environments @pakrym-oai
  • #28429 [codex] Add interruptible sleep tool @pakrym-oai
  • #28441 [codex] Use expect in integration tests @pakrym-oai
  • #28163 [codex] Use local environment for user shell commands @pakrym-oai

Update Jun 15, 2026 tracked by Updatify

0.140.0

New Features

  • Added /usage views for daily, weekly, and cumulative account token activity. (#27925)
  • /goal now preserves oversized text, large pasted blocks, and image attachments, including in remote app-server sessions. (#27508, #27509, #27510)
  • Added permanent session deletion through codex delete, /delete, and app-server thread/delete, with confirmation safeguards and subagent cleanup. (#25018, #27476)
  • Added /import for selectively importing setup, project configuration, and recent chats from Claude Code. (#27070, #27071, #27703)
  • Typing @ now opens the unified mentions menu for files, plugins, and skills by default. (#27499)
  • Added managed Amazon Bedrock API-key authentication and encrypted local storage for CLI and MCP OAuth credentials. (#27443, #27689, #27504, #27535, #27539, #27541)

Bug Fixes

  • Corrupted SQLite state databases are now backed up and rebuilt automatically from rollout data, including malformed database-directory cases. (#26859, #27719)
  • Prevented /review from crashing when Esc is pressed with queued guidance, while preserving that guidance when the review is canceled. (#22879)
  • Improved MCP reliability by retrying transient startup failures, reporting unusable OAuth credentials as logged out, and preserving explicitly disabled servers. (#25147, #26713, #27414)
  • Fixed remote plugin uninstall requests and correctly surfaced apps requiring authentication during installation. (#27085, #27223)
  • Persisted “Don’t remind me” update dismissals reliably and cleared stale running-hook indicators after completed turns. (#27619, #27783)
  • Non-TTY background commands can now be interrupted with Ctrl-C while preserving their final output and exit status. (#26734)

Documentation

  • Clarified contributor guidance around keeping crate APIs narrow and supporting Linux, macOS, and Windows. (#27939, #27966)

Chores

  • 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, #27031, #27276, #27489)
  • Removed the experimental /realtime voice controls and related audio dependencies from the TUI. (#27801)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.139.0…rust-v0.140.0

  • #26880 [codex] preserve fsmonitor for worktree Git reads @tamird
  • #27085 Use server app auth requirements for remote plugin install @xl-openai
  • #27098 [codex] Return workspace directory installed plugins @xl-openai
  • #27007 multi-agent: add path-based v2 activity tracking @jif-oai
  • #27166 app-server: clear stale thread watches after v2 agent interruption @jif-oai
  • #27080 [codex] Ignore pending PR review comments @anp-oai
  • #26420 Avoid no-op backfill state writes @zanie-oai
  • #27031 Avoid rereading rollout history during cold resume @zanie-oai
  • #22879 fix: Prevent /review crash when entering Esc on steer message @canvrno-oai
  • #27173 app-server: reject direct input to multi-agent v2 sub-agents @jif-oai
  • #27184 Load selected executor skills through extensions @jif-oai
  • #26835 [codex] Test extension API contracts @anp-oai
  • #27063 [codex-analytics] add extensible feature thread sources @marksteinbrick-oai
  • #26479 [codex] Speed up local nextest runs @anp-oai
  • #27223 fix: use plugin service route for remote uninstall @ericning-o
  • #22685 Add SOCKS5 TCP MITM coverage @winston-openai
  • #26681 Allow creating a new goal after completion @etraut-openai
  • #26711 Reduce TUI legacy core dependencies @etraut-openai
  • #27110 [1/6] Add Python goal routing foundation @aibrahim-oai
  • #27191 Route hosted Apps MCP through extensions @jif-oai
  • #26830 [codex] Characterize global instruction lifecycle @anp-oai
  • #26713 [codex] Report unusable MCP OAuth credentials as logged out @anp-oai
  • #26734 [codex] Handle Ctrl-C for non-TTY unified exec @pakrym-oai
  • #27116 Stop mirroring Codex user input into realtime @guinness-oai
  • #27111 [2/6] Add private Python goal operations @aibrahim-oai
  • #25147 [codex] Retry streamable HTTP initialize failures @ssetty-oai
  • #27257 [codex] Tighten MCP connection manager API visibility and order @aibrahim-oai
  • #26701 TUI Plugin Sharing 1 - add remote plugin identity @canvrno-oai
  • #27129 feat: use provider defaults for memory models @celia-oai
  • #27094 Add spans to build_tool_router @mchen-oai
  • #24999 Add per-session realtime model and version overrides @guinness-oai
  • #27078 [codex-analytics] emit goal lifecycle analytics @marksteinbrick-oai
  • #27285 [codex] Fix post-merge analytics integration failures @anp-oai
  • #27107 Add spans to run_turn @mchen-oai
  • #27261 [codex] Make MCP connection startup fallible @aibrahim-oai
  • #27174 feat: keep child MCP warnings out of parent transcript @jif-oai
  • #27198 Use plugin-service MCP as the hosted plugin runtime @jif-oai
  • #27375 [codex] Tag multi-agent spawn metrics with version @jif-oai
  • #27383 Remove async-trait from extension contributors @jif-oai
  • #27259 Use latest-wins MCP manager replacement @charliemarsh-oai
  • #27264 [codex] Store compact window id in rollout @pakrym-oai
  • #27280 [codex] add io PathUri native conversion APIs @anp-oai
  • #27315 [codex] link Windows releases with LLD @tamird
  • #27276 Reduce archive rollout lookup CPU @etraut-openai
  • #27299 [codex] Outline ToolExecutor handler bodies @anp-oai
  • #27391 Index visible thread list ordering @zanie-oai
  • #27407 Fix compressed rollout search path matching @jif-oai
  • #27304 [codex] Remove async_trait from ToolExecutor @anp-oai
  • #26041 Add app-server background terminal process APIs @etraut-openai
  • #25018 Add app-server thread/delete API @etraut-openai
  • #26859 fix: Auto-recover from corrupted sqlite databases @ddr-oai
  • #27064 [codex] remove blocking external agent migration flow @stefanstokic-oai
  • #27421 [codex] Raise app-server recursion limit @anp-oai
  • #27062 [codex] Retry transient Guardian review failures @kbazzi
  • #27065 [codex] extract external agent import picker renderer @stefanstokic-oai
  • #26409 [plugins] Inject remote_plugin_id into install elicitations @adaley-openai
  • #27439 feat: make ThreadStore available on ThreadExtensionDependencies @bolinfest
  • #27343 Guard core test subprocess cleanup @etraut-openai
  • #27070 [codex] add external agent import picker UX @stefanstokic-oai
  • #27321 [codex] Move release platform rules into bazel package @anp-oai
  • #27071 [codex] add /import for external agents @stefanstokic-oai
  • #27311 [codex] Skip local curated discovery for remote plugins @xl-openai
  • #27414 [codex] Preserve disabled MCP servers across runtime overlays @e-provencher
  • #27312 [codex] reuse release artifacts for npm staging @tamird
  • #27319 Forward standalone assistant output to realtime @guinness-oai
  • #27057 [codex] Add reusable OTEL gauge instruments @richardopenai
  • #27245 image: add shared data URL preparation utilities @fjord-oai
  • #27392 [codex-analytics] emit internally started turn events @marksteinbrick-oai
  • #27322 [codex] Preserve build-script dependencies in rules_rs annotations @anp-oai
  • #27489 core: cache turn diff rendering @nornagon-openai
  • #27465 [codex] Remove redundant plugin app auth state @xl-openai
  • #27484 Remove TUI legacy core test_support dependencies @etraut-openai
  • #27476 Add session delete commands in CLI and TUI @etraut-openai
  • #27247 core: resize all history images behind a feature flag @fjord-oai
  • #27487 Trim TUI legacy telemetry and migration dependencies @etraut-openai
  • #27438 [codex] Add token budget context feature @pakrym-oai
  • #27501 [codex] Expand hosted web search citation guidance @yuning-oai
  • #27526 tools: simplify default tool search text @sayan-oai
  • #27488 [codex] Add new context window tool @pakrym-oai
  • #27443 feat: add Bedrock API key as a managed auth mode @celia-oai
  • #27532 [codex] Add comp_hash to model metadata @aibrahim-oai
  • #27246 core: strip image detail from Responses Lite requests @fjord-oai
  • #27517 [codex] Pass auth mode to plugin manager @xl-openai
  • #27520 [codex] Compact when comp_hash changes @aibrahim-oai
  • #27518 [codex] Add context remaining tool @pakrym-oai
  • #27266 image: preserve metadata when resizing prompt images @fjord-oai
  • #27103 [codex-analytics] report cached input tokens for v2 compaction @rhan-oai
  • #27356 Use generic search metadata for dynamic tools @sayan-oai
  • #27082 [codex-analytics] Emit structured compaction codex errors @rhan-oai
  • #26513 [codex] Tune cloud config cache intervals @alexsong-oai
  • #27387 skills: make backend plugin skills invocable without an executor @jif-oai
  • #27403 skills: cache remote catalog failures per thread @jif-oai
  • #27573 core: enable remote compaction v2 by default @jif-oai
  • #27388 skills: expose remote skill resource tools @jif-oai
  • #27569 multi-agent: move concurrency guidance into v2 usage hints @jif-oai
  • #27585 nit: cap error @jif-oai
  • #27404 test: cover referenced backend skill reads without an executor @jif-oai
  • #27591 skills: render catalog locators by authority @jif-oai
  • #27413 skills: decouple the skills extension from core @jif-oai
  • #27527 [codex] publish npm packages concurrently @tamird
  • #27528 [codex] publish DotSlash alongside npm @tamird
  • #27529 [codex] download only release artifacts @tamird
  • #27490 Remove TUI legacy Windows sandbox dependency @etraut-openai
  • #27483 Emit plugin ID on MCP tool call analytics events @chrisdong-oai
  • #27417 Print TUI session info on fatal exits @etraut-openai
  • #27507 lint: allow self-documenting builder arguments @anp-oai
  • #27420 [codex] Propagate plugin app categories @charlesgong-openai
  • #27454 [codex] add cross-platform filesystem adapter coverage @anp-oai
  • #27415 [codex] Surface runtime warnings in codex exec @anp-oai
  • #27639 [codex] revert concurrent npm publishing @tamird
  • #27646 feat: disable orchestrator skills for now @jif-oai
  • #27323 [codex] Provide ARM64 MinGW powl compatibility support @anp-oai
  • #27433 [codex] remove EnvironmentPathRef @anp-oai
  • #27424 [codex] migrate ExecutorFileSystem paths to PathUri @anp-oai
  • #27101 [codex] Load user instructions through an injected provider @anp-oai
  • #27634 Resolve MCP server registrations through a catalog @jif-oai
  • #27122 core: Consolidate Responses API Codex metadata @owenlin0
  • #27450 [codex-rs] enforce PAT workspace restrictions @cooper-oai
  • #27653 [codex] migrate exec-server filesystem protocol to PathUri @anp-oai
  • #27663 Include thread id in token budget context @pakrym-oai
  • #26418 [codex] Avoid duplicate hooks.json discovery with profiles @abhinav-oai
  • #27689 feat: prefer managed Bedrock auth in model provider @celia-oai
  • #27700 Remove fs/join and fs/parent from exec-server protocol @anp-oai
  • #26426 Warn when hooks.json has unsupported top-level fields @abhinav-oai
  • #27318 [codex] Move persistence policy application into ThreadStore @wiltzius-openai
  • #27498 Route image extension reads through turn environments v2 @won-openai
  • #27623 Add spans to turn lifecycle gaps @mchen-oai
  • #27619 tui: clear stale hook row after turn completion @kotakem-openai
  • #27711 Fix image extension PathUri conversion @anp-oai
  • #27475 [codex] Remove async_trait from first-party code @anp-oai
  • #27719 fix: Recover from sqlite directory being a file @ddr-oai
  • #27715 ci(v8): gate Windows source builds on relevant changes @cconger
  • #27702 [codex] parallelize release code generation @tamird
  • #27709 [codex] resolve environment shell metadata eagerly @pakrym-oai
  • #27445 feat(app-server): persist remote-control desired state @apanasenko-oai
  • #27508 [1 of 3] Support long raw TUI goal objectives @etraut-openai
  • #27256 Add request_user_input auto-resolution window contract @shijie-oai
  • #27724 code-mode standalone: extract protocol and add host crate @cconger
  • #27778 Translate non-English issues @etraut-openai
  • #27316 Keep request_user_input direct-model only @shijie-oai
  • #27696 [codex] Load AGENTS.md from all bound environments @anp-oai
  • #27670 Make MCP server contributions thread-scoped @jif-oai
  • #27732 [code-mode] Reject remote image URLs from output helpers @rka-oai
  • #27692 Add executor-owned plugin resolution @jif-oai
  • #27863 Extract shared plugin MCP config parsing @jif-oai
  • #27703 [codex] restore source-specific import copy @stefanstokic-oai
  • #27879 fix: serialize auth environment tests @jif-oai
  • #27791 Reject transcript backtrack in side conversations @etraut-openai
  • #27075 [ez][codex-rs] Support approvals reviewer in app defaults @zamoshchin-openai
  • #27538 Use dependency groups for Python SDK tooling @charliemarsh-oai
  • #27783 Persist update dismissal without cache @etraut-openai
  • #27814 tui: Allow extra o’s in /goal command @btraut-openai
  • #27901 Use uv as Python SDK build backend @charliemarsh-oai
  • #27720 realtime: add AVAS architecture override @bakks
  • #27919 chore: prompt MAv2 @jif-oai
  • #27816 sandboxing: migrate cwd inputs to PathUri @anp-oai
  • #27890 [codex] expose remote plugin share URL @ericning-o
  • #27913 [codex] unify apply patch parsing @pakrym-oai
  • #27920 Handle standalone image generation failures as terminal items @won-openai
  • #27927 [codex] Add size to internal filesystem metadata @pakrym-oai
  • #27504 feat: add secret auth storage configuration @celia-oai
  • #27674 [login] revoke existing auth before starting login @cooper-oai
  • #27535 feat: add auth-specific encrypted secret namespaces @celia-oai
  • #27939 [codex] Add crate API surface review rule @pakrym-oai
  • #27926 [codex] Align implicit skill reads with parser @alexsong-oai
  • #23254 fix(plugins) rm plugin descriptions @dylan-hurd-oai
  • #27830 Support plaintext agent messages @jif-oai
  • #27801 Remove TUI realtime voice support @etraut-openai
  • #27539 feat: use encrypted local secrets for CLI auth @celia-oai
  • #27076 Warn for structured feature toggles @canvrno-oai
  • #27541 feat: use encrypted local secrets for MCP OAuth @celia-oai
  • #27936 [codex] add roles to realtime append text @agamble-oai
  • #27509 [2 of 3] Support long pasted text in TUI goals @etraut-openai
  • #27109 Add Guardian catalog diagnostics metadata @won-openai
  • #27966 Specify platform support in AGENTS.md @anp-oai
  • #27855 [codex] parallelize Windows compression @tamird
  • #27499 Promote TUI unified mentions in composer to default mentions feature @canvrno-oai
  • #27972 [codex] Let generic test turns inherit their environment @pakrym-oai
  • #27856 [codex] package Windows symbols in parallel @tamird
  • #27976 [codex] make PathUri::from_abs_path infallible @anp-oai
  • #27854 [codex] parallelize Windows package archives @tamird
  • #27853 [codex] stage npm packages concurrently @tamird
  • #27710 [codex] add latency tracing spans @rphilizaire-openai
  • #27510 [3 of 3] Support images in TUI goals @etraut-openai
  • #27925 feat(tui): reland token activity command @fcoury-oai
  • #27988 [codex] Limit app-based plugin suggestions to remote catalogs @xl-openai
  • #27652 [codex] Add auth mode to plugin manager constructor @felixxia-oai
  • #27964 [codex] Add hermetic Wine test support @anp-oai
  • #27459 [codex] Gate plugin MCP servers by auth route @felixxia-oai
  • #27961 feat(app-server): enforce managed remote control disable @apanasenko-oai
  • #27937 [codex] Add hermetic Wine exec-server test @anp-oai
  • #27996 [codex] Send request-scoped turn state over WebSocket @aibrahim-oai
  • #28002 [codex] Send turn state through compact requests @aibrahim-oai

Update Jun 9, 2026 tracked by Updatify

0.139.0

New Features

  • Code mode can now call standalone web search directly, including from nested JavaScript tool calls, and receive plaintext search results. (#26719)
  • Tool and connector input schemas now preserve oneOf and allOf, and large schemas keep more shallow structure when compacted, improving compatibility with richer MCP tools. (#24118, #27084)
  • codex doctor now includes editor and pager environment details in the local report while redacting raw values in JSON output. (#27081)
  • Plugin marketplace automation is more informative and responsive: codex plugin marketplace list --json now includes each marketplace source, and plugin lists can return from the cached remote catalog before refreshing in the background. (#27009, #26932)

Bug Fixes

  • codex resume --last "..." and codex fork --last "..." now treat the trailing argument as the initial prompt instead of misreading it as a session ID. (#26818)
  • MCP startup warnings from subagents now stay in the thread that owns them, avoiding duplicate parent-thread alerts and stuck startup spinners in the TUI. (#26639)
  • Image edits now use the exact referenced image file paths instead of guessing from conversation history, so attached-image edits land on the intended input. (#26486)
  • Bare URLs with ~ in the path are now linkified end to end in the TUI instead of being truncated before the tilde. (#27088)
  • Thread resets such as /new, /clear, and /fork no longer drop cloud-managed requirements or feature flags during TUI config reloads. (#25177)
  • Sandbox execution now preserves approved escalation decisions and enforces configured proxy-only networking more consistently. (#24981, #27035)

Chores

  • Release builds once again publish separate symbol archives with line tables, improving post-release crash symbolication without bringing back the earlier full-debug build slowdown. (#26202)
  • The embedded V8 toolchain was updated to rusty_v8 149.2.0. (#26464)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.138.0…rust-v0.139.0

  • #26741 fix(remote-control): preserve enrollment on generic websocket 404s @apanasenko-oai
  • #26804 fix(core-plugins): send Codex product SKU to plugin-service @ericning-o
  • #26464 build(v8): update rusty_v8 to 149.2.0 @cconger
  • #26895 ci: use bazel environment for BuildBuddy secret @bolinfest
  • #24981 fix: preserve approval sandbox decisions in unified exec @bolinfest
  • #26818 fix(tui): accept prompts with resume and fork @fcoury-oai
  • #24820 deps: update starlark to 0.14.2 @bolinfest
  • #26639 fix(tui): scope MCP startup status by thread @fcoury-oai
  • #26719 [codex] Enable standalone web search in code mode @rka-oai
  • #26632 feat: add v2 agent residency lru @jif-oai
  • #26974 Ignore proc-macro-error2 advisory @jif-oai
  • #26969 feat: count V2 concurrency by active execution @jif-oai
  • #26994 Rename multi-agent v2 close_agent to interrupt_agent @jif-oai
  • #26997 Avoid reopening v2 descendants on resume @jif-oai
  • #26821 [codex] Exclude external tool output from memories @rka-oai
  • #26202 [codex] Restore release symbol artifacts with line tables @nornagon-openai
  • #26852 fix(app-server): avoid blocking connection cleanup @apanasenko-oai
  • #26923 Add HTTP window ID to Responses client metadata @ningyi-oai
  • #26680 [codex-analytics] report compaction analytics details @rhan-oai
  • #26637 [codex] Speed up external agent session imports @stefanstokic-oai
  • #27009 [plugins] Expose marketplace source in marketplace list JSON @mpc-oai
  • #27024 ci: template custom runner names by repo @bolinfest
  • #26230 fix: preserve auto review across config and delegation @viyatb-oai
  • #27038 [codex] Clarify PR babysitter state mutations @anp-oai
  • #27037 [codex] Calm multi-agent v2 usage prompts @jif-oai
  • #26687 Pair thread environment settings @pakrym-oai
  • #27054 cli: add -P sandbox permissions profile alias @bolinfest
  • #27035 Enforce configured network proxy in codex sandbox @viyatb-oai
  • #26486 Route image edits through referenced file paths @won-openai
  • #27060 [codex-analytics] stop sending codex error subreason @rhan-oai
  • #27044 [codex] Require complete main-agent skill reads @fchen-oai
  • #24118 feat: support oneOf and allOf in tool input schemas @celia-oai
  • #26934 [codex] Prune stale curated plugin caches @xl-openai
  • #26932 Use cached remote plugin catalog for plugin list @xl-openai
  • #26091 [codex] Add OTEL counter descriptions @richardopenai
  • #27081 feat(doctor): report editor and pager environment @fcoury-oai
  • #27084 chore: preserve one more schema layer during large tool compaction @celia-oai
  • #26840 Add typed file URIs @anp-oai
  • #27088 fix(tui): linkify complete bare URLs with tildes @fcoury-oai
  • #27068 Show effective sandbox modes in /debug-config @canvrno-oai
  • #27092 Add extra config to StoredThread, leave empty for now @kumquatexpress
  • #27096 Update web search citation prompt @yuning-oai
  • #25177 Preserve cloud requirements across TUI thread resets @canvrno-oai
  • #27106 [codex] Remove remote compaction failure log @pakrym-oai

Update Jun 8, 2026 tracked by Updatify

0.138.0

New Features

  • The /app command can now hand off the current CLI thread into Codex Desktop on macOS and native Windows, and Windows workspace launches can open directly into Desktop instead of stopping at a manual prompt. (#25638, #26500)
  • Local image attachments and standalone image generations now expose their saved file paths to the model, which makes follow-up edits and file references more reliable. (#25944, #25947)
  • Reasoning effort selection is more flexible: the TUI adds fallback shortcuts for terminals that miss Alt bindings, and model-defined effort levels now flow through in the order advertised by the model. (#25623, #26444, #26446)
  • App-server integrations can now read account token usage, and Codex auth supports v2 personal access tokens in CLI and app-server flows. (#25344, #25731)
  • Plugin automation got richer structured output: add/remove and marketplace commands support --json, plugin list JSON includes marketplace source, and plugin detail data now exposes default prompts, remote MCP servers, and unavailable app templates. (#26631, #26417, #25887, #26453, #26317)

Bug Fixes

  • Goal workflows are more predictable: multiline paste in /goal edit no longer submits early, idle auto-turns stay out of Plan mode, and goals stop auto-continuing after terminal turn failures. (#26047, #26147, #26690)
  • Forked threads now keep user-renamed titles instead of falling back to the original first-prompt name. (#26075)
  • The TUI no longer adds extra blank space while streaming, and cancelled prompts reopen with the cursor at the end so you can keep editing naturally. (#26636, #26457)
  • TUI config write failures now show the underlying cause, making validation problems and read-only filesystem issues much easier to diagnose. (#26537)
  • Startup is more resilient across environments, with support for /usr/bin/bash, shorter Linux proxy socket paths, and pre-refresh of expired OAuth-backed MCP credentials. (#26538, #26553, #26482)
  • Workspace instruction loading is more accurate for remote and symlinked workspaces, so the right AGENTS.md files are picked up consistently. (#26205, #26465)

Documentation

  • The CLI README was refreshed to remove stale guidance and better match the current documentation flow. (#26313)

Chores

  • TUI startup does less repeated plugin work by reusing discovery results and loading only hook metadata on the critical path. (#26469, #26272)
  • resume --last now finds the newest matching session through the state DB first, which speeds up restore on large local histories. (#26462)
  • Large MCP/Ollama streams and long message histories process much faster thanks to optimized byte scanning. (#26265)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.137.0…rust-v0.138.0

  • #26179 nit: small prompt update for MAv2 @jif-oai
  • #26175 feat: guard git enrichment @jif-oai
  • #26047 Fix multiline paste in /goal edit @etraut-openai
  • #25700 core: stop threading SandboxPolicy through exec @bolinfest
  • #25925 [codex] Copy user Bazel settings into Codex worktrees @anp-oai
  • #26216 [codex] Pin Python SDK to runtime 0.137.0a4 @aibrahim-oai
  • #25887 Preserve remote plugin default prompts @ericning-o
  • #25944 Expose local image paths to models @won-openai
  • #25469 [profile-switcher][rust] – [1/2] Add app-server account session protocol @dhruvgupta-oai
  • #26075 Fix forked thread name inheritance @etraut-openai
  • #25960 Restore Windows coverage for code-mode image generation exposure @won-openai
  • #26226 [codex] Split Python runtime release workflow @aibrahim-oai
  • #26254 feat: catalog multi-agent v2 config @jif-oai
  • #26251 Rewrite oversized tool outputs during remote compaction @pakrym-oai
  • #26260 codex-pr-body: avoid confidential references @anp-oai
  • #26074 Use Windows setup marker as completion signal @abhinav-oai
  • #26002 log plugin MCP server names @chrisdong-oai
  • #25623 fix(tui): add reasoning effort fallback shortcuts @fcoury-oai
  • #25638 feat(tui): add /app desktop handoff @fcoury-oai
  • #26189 cli: add package path from install context @bolinfest
  • #25946 [codex-analytics] report compaction request token counts @rhan-oai
  • #26252 ci: sign macOS release artifacts with Azure Key Vault @eburke-openai
  • #26367 chore: calm down @jif-oai
  • #26147 Gate automatic idle turns in Plan mode @jif-oai
  • #26172 Bridge host-loaded skills into the skills extension @jif-oai
  • #26265 Optimize unbounded byte scans with memchr @charliemarsh-oai
  • #26396 Reduce SQLite contention from OpenTelemetry SDK debug logs @zanie-oai
  • #26272 Load plugin hooks without other plugin capabilities @charliemarsh-oai
  • #26313 Simplify Codex CLI README @etraut-openai
  • #25947 Add saved image path hint to standalone image generation @won-openai
  • #26291 Bound external agent session detection work @stefanstokic-oai
  • #26417 Expose configured marketplace source in plugin list JSON @mpc-oai
  • #26436 app-server: support -c config overrides @bolinfest
  • #26435 external-agent-migration: avoid mixed MCP transport configs @stefanstokic-oai
  • #26248 [codex-analytics] emit forked thread id on initialization @kbazzi
  • #26320 core: allow excluding tool namespaces from code mode @sayan-oai
  • #25945 Use Azure artifact signing environment secrets @shijie-oai
  • #26205 Route AGENTS.md loading through environment filesystems @anp-oai
  • #26445 [codex] Fix Windows sandbox build script lint @pakrym-oai
  • #23710 build: use ThinLTO for release binaries @anp-oai
  • #26447 Remove response.processed websocket request @pakrym-oai
  • #26312 Cleanup experimentalFeature/enablement/set @mzeng-openai
  • #26444 [codex] Support model-defined reasoning efforts @aibrahim-oai
  • #26446 [codex] Use model-advertised reasoning effort order @aibrahim-oai
  • #26466 Use Winget release environment secret @shijie-oai
  • #26465 [codex] Preserve logical paths during AGENTS.md discovery @anp-oai
  • #26453 fix(app-server): expose remote MCP servers in plugin read @ericning-o
  • #26473 Add skill for pushing CI configuration changes @anp-oai
  • #26317 [codex] Expose unavailable app templates in plugin detail @charlesgong-openai
  • #26471 Improve Windows sandbox setup refresh diagnostics @iceweasel-oai
  • #26431 Pull plugin service less frequently @beggers-openai
  • #25000 ci: test windows cross build @cconger
  • #25955 [codex] Emit sandbox outcome telemetry event @rreichel3-oai
  • #26487 [codex] Add use_responses_lite ‘override’ logic @rka-oai
  • #26482 fix(rmcp): refresh expired OAuth tokens before startup @anp-oai
  • #26256 [codex] Keep Bazel startup options stable across commands @anp-oai
  • #26499 core: derive exec policy filesystem policy from profile @bolinfest
  • #26215 feat(remote-control): allow pairing while disabled @apanasenko-oai
  • #26480 [codex] Add environment shell info @pakrym-oai
  • #26210 Encrypt multi-agent v2 message payloads @jif-oai
  • #26566 nit: doc @jif-oai
  • #25710 [codex] Forward turn moderation metadata through app-server @carlc-oai
  • #26599 [codex] Keep v1 spawn metadata visible @jif-oai
  • #26610 refactor: split agent control modules @jif-oai
  • #25344 feat(app-server): expose account token usage [1 of 2] @fcoury-oai
  • #26553 [codex] Fix long proxy socket paths @viyatb-oai
  • #26537 Surface TUI config write error causes @etraut-openai
  • #26500 Open Windows app workspaces via deep link @etraut-openai
  • #26551 Fix /goal usage text for control commands @etraut-openai
  • #26554 Render code comment directives in TUI replay @etraut-openai
  • #26623 feat: reload v2 agents on delivery @jif-oai
  • #26532 Require absolute cwd in thread settings @pakrym-oai
  • #26625 [codex] Allow socketpair in proxy-routed Linux sandbox @viyatb-oai
  • #26538 [codex] Add /usr/bin/bash shell fallback @pakrym-oai
  • #26449 feat(remote-control): add pairing status transport @hefuc-oai
  • #26433 Make turn diff tracker multi-env aware @pakrym-oai
  • #26636 fix(tui): avoid doubled blank rows while streaming @fcoury-oai
  • #26450 feat(app-server): add remote control pairing status RPC @hefuc-oai
  • #26335 Clean up Rust release workflow @shijie-oai
  • #26547 [1 of 2] Align goal extension with core behavior @etraut-openai
  • #26181 fix(tui): Windows composer background @fcoury-oai
  • #26457 fix(tui): restore cancelled prompt cursor at end @fcoury-oai
  • #26307 [codex] Respect Windows sandbox backend in exec policy @iceweasel-oai
  • #26484 [codex] Add turn profiling analytics @aibrahim-oai
  • #26552 Make runtime workspace roots absolute in app-server API @pakrym-oai
  • #26462 Use state DB first for resume --last @charliemarsh-oai
  • #26469 Speed up TUI startup by reusing plugin discovery @charliemarsh-oai
  • #26631 Add JSON output for plugin subcommands @mpc-oai
  • #26669 [codex] Bound WSL local curated discovery @xl-openai
  • #26548 [2 of 2] Finish moving goal runtime to extension @etraut-openai
  • #26674 protocol: remove submission-side serde from Op @pakrym-oai
  • #26690 Block active goals after terminal turn errors @etraut-openai
  • #25936 [codex] Remove legacy remote plugin startup sync @xl-openai
  • #26490 [codex] Use standalone tools for Responses Lite @rka-oai
  • #26013 [codex] Gate terminal visualization instructions in TUI @vie-oai
  • #25731 [codex-rs] support v2 personal access tokens @cooper-oai
  • #26542 [codex] Send Responses Lite transport header @rka-oai
  • #24852 permissions: enforce managed permission profile allowlists @viyatb-oai
  • #26698 [codex] Deduplicate skill load warnings @xl-openai
  • #26716 Remove just bench-smoke from just test. @anp-oai

Update Jun 4, 2026 tracked by Updatify

0.137.0

New Features

  • TUI controls now support F13-F24 keybindings, paste in searchable menus, and a compact reasoning-only status/title item (#25329, #25400, #25504).
  • Enterprise/admin flows now show monthly credit limits and can apply cloud-managed config bundles, including EDU workspaces (#24812, #24617, #24619, #24620, #24622, #25963).
  • Remote-control clients can start pairing and list or revoke controller grants through app-server v2 RPCs (#25675, #25785).
  • Plugin workflows gained machine-readable codex plugin list --json output and cached remote catalog suggestions (#25330, #25457).
  • Hosted web and image tools are available in more code-mode flows, with standalone web searches able to run in parallel (#25176, #25702, #25890, #25923).
  • Multi-agent v2 keeps runtime choice with each thread and exposes cleaner follow-up and metadata defaults for spawned agents (#25266, #25636, #25720, #25721, #25722, #25841, #26114).

Bug Fixes

  • Cancelling a submitted prompt before visible output now restores the draft, attachments, and collaboration mode for editing (#25316).
  • Slash-command filtering and footer shortcut hints now reset or render according to the current UI state (#25492, #25625).
  • Platform reliability improved for macOS app launches and Windows SQLite startup, thread resume, and sandbox setup refreshes (#25485, #25490, #25509, #25949).
  • Plugin loading preserves app manifest order, deduplicates local/remote curated installs, and treats malformed skills fields as warnings (#25491, #25681, #25717, #25782).
  • Permission requests and approvals now carry environment identity, and managed MITM proxying exports readable CA bundles to child commands (#25850, #25858, #25862, #22668).
  • Local session history is safer for compressed rollouts, renamed titles, pathless side-chat reloads, and stack-heavy startup/config rebuilds (#25087, #25624, #25661, #25814, #25844, #25847).

Documentation

  • Added app-server docs and generated schema updates for monthly credit limits, remote-control RPCs, and environment-scoped permission approvals (#24812, #25675, #25785, #25862).
  • Moved repo review rules and contributor conventions into AGENTS.md, including Rust test-module layout and Python 3 compatibility guidance (#25682, #25690, #25738).

Chores

  • Root formatting and Justfile workflows are more complete and Windows-aware (#24983, #25165, #25683).
  • Rust CI and release workflows use the git CLI for Cargo fetches to avoid intermittent libgit2/submodule failures (#25644, #25775).
  • Python SDK releases now publish runtime wheels from the SDK workflow and pin to a glibc-compatible runtime package (#25906, #25907).
  • Bazel CI’s BuildBuddy wrapper was reintroduced with Windows-safe process handling and validation (#25915).
  • Shared prompts, context fragments, and skills plumbing moved into dedicated crates/extension paths to reduce codex-core coupling (#25151, #25953, #25959, #26106, #26122, #26167).

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.136.0…rust-v0.137.0

  • #25329 feat(tui): allow function keys through f24 in keymaps @fcoury-oai
  • #24617 Add config bundle transport types @joeflorencio-openai
  • #25435 Add build_unsigned_archive release mode @shijie-oai
  • #24619 Compose requirements layers @joeflorencio-openai
  • #24620 Add cloud-managed config layer support @joeflorencio-openai
  • #25462 Revert “Add build_unsigned_archive release mode” @shijie-oai
  • #25113 store and expose parent_thread_id on Threads @owenlin0
  • #25266 Set multi-agent v2 dogfood defaults @jif-oai
  • #25060 Add goal extension idle continuation @jif-oai
  • #25576 Use templates for goal steering prompts @jif-oai
  • #25577 Remove Plan-mode gate from idle turn injection @jif-oai
  • #25096 Add goal extension GoalApi @jif-oai
  • #25087 Read compressed rollouts and materialize before append @jif-oai
  • #25628 [codex] fix compressed rollout fixture SessionMeta initialization @fcoury-oai
  • #25316 feat(tui): restore output-free cancelled prompts @fcoury-oai
  • #23763 Preserve auto-review approval policy in codex exec @won-openai
  • #25400 Allow paste in searchable selection menus @charliemarsh-oai
  • #25485 Use deep links for macOS codex app paths @etraut-openai
  • #25492 Reset slash popup selection when filter changes @etraut-openai
  • #25504 Add reasoning-only status surface item @etraut-openai
  • #25624 Preserve renamed thread titles during reconciliation @jif-oai
  • #25089 Compress cold local rollouts @jif-oai
  • #25490 Disable SQLite intrinsics for Windows x64 releases @etraut-openai
  • #25603 [codex] Inherit raw events for spawned child listeners @vivi
  • #25644 [codex] Use git CLI for release Cargo fetches @shijie-oai
  • #25655 nit: drop todo @jif-oai
  • #25654 Parallelize cold rollout compression @jif-oai
  • #25121 exec-server: add environment path refs @starr-openai
  • #25636 [codex] Rename multi-agent v2 assign_task to followup_task @jif-oai
  • #25491 Preserve plugin app manifest order @charlesgong-openai
  • #24983 [codex] Make justfile recipes Windows-aware @iceweasel-oai
  • #25151 [codex] Consolidate shared prompts in codex-prompts @anp-oai
  • #25659 Throttle repeated rollout compression runs @jif-oai
  • #25165 Check root Python script formatting in CI @anp-oai
  • #23767 [codex-rs] auto-review model override @won-openai
  • #25149 exec-server: canonicalize bound filesystem paths @starr-openai
  • #25669 fix: deflake zsh-fork approval test @jif-oai
  • #24979 feat: gate unified exec zsh fork composition @bolinfest
  • #24980 refactor: hide shell override for zsh fork unified exec @bolinfest
  • #25679 Add rollout compression counters @jif-oai
  • #25682 [codex] document out-of-line test module convention @anp-oai
  • #25680 Add rollout compression histograms @jif-oai
  • #25689 [codex] Generalize deferred nested tool guidance @sayan-oai
  • #25690 Add Python version compatibility guidance @anp-oai
  • #25681 fix: Deduplicate installed local and remote curated plugins @xl-openai
  • #25701 fix: rename McpServer to TestAppServer @bolinfest
  • #25702 [codex] enable parallel standalone web search calls @sayan-oai
  • #25705 Fix stale TestAppServer rename in plugin_list test @bolinfest
  • #25684 Move tool search metadata onto ToolExecutor @jif-oai
  • #25625 fix(tui): clarify footer shortcut overlay hints @fcoury-oai
  • #25649 [codex] Publish release symbol artifacts @nornagon-openai
  • #25661 Reject directory rollout paths for pathless side chats @bolinfest
  • #22668 Wire managed MITM CA trust into child env @winston-openai
  • #25712 app-server: remove experimental persist_extended_history bool flag @owenlin0
  • #24621 Move cloud requirements crate to cloud config @joeflorencio-openai
  • #25717 Handle invalid plugin skills manifest field @xli-oai
  • #25675 feat(remote-control): add pairing start @apanasenko-oai
  • #25683 [codex] Add comprehensive root formatting check @anp-oai
  • #25738 Move code review rules into AGENTS @pakrym-oai
  • #24812 feat: show enterprise monthly credit limits in status @efrazer-oai
  • #25330 [codex] Add plugin list JSON output @xl-openai
  • #25457 [codex] Cache remote plugin catalog for suggestions @xl-openai
  • #25783 [codex] Move plugin discoverable logic into core-plugins @xl-openai
  • #25782 [codex] Validate plugin skill base names @xl-openai
  • #25814 feat: reuse compressed rollout search snippets @jif-oai
  • #25720 Add multi-agent runtime metadata types @jif-oai
  • #25721 Persist multi-agent runtime metadata @jif-oai
  • #25722 Resolve per-thread multi-agent runtime @jif-oai
  • #25841 session: keep startup prewarm aligned with resolved multi-agent runtime @jif-oai
  • #25840 fix: main oops @jif-oai
  • #25723 Test remote multi-agent runtime selector override @jif-oai
  • #25724 Test runtime selector before first turn @jif-oai
  • #25844 Reduce stack pressure in session startup and config rebuilds @jif-oai
  • #25857 flake: Keep plugin test homes alive @jif-oai
  • #25847 Run Codex async main on a sized stack @jif-oai
  • #25775 [codex] Use git CLI for Cargo fetches across Rust workflows @anp-oai
  • #25167 [app-server][core] Add connector-level Guardian reviewer overrides @zamoshchin-openai
  • #25868 Skip startup prewarm when websockets are disabled @jif-oai
  • #25156 Route Bazel CI through shared BuildBuddy remote config wrapper @anp-oai
  • #25739 core: derive built-in permission profiles from raw policies @bolinfest
  • #25909 [codex] Revert shared BuildBuddy Bazel wrapper @anp-oai
  • #25850 Key request-permission grants by environment @jif-oai
  • #25707 [codex-analytics] Track CodexErr details in turn analytics @rhan-oai
  • #25858 Add environmentId to request_permissions @jif-oai
  • #25176 Route standalone image generation through host finalization md @won-openai
  • #25916 Fix Windows release PDB staging @shijie-oai
  • #25862 Propagate permission approval environment id @jif-oai
  • #25907 [codex] Pin Python SDK to glibc-compatible runtime @aibrahim-oai
  • #24859 Use environment secrets for Azure signing @shijie-oai
  • #25509 Fix Windows running thread resume path normalization @etraut-openai
  • #25135 Populate workspace kind on Codex turn events @knittel-openai
  • #24622 Switch runtime to cloud config bundle @joeflorencio-openai
  • #25938 fix: update image generation test helper rename @joeflorencio-openai
  • #25911 core: stop passing legacy SandboxPolicy to guardian reviews @bolinfest
  • #25668 Split cloud config bundle service modules @joeflorencio-openai
  • #25890 [codex] Keep hosted tools visible in code-only mode @aibrahim-oai
  • #25867 Add remote request permissions integration coverage @jif-oai
  • #25943 config: remove dead profile sandbox fallback @bolinfest
  • #25948 Revert “Use environment secrets for Azure signing” @shijie-oai
  • #25923 Expose standalone image generation in code mode @won-openai
  • #25906 [codex] Publish Python runtime wheels with Python SDK releases @aibrahim-oai
  • #25953 feat: add skills extension scaffold @jif-oai
  • #25915 [codex] Fix Windows BuildBuddy Bazel wrapper execution @anp-oai
  • #25926 config: express implicit sandbox defaults as permission profiles @bolinfest
  • #25959 feat: add extension turn-input contributors @jif-oai
  • #25963 Allow EDU accounts to fetch cloud config bundles @joeflorencio-openai
  • #25785 feat(app-server): add remote control client management RPCs @apanasenko-oai
  • #25988 revert: publish release symbol artifacts @shijie-oai
  • #26114 feat: default hide_spawn_agent_metadata to true @jif-oai
  • #26122 chore: extract context fragments into dedicated crate @jif-oai
  • #26144 Reject MAv2 close_agent self-targets @jif-oai
  • #26106 skills: resolve per-turn catalogs from turn input context @jif-oai
  • #26155 fix: serialize goal progress accounting @jif-oai
  • #26156 chore: mechanical rename @jif-oai
  • #26167 Implement v1 skills extension prompt injection @jif-oai
  • #26176 fix: main @jif-oai
  • #25949 [codex] Restore setup helper UAC manifest @iceweasel-oai

Update Jun 1, 2026 tracked by Updatify

0.136.0

New Features

  • TUI markdown now keeps web links clickable with OSC 8 metadata, and cramped tables switch to readable key/value records without losing link targets. (#24472, #24636, #24825)
  • Sessions can now be archived from the TUI with /archive or from the CLI with codex archive / codex unarchive; archived sessions are protected from resume/fork until restored. (#25027, #25021)
  • App-server integrations can resume a thread with its initial turns page, see richer MCP server status, and launch stdio mode with codex app-server --stdio. (#23534, #24698, #24940)
  • Remote execution setup now supports CODEX_API_KEY registration for approved OpenAI hosts, while remote-control websockets use short-lived server tokens instead of ChatGPT access tokens. (#24666, #24141)
  • Windows admins get an alpha codex sandbox setup --elevated provisioning path, plus requirements support for allowed Windows sandbox implementations. (#24831, #23766)
  • A feature-gated standalone image generation extension can run through the native Codex image artifact completion pipeline. (#24723, #24972)

Bug Fixes

  • ChatGPT auth refreshes tokens before the five-minute expiry window and shows a relogin-required path for reused refresh tokens instead of collapsing into a generic cloud error. (#23546, #24830)
  • Command-safety hardening prevents /diff from running repository-provided Git helpers/hooks, avoids PowerShell parser execution on non-Windows hosts, and rejects browser-origin exec-server websocket handshakes. (#24954, #24946, #24947)
  • Sandboxed commands clean up more reliably after interruptions or denied Windows network attempts, and deny read rules stay enforced for safe-command and approval-bypass paths. (#22729, #19880, #23943)
  • Resumed TUI sessions seed prompt history from the session transcript, multiline hook output renders as separate rows, and Vim normal-mode editing behaves correctly. (#24298, #24965, #25022)
  • App-server filesystem watchers debounce later batches correctly, and standalone web search calls now show and restore completed search activity. (#24716, #24693)
  • Bedrock auth now falls back to AWS_REGION / AWS_DEFAULT_REGION, and unsupported Bedrock GPT service tiers are no longer advertised or sent. (#25171, #25318)

Documentation

  • Python SDK beta docs and package metadata now present the standard pip install openai-codex path, refreshed quickstarts, API reference, FAQ, and examples. (#24836, #24866, #24868, #24870)
  • Python SDK examples and docs now use the public CodexConfig name for configuring Codex / AsyncCodex. (#24800)
  • The bundled OpenAI Docs skill was updated with current Codex manual routing and a cached manual fetch helper. (#24914)
  • Built-in tool schema descriptions now clarify defaults, optional fields, bounds, and enums across shell, Code Mode, MCP, image, goal, plan, multi-agent, and related tools. (#24794)
  • App-server and exec-server docs now cover API-key remote registration, --stdio, runtime extra skill roots, and remote-control server-token behavior. (#24666, #24940, #24977, #24141)

Chores

  • Python SDK releases can now be staged and published independently from runtime releases using python-v* tags while preserving the reviewed runtime dependency pin. (#24828, #24872)
  • Updated MCP dependencies to rmcp 1.7.0 and refreshed compatibility code. (#24763)
  • Refreshed Amazon Bedrock catalog metadata, including GPT-5.5, removal of unsupported OSS entries, and default-tier-only GPT model behavior. (#24701, #24960, #25318)
  • Removed the stale app-server debug-client pieces and cleaned up the workspace after deletion. (#25063, #25064, #25065, #25066, #25067, #25068, #25069, #25070, #25075)
  • Trimmed CI/build maintenance by moving Bazel Windows jobs to Codex runners, removing the libubsan workaround, and reverting the startup benchmark that broke musl builders. (#24952, #24782, #24937)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.135.0…rust-v0.136.0

  • #22729 fix(linux-sandbox): preserve shell cleanup on interruption @viyatb-oai
  • #24472 feat(tui): add OSC 8 web links to rich content @fcoury-oai
  • #24636 feat(tui): render cramped markdown tables as key-value records [2 of 2] @fcoury-oai
  • #24666 Allow API-key auth for remote exec-server registration @sdcoffey
  • #24763 Update rmcp to 1.7.0 @anp-oai
  • #24825 [codex] Fix hyperlink-aware key-value table rendering @sayan-oai
  • #24800 [codex] Rename Python SDK AppServerConfig to CodexConfig @aibrahim-oai
  • #24819 [codex] Remove redundant SQLite dynamic tool storage @sayan-oai
  • #24828 [codex] Add independent beta release for the Python SDK @aibrahim-oai
  • #24836 [codex] Prepare Python SDK beta documentation and package metadata @aibrahim-oai
  • #24830 Treat refresh_token_reused 400s as relogin-required @alexsong-oai
  • #24866 [codex] Simplify Python SDK install guidance @aibrahim-oai
  • #24868 [codex] Remove Python SDK language classifiers @aibrahim-oai
  • #24870 [codex] Remove Python SDK beta warning note @aibrahim-oai
  • #24872 [codex] Stage Python SDK beta versions from release tags @aibrahim-oai
  • #24758 Move memories root setup out of core config @jif-oai
  • #24891 Stabilize Guardian client cache key handling @jif-oai
  • #24892 Export Guardian prompt cache key helper @jif-oai
  • #24893 Add Guardian review prompt cache key @jif-oai
  • #24894 Assert Guardian prompt cache key reuse @jif-oai
  • #24895 Thread Guardian cache key through session @jif-oai
  • #24803 Use stable Guardian prompt cache keys @jif-oai
  • #24902 [codex] Fix Guardian argument comment lint @jif-oai
  • #24898 Fix memories namespace for Responses API tools @jif-oai
  • #24897 Add Guardian review metrics @jif-oai
  • #23546 [codex-cli] Refresh near-expiry ChatGPT access tokens before requests @cooper-oai
  • #24915 Add thread start contributor facts @jif-oai
  • #24916 Add turn error lifecycle contributor @jif-oai
  • #24865 [codex] Store pending response items directly @pakrym-oai
  • #24914 [codex] Update OpenAI Docs skill @vb-openai
  • #24651 Add app-server startup benchmark crate @anp-oai
  • #24925 Gate goal tools by thread eligibility @jif-oai
  • #24782 Remove libubsan CI workaround @anp-oai
  • #24813 extension-api: add TurnItemEmitter to tool calls @sayan-oai
  • #23534 feat(app-server): include turns page on thread resume @btraut-openai
  • #24698 Expose MCP server info as part of server status @gpeal
  • #24903 Reap stale multi-agent slots @jif-oai
  • #24936 Fix extension turn item emitter test event ordering @bolinfest
  • #24700 [codex] Support ui visibility meta for tools @gpeal
  • #24701 chore: add GPT-5.5 to the Amazon Bedrock catalog @celia-oai
  • #23363 TUI: Unified mentions tweaks + polish mentions rendering @canvrno-oai
  • #24937 Revert “Add app-server startup benchmark crate” @anp-oai
  • #24928 Wire task completion into thread-idle lifecycle @jif-oai
  • #24723 Add feature-gated standalone image generation extension @won-openai
  • #24952 Move Bazel Windows jobs onto codex-runners @anp-oai
  • #24940 Add codex app-server --stdio alias @anp-oai
  • #24954 fix(tui): prevent repository-configured code execution in /diff @fcoury-oai
  • #24949 [codex] Handle PowerShell UTF-8 setup failures @iceweasel-oai
  • #24960 [codex] Remove Bedrock OSS models from catalog @celia-oai
  • #23768 runtime: prepend zsh fork bin dir to PATH @bolinfest
  • #19880 fix: cancel Windows sandbox on network denial @viyatb-oai
  • #24947 fix(exec-server): reject websocket requests with Origin headers @viyatb-oai
  • #24653 [codex] Add user input client ids @alexi-openai
  • #23924 Surface filesystem permission profiles in prompt context @bolinfest
  • #24108 windows-sandbox: pass workspace roots to runner @bolinfest
  • #24974 windows-sandbox: fix capture cancellation test roots @bolinfest
  • #24962 Tighten hook output event schemas @abhinav-oai
  • #24141 feat(app-server): migrate remote control to server tokens @apanasenko-oai
  • #24970 fix(config): use deny for Unix socket permissions @viyatb-oai
  • #24946 [codex] Avoid PowerShell safety parsing off Windows @adrian-openai
  • #24977 Add runtime extra skill roots API @xl-openai
  • #24298 Seed prompt history from resumed messages @etraut-openai
  • #23943 fix: preserve deny-read sandboxing for safe commands @bolinfest
  • #24716 Fix fs/watch debounce batching @etraut-openai
  • #24918 Use internal model context fragments for goal steering @jif-oai
  • #24924 Use inject_if_running for active goal steering @jif-oai
  • #25063 Drop the stale debug-client manifest @jif-oai
  • #25064 Remove the generated debug-client README @jif-oai
  • #25065 Delete debug-client app-server process plumbing @jif-oai
  • #25066 Retire debug-client interactive command parsing @jif-oai
  • #25067 Remove the debug-client CLI entrypoint @jif-oai
  • #25068 Delete debug-client JSONL output helper @jif-oai
  • #25069 Remove debug-client server event reader @jif-oai
  • #25070 Drop debug-client prompt state tracking @jif-oai
  • #25075 fix: main @jif-oai
  • #24794 [codex] Improve built-in tool schema docs @jif-oai
  • #25095 Handle goal usage limits from turn errors @jif-oai
  • #25106 Remove stale rollout TODO tests @jif-oai
  • #24965 Render multiline hook output in TUI @abhinav-oai
  • #25031 [codex] Add model tool mode selector @aibrahim-oai
  • #24693 Show activity for standalone web search calls @sayan-oai
  • #25110 Move config document helpers into their own module @jif-oai
  • #25013 feat: Add focused diagnostics for MCP HTTP send failures @xl-openai
  • #24964 [codex] Wait for MCP readiness in core integration tests @anp-oai
  • #24972 Route extension image generation through the native image completion pipeline @won-openai
  • #24831 Add Windows sandbox provisioning setup command @iceweasel-oai
  • #25017 Align TUI permissions labels with app @etraut-openai
  • #25027 Add /archive slash command @etraut-openai
  • #25035 Use session wording in /rename confirmation @etraut-openai
  • #24161 Add subagent lineage metadata for responsesapi @owenlin0
  • #25116 [exec-server] Kill dropped filesystem helpers @erichoracek
  • #24180 code-mode: introduce durable session interface @cconger
  • #23165 thread-store: store permission profiles @bolinfest
  • #25131 [codex] Require model for standalone web search @sayan-oai
  • #25134 ci: use issue triage environment for issue workflows @etraut-openai
  • #25118 exec-server: preserve fs helper CoreFoundation env @starr-openai
  • #25022 [codex] Fix Vim normal mode editing @jinghanx88
  • #25161 Recommend Bazel VSCode extension. @anp-oai
  • #24996 Filter plugin install suggestions by installed apps @nm-openai
  • #23766 Constrain Windows sandbox requirements @abhinav-oai
  • #25172 [codex] Update remote connector suggestions @ericning-o
  • #25171 fix: Bedrock API key region fallback @celia-oai
  • #24541 feat(config) experimental_request_user_input toggle @dylan-hurd-oai
  • #25021 Add thread archive CLI commands @etraut-openai
  • #25267 Rename multi-agent v2 assignment tool @jif-oai
  • #25318 fix: Limit Bedrock GPT models to default service tier @owenlin0
  • #25381 [codex] Avoid forced directory refresh during plugin install auth checks @xl-openai

Update May 28, 2026 tracked by Updatify

0.135.0

New Features

  • codex doctor now reports richer environment, Git, terminal, app-server, and thread inventory diagnostics for support cases. (#24261, #24311, #24305)
  • /status shows remote connection details and server version when the TUI is connected over a remote transport. (#24420)
  • Vim mode gained text-object editing, improved word/line-end behavior, and a configurable interrupt-turn binding. (#24382, #24380, #24766)
  • /permissions now understands named permission profiles and displays configured custom profiles. (#21559)
  • Packaged Codex builds can discover and use the bundled patched zsh helper across supported macOS and Linux targets. (#23756, #24171)
  • The Python SDK now exposes friendly Sandbox presets for thread and turn APIs. (#24772)
  • install.sh/install.ps1 supports a non-interactive installation mode when CODEX_NON_INTERACTIVE=1 is set. (#21567)

Bug Fixes

  • Markdown tables and multiline lists render more readably in the TUI, with better column sizing and app-style table formatting. (#24489, #24346, #24351)
  • TUI output is more stable on macOS and Zellij, avoiding stderr/composer corruption and raw-output overlap. (#24459, #24479, #24593)
  • Slash-command completion now preserves existing draft text for commands that accept inline arguments. (#23950)
  • Older tmux/iTerm control-mode sessions no longer lose normal Ctrl-C handling from unsupported keyboard enhancement setup. (#24371)
  • App mentions now exclude inaccessible or disabled apps instead of offering unusable $ suggestions. (#24625)
  • Resume flows now include non-interactive exec sessions when requested and honor cwd overrides for idle cached threads. (#24503, #24528)

Documentation

  • Clarified image-viewing tool detail behavior and removed stale TUI composer documentation references. (#23949, #24641)
  • Updated Python SDK docs, examples, and notebook content to use the new sandbox preset API. (#24772)

Chores

  • Updated Rust toolchain pins and SQLx/SQLite dependencies. (#24684, #24728)
  • Moved memory runtime state into a dedicated SQLite database. (#24591)
  • Removed remaining legacy config-profile consumers and routed more TUI config/plugin state through app-server-owned APIs. (#24076, #24254, #24255, #24265, #24266, #24257)
  • Centralized Responses retry handling and MCP tool naming logic to reduce duplicated internal plumbing. (#24131, #21576)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.134.0…rust-v0.135.0

  • #24164 fix(remote-control): cap reconnect backoff @apanasenko-oai
  • #23756 package: include zsh fork in Codex package @bolinfest
  • #23757 Default function tools into tool hooks @abhinav-oai
  • #24171 package: add x64 macOS codex-zsh artifact @bolinfest
  • #24159 code-mode: merge stored values by key @cconger
  • #23983 fix: plugin bundle archive handling for upload and install @xl-openai
  • #24261 feat(doctor): add environment diagnostics @fcoury-oai
  • #24311 Report app-server version in codex doctor @etraut-openai
  • #24314 tui: label compact rate-limit percentages @etraut-openai
  • #24420 Show remote connection details in /status @etraut-openai
  • #24317 Respect hook trust bypass during TUI startup @etraut-openai
  • #24254 TUI config cleanup: oss_provider @etraut-openai
  • #24255 TUI config cleanup: trusted projects @etraut-openai
  • #24265 TUI config cleanup: MCP inventory @etraut-openai
  • #24305 Add doctor thread inventory audit @etraut-openai
  • #24346 fix(tui): improve markdown table column allocation @fcoury-oai
  • #24351 fix(tui): improve multiline markdown list readability @fcoury-oai
  • #24459 fix(tui): prevent macos stderr from corrupting composer @fcoury-oai
  • #24479 fix(process-hardening): preserve macos malloc diagnostics @fcoury-oai
  • #24474 Log rollout writer OS errors @etraut-openai
  • #24076 chore: stop consuming legacy config profiles @jif-oai
  • #24131 centralize Responses retry policy @rhan-oai
  • #23858 [wip] goal shift @jif-oai
  • #24555 chore: drop orphaned codex memories MCP crate @jif-oai
  • #24558 chore: move memory prompt builder into extension @jif-oai
  • #24562 Add ad-hoc memory note tool @jif-oai
  • #24567 Wire metrics client into memories extension @jif-oai
  • #24588 fix: drop flake @jif-oai
  • #24583 Add memory tool call metrics to memories extension @jif-oai
  • #24586 Wire app-server extension event sink @jif-oai
  • #24532 Use thread config for TUI MCP inventory @etraut-openai
  • #24105 [codex] Make active turn task singular @pakrym-oai
  • #21576 Move MCP tool naming mode into manager @pakrym-oai
  • #24503 tui: include exec sessions in resume list @etraut-openai
  • #24600 feat: gate dedicated memories tools in config @jif-oai
  • #21559 tui: add named permission profile picker @viyatb-oai
  • #24608 feat: add manual and remote_v2 tags to compaction metric @jif-oai
  • #24611 test: clean up apply_patch allow-session artifact @jif-oai
  • #24609 Remove reserved namespaces dedup @pakrym-oai
  • #23964 Move slash input logic out of chat composer @canvrno-oai
  • #24615 Add goal extension telemetry parity @jif-oai
  • #24371 fix(tui): avoid modifyOtherKeys for unknown tmux formats @fcoury-oai
  • #24626 fix: restore goal accounting after thread resume @jif-oai
  • #24591 Move memory state to a dedicated SQLite DB @jif-oai
  • #23823 standalone websearch extension @sayan-oai
  • #24593 fix(tui): keep raw output above composer in zellij @fcoury-oai
  • #24625 tui: keep inaccessible apps out of mentions @canvrno-oai
  • #24154 Add experimental turn additional context @pakrym-oai
  • #24473 fix(remote-control): surface websocket task stalls @apanasenko-oai
  • #24528 Respect resume cwd overrides for idle cached threads @etraut-openai
  • #24160 Add forked_from_thread_id turn metadata @owenlin0
  • #24646 make direct only allowed caller for standalone websearch @sayan-oai
  • #23949 Clarify view_image tool description @fjord-oai
  • #24266 TUI config cleanup: plugin mentions @etraut-openai
  • #24320 Avoid repeated marketplace upgrades for alternate layouts @etraut-openai
  • #23813 windows-sandbox: remove SandboxPolicy runner plumbing @bolinfest
  • #24652 [codex] remove plain image wrapper spans @pakrym-oai
  • #24623 Attach Windows sandbox log to feedback reports @iceweasel-oai
  • #24644 Restore legacy image detail values @rhan-oai
  • #24655 [codex-analytics] add grouped session id to runtime events @marksteinbrick-oai
  • #24658 [codex] Remove obsolete goal continuation turn marker @pakrym-oai
  • #24660 fix: dont compact standalone websearch schema @sayan-oai
  • #24667 fix(core): instrument stalled tool-listing handoff @apanasenko-oai
  • #24684 Uprev Rust toolchain pins to 1.95.0 @anp-oai
  • #21567 fix: add noninteractive install script mode @efrazer-oai
  • #24707 Allow runtime enablement for remote plugins @xl-openai
  • #24714 fix(auto-review) skip legacy notify for auto review threads @dylan-hurd-oai
  • #24690 Revert “Add Bedrock Mantle GovCloud region (#23860)” @celia-oai
  • #24628 feat: handle goal usage limits in goal extension @jif-oai
  • #24746 Fix guardian review test user input @jif-oai
  • #24744 feat: add thread idle lifecycle hook @jif-oai
  • #24751 Drop startup context when truncating forked rollouts @jif-oai
  • #24257 TUI config cleanup: plugin marketplace @etraut-openai
  • #24380 fix(tui): complete vim word-end and line-end behavior @fcoury-oai
  • #24728 Bump SQLx to pick up newer bundled SQLite @jif-oai
  • #24637 fix: run standalone updates noninteractively @efrazer-oai
  • #24778 make vercel webhook url an env secret @sayan-oai
  • #23950 fix: Preserve draft text when completing argument-taking slash commands @canvrno-oai
  • #24641 [codex] Remove stale composer narrative doc references @canvrno-oai
  • #24368 [codex] add compaction metadata to turn headers @ningyi-oai
  • #24772 [codex] Add friendly Python SDK sandbox presets @aibrahim-oai
  • #24382 feat(tui): add vim text object bindings @fcoury-oai
  • #24766 feat(tui): make turn interruption keybind configurable @fcoury-oai
  • #24489 feat(tui): render markdown tables in app style [1 of 2] @fcoury-oai
  • #24713 chore: enable namespace tools for Bedrock @celia-oai

Update May 26, 2026 tracked by Updatify

0.134.0

New Features

  • Added search across local conversation history, including case-insensitive content matches with result previews. (#23519, #23921)
  • Made --profile the primary profile selector across CLI, TUI permissions, and sandbox flows, with legacy profile configs rejected through migration guidance. (#23708, #23883, #23890, #24051, #24055, #24059, #24067, #24110)
  • Improved MCP setup with per-server environment targeting and OAuth options for streamable HTTP servers. (#23583, #24120)
  • Made connector tool schemas more reliable by preserving local $ref/$defs structures and compacting oversized schemas before exposure. (#23357, #23904)
  • Let read-only MCP tools run concurrently when they advertise readOnlyHint. (#23750)
  • Added richer extension and hook context, including conversation history for extension tools and subagent identity in hook inputs. (#22882, #23963)

Bug Fixes

  • Improved remote reliability by reconnecting stale exec-server websocket clients, retrying remote control immediately after auth recovery, and retrying remote compaction v2 streams. (#23867, #23775, #23951)
  • Fixed Windows TUI rendering corruption by restoring virtual terminal mode before drawing. (#24082)
  • Displayed workspace-specific usage-limit messages for credit and spend-cap failures. (#24114)
  • Allowed plugin skills to reuse shared plugin-level icon assets. (#23776)
  • Preserved active permission profile metadata when syncing auto-review runtime settings. (#23956)
  • Ensured Node-based tools honor Codex’s managed network proxy environment. (#23905)

Documentation

  • Documented the curl and PowerShell installer paths in the README. (#24106)
  • Updated developer docs to prefer just test over direct cargo test for repo-local test runs. (#23910)
  • Added profile migration documentation links to relevant config errors. (#23879)

Chores

  • Simplified release packaging around canonical native artifacts, reusable DotSlash fetching, and a new macOS x64 zsh artifact. (#23833, #23836, #24129, #24165)
  • Added release-build support for Codex-produced V8 artifacts. (#23934)
  • Added image re-encoding benchmarks and connector-style JSON schema policy fixtures. (#23935, #24152)
  • Improved tracing and analytics for websocket requests, turn starts, and remote compaction v2. (#23581, #23980, #24146)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.133.0…rust-v0.134.0

  • #23581 Trace logical websocket request after untraced warmup @jif-oai
  • #23718 [codex] Steer budget-limited goal extension turns @jif-oai
  • #23861 fix: cargo lock @jif-oai
  • #23728 feat: retain remote compaction truncation parity in v2 @jif-oai
  • #23870 Make tool executor specs mandatory @jif-oai
  • #23882 [codex] Stabilize subagent start hook test @jif-oai
  • #23876 refactor: centralize tool exposure planning @jif-oai
  • #23879 chore: link doc in profile error messages @jif-oai
  • #23883 cli: rename profile v2 flag to –profile @jif-oai
  • #23835 docs: add description to codex-cli/package.json @bolinfest
  • #23583 Route MCP servers through explicit environments @starr-openai
  • #23886 cli: remove legacy profile v1 plumbing @jif-oai
  • #23708 tui: plumb permission profile selection @viyatb-oai
  • #23833 packaging: move rg manifest out of npm bin @bolinfest
  • #23796 Improve /goal error messages for ephemeral sessions @etraut-openai
  • #23867 Reconnect disconnected exec-server websocket clients with fresh sessions @starr-openai
  • #23792 TUI: skip goal replace prompt for completed goals @etraut-openai
  • #23519 [codex] Add rollout-backed thread content search @fc-oai
  • #22552 Remove plugin hooks feature flag @abhinav-oai
  • #23836 npm: remove legacy package artifact synthesis @bolinfest
  • #23921 [codex] Make thread search case-insensitive @fc-oai
  • #23775 fix(remote-control): retry after auth recovery @apanasenko-oai
  • #22882 Add subagent identity to hook inputs @abhinav-oai
  • #22915 [3 of 4] tui: route feature and memory toggles through app server @etraut-openai
  • #23776 fix: Allow plugin skills to share plugin-level icon assets @xl-openai
  • #23860 Add Bedrock Mantle GovCloud region @CHARLESPALEN-OAI
  • #23956 Fix auto-review permission profile override @etraut-openai
  • #23357 feat: support local refs and defs in tool input schemas @celia-oai
  • #23963 Expose conversation history to extension tools @sayan-oai
  • #23904 feat: best-effort compact large tool schemas @celia-oai
  • #23750 Allow parallel MCP tool calls when annotated readOnly @anp-oai
  • #23905 [codex] Enable Node env proxy for managed network proxy @rreichel3-oai
  • #23890 mcp: surface profile migration guidance under –profile @jif-oai
  • #24051 config: remove legacy profile v1 resolution @jif-oai
  • #24055 config: remove legacy profile write paths @jif-oai
  • #24057 Avoid config snapshots in live agent subtree traversal @jif-oai
  • #24061 otel: drop legacy profile usage telemetry @jif-oai
  • #24059 fix: reject legacy profile selectors @jif-oai
  • #23934 ci: Use codex produced v8 artifacts for release builds @cconger
  • #24099 fix(app-server): fix optional bool annotations @owenlin0
  • #23910 Prefer just test over cargo test in docs @anp-oai
  • #23951 retry remote compaction v2 requests @rhan-oai
  • #24081 tui: make codex-tui.log opt-in @jif-oai
  • #24102 cli: infer host sandbox backend @bolinfest
  • #24067 app-server: drop legacy profile config surface @jif-oai
  • #23736 Add new enterprise requirement gate @adams-oai
  • #24117 [codex] Use rolling files for Windows sandbox logs @iceweasel-oai
  • #24106 docs: update README.md to mention curl-based installer @bolinfest
  • #24082 fix(tui): restore Windows VT before TUI renders @fcoury-oai
  • #24110 cli: support –profile for codex sandbox @bolinfest
  • #23980 Add trace_id to TurnStartedEvent @mchen-oai
  • #24120 Support OAuth options in codex mcp add @mzeng-openai
  • #23989 Add typed Images client to codex-api @won-openai
  • #24146 [codex-analytics] split compaction v2 analytics implementation @rhan-oai
  • #24129 package: factor DotSlash executable fetching @bolinfest
  • #24151 [codex] Use TurnInput for session task input @pakrym-oai
  • #23935 [codex] Add image re-encoding benchmarks @anp-oai
  • #24152 chore: add JSON schema policy fixture coverage @celia-oai
  • #24157 [codex] Remove external client session reset plumbing @pakrym-oai
  • #24114 Display workspace usage limit error copy from response header @dhruvgupta-oai
  • #24165 release: build macOS x64 zsh artifact @bolinfest

Update May 21, 2026 tracked by Updatify

0.133.0

New Features

  • Goals are now enabled by default, backed by dedicated storage, and track progress across active turns. (#23300, #23685, #23696, #23732)
  • codex remote-control now runs like a foreground command, waits for readiness, reports machine status, and keeps explicit daemon-style start/stop commands. (#22878)
  • Permission profiles gained list APIs, inheritance, managed requirements.toml support, runtime refresh behavior, and stronger Windows sandbox integration. (#22928, #23412, #22270, #23433, #22931, #23715)
  • Plugin discovery is easier to inspect, with marketplace-aware list output, installed versions, visible marketplace roots, and remote collection support. (#23372, #23584, #23727, #23730)
  • Extensions can observe more lifecycle events, including subagent start/stop, tool execution, turn metadata, and async approval/turn processing. (#22782, #22873, #23309, #23688, #23690, #23692)

Bug Fixes

  • Fixed TUI startup choosing the wrong working directory when reusing a local app-server socket. (#23538)
  • Fixed plan-mode free-form answers so modified Enter keys, like Shift+Enter, no longer submit unexpectedly. (#23536)
  • Removed stale background terminal poll events after a process exits. (#23231)
  • Preserved raw code-mode exec output unless an explicit output token limit is requested. (#23564)
  • Made AGENTS instruction loading more reliable, including local global reads and warnings for invalid UTF-8 instead of silent drops. (#23343, #23232)
  • Fixed app-server startup/shutdown races, empty resume/fork paths, plugin upgrade failures, and realtime v1 websocket compatibility. (#23516, #23578, #23400, #23356, #23771)

Documentation

  • Added clearer plugin-creator guidance for updating and reinstalling local personal plugins. (#23542)
  • Expanded app-server/API docs and schema coverage around managed permission profile requirements. (#23433, #23555)

Chores

  • Added a canonical Codex package archive pipeline and moved installers, npm packages, DotSlash, and SDK runtimes toward that shared layout. (#23513, #23582, #23586, #23596, #23635, #23636, #23637, #23638, #23786)
  • Fixed Linux Python runtime wheel tags so glibc-based systems can install the runtime artifacts. (#21812)
  • Improved release and CI reliability with package-builder tests, prebuilt resource packaging, DotSlash zstd handling, platform-sharded Rust tests, and Codex Linux release runners. (#23760, #23759, #23752, #23358, #23761)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.132.0…rust-v0.133.0

  • #23343 codex: route global AGENTS reads through LOCAL_FS @starr-openai
  • #22380 fix: default unknown tool schemas to empty schemas @celia-oai
  • #23309 Add tool lifecycle extension contributor @jif-oai
  • #23253 Reduce rust-ci-full Windows nextest timeout flakes @starr-openai
  • #22878 Improve codex remote-control CLI UX @owenlin0
  • #21812 Publish Linux runtime wheels with glibc-compatible tags @aibrahim-oai
  • #22709 [codex] Trim unused TurnContextItem fields @pakrym-oai
  • #23353 Include plugin id in plugin MCP tool metadata @mzeng-openai
  • #22728 [codex] Move pending input into input queue @pakrym-oai
  • #23371 fix(tui): warn on unsupported iTerm2 pet versions @fcoury-oai
  • #23376 [codex-analytics] preserve user thread source for exec threads @marksteinbrick-oai
  • #23360 app-server: use profile ids in v2 permission params @bolinfest
  • #23384 [codex] Remove external websocket session resets @pakrym-oai
  • #22721 cleanup: Remove skill env var dependency prompting @xl-openai
  • #23389 Remove ToolSearch feature toggle @sayan-oai
  • #23080 [1 of 7] Add thread settings to UserInput @etraut-openai
  • #23081 [2 of 7] Remove UserInputWithTurnContext @etraut-openai
  • #23075 [3 of 7] Remove UserTurn @etraut-openai
  • #23396 [codex] Extract turn skill and plugin injections @pakrym-oai
  • #23356 fix(plugins): keep version upgrades additive @iceweasel-oai
  • #22508 [5 of 7] Replace OverrideTurnContext with ThreadSettings @etraut-openai
  • #22086 CI: Customize v8 building @cconger
  • #23390 Remove explicit connector tool undeferral @sayan-oai
  • #22928 core: expose permission profile picker metadata @viyatb-oai
  • #23352 Preserve context baselines for full-history agent forks @jif-oai
  • #23300 feat: dedicated goal DB @jif-oai
  • #22835 Remove ToolsConfig from tool planning @jif-oai
  • #22870 Add body_after_prefix auto-compact token limit scope @jif-oai
  • #23144 Defer v1 multi-agent tools behind tool search @jif-oai
  • #23409 [codex] Allow empty turn/start requests @pakrym-oai
  • #23388 [codex] Move hook request plumbing into hook runtime @pakrym-oai
  • #23405 [codex] Preserve steer input as user input @pakrym-oai
  • #22914 [2 of 4] tui: route app and skill enablement through app server @etraut-openai
  • #23397 [codex] Make contextual user fragments dyn-renderable @pakrym-oai
  • #23475 chore: namespace v1 sub-agent tools @jif-oai
  • #23493 Make deny canonical for filesystem permission entries @viyatb-oai
  • #22929 Harden CLI rate limit window labels @ase-openai
  • #22782 Add SubagentStart hook @abhinav-oai
  • #23513 build: add Codex package builder @bolinfest
  • #23369 Make local environment optional in EnvironmentManager @starr-openai
  • #23327 Refactor exec-server websocket pump @starr-openai
  • #23536 fix(tui): preserve modified enter in plan questions @fcoury-oai
  • #23400 Fix empty rollout path app-server handling @wiltzius-openai
  • #23551 Route local-only app-server gating through processors @starr-openai
  • #23372 Split plugin install discovery into list and request tools @mzeng-openai
  • #23516 fix: serialize unix app-server startup @efrazer-oai
  • #22169 [codex] Honor role-defined spawn service tiers @aibrahim-oai
  • #23555 Add CUA requirements subsection for locked computer use @adams-oai
  • #23538 Fix: TUI starting in wrong CWD @canvrno-oai
  • #23526 build: fetch rg for Codex packages @bolinfest
  • #23573 Remove unused ARC monitor path @mzeng-openai
  • #23576 test: fix multi-agent service tier assertion @bolinfest
  • #23541 build: default Codex package target and output @bolinfest
  • #23358 Fan out rust-ci-full nextest by platform @starr-openai
  • #23593 feat: expose codex-app-server version flag @bolinfest
  • #23412 feat: add permission profile list api @viyatb-oai
  • #23535 Move plugin and skill warmup into session startup @aibrahim-oai
  • #23231 Fix stale background terminal poll events @etraut-openai
  • #23564 [codex] Preserve raw code-mode exec output by default @aibrahim-oai
  • #23232 Warn on invalid UTF-8 in AGENTS.md files @etraut-openai
  • #23584 feat: Add vertical remote plugin collection support @xl-openai
  • #23586 build: package prebuilt Codex entrypoints @bolinfest
  • #23582 ci: build Codex package archives in release workflow @bolinfest
  • #23596 runtime: detect Codex package layout @bolinfest
  • #23500 add encryptedcontent to functioncalloutput @sayan-oai
  • #23633 Migrate exec-server remote registration to environments @richardopenai
  • #23451 Add timeout for remote compaction requests @jif-oai
  • #23667 feat: rename 1 @jif-oai
  • #23669 feat: rename 3 @jif-oai
  • #23668 feat: rename 2 @jif-oai
  • #23675 fix: main @jif-oai
  • #23685 feat: wire goal extension tools to the dedicated goal store @jif-oai
  • #23690 feat: async approval contrib @jif-oai
  • #23692 feat: async turn item process @jif-oai
  • #23688 feat: expose turn-start metadata to extensions @jif-oai
  • #23605 [codex] Hide deferred tools from code mode prompt @pakrym-oai
  • #23634 runtime: use install context for bundled bwrap @bolinfest
  • #23635 release: publish Codex package archive checksums @bolinfest
  • #23592 feat: Add btw alias for side slash command @anp-oai
  • #23696 feat: account active goal progress in the goal extension @jif-oai
  • #23176 [2 of 2] Start fresh TUI thread in background @etraut-openai
  • #23578 fix(app-server): speed up shutdown @fcoury-oai
  • #22896 windows-sandbox: add resolved permissions helper @bolinfest
  • #23502 Add thread/settings/update app-server API @etraut-openai
  • #23507 Sync TUI thread settings through app server @etraut-openai
  • #23666 feat: add turn_id and truncation_policy to extension tool calls @jif-oai
  • #23636 install: consume Codex package archives @bolinfest
  • #23717 [codex] Preserve failed goal accounting flushes @jif-oai
  • #23655 add standalone websearch api client @sayan-oai
  • #23724 Fix thread settings clippy failure @etraut-openai
  • #23637 npm: ship platform packages in Codex package layout @bolinfest
  • #23729 fix(config): resolve cloud requirements deny-read globs @viyatb-oai
  • #23638 dotslash: publish Codex entrypoints from package archives @bolinfest
  • #22918 windows-sandbox: send permission profiles to elevated runner @bolinfest
  • #23735 windows-sandbox: share bundled helper lookup @bolinfest
  • #18868 Add MITM hook config model @evawong-oai
  • #22270 feat(permissions): resolve permission profile inheritance @viyatb-oai
  • #23719 cli: add strict config to exec-server @bolinfest
  • #23542 [skills] Create a personal update flow for plugin creator @caseychow-oai
  • #21272 Support compact SessionStart hooks @abhinav-oai
  • #20659 Wire MITM hooks into runtime enforcement @evawong-oai
  • #23752 release: use DotSlash zstd for package archives @bolinfest
  • #22923 windows-sandbox: drive write roots from resolved permissions @bolinfest
  • #23761 chore: use Codex Linux runners for Rust releases @bolinfest
  • #23759 release: package prebuilt resource binaries @bolinfest
  • #23167 windows-sandbox: feed setup from resolved permissions @bolinfest
  • #22931 core: refresh active permission profiles at runtime @viyatb-oai
  • #22873 Add SubagentStop hook @abhinav-oai
  • #23727 feat(plugins): tabulate plugin list output @caseychow-oai
  • #23732 Make goals feature on by default and no longer experimental @etraut-openai
  • #23537 Honor client-resolved service tier defaults @shijie-oai
  • #23771 [codex] Fix realtime v1 websocket compatibility @guinness-oai
  • #23764 Remove Windows sandbox resource stamping @iceweasel-oai
  • #23730 [codex] List marketplaces considered by plugin discovery @caseychow-oai
  • #23760 ci: run Codex package builder tests @bolinfest
  • #23737 [codex] Add plugin id to MCP tool call items @mzeng-openai
  • #18240 Use named MITM permissions config @evawong-oai
  • #23774 [codex] Reject read-only fallback with approvals disabled @viyatb-oai
  • #23714 windows-sandbox: add profile-native elevated APIs @bolinfest
  • #23433 feat: support managed permission profiles in requirements.toml @viyatb-oai
  • #23715 core: pass permission profiles to Windows runner @bolinfest
  • #23786 sdk: launch packaged Codex runtimes @bolinfest

Update May 20, 2026 tracked by Updatify

0.132.0

New Features

  • The Python SDK now supports first-class authentication, including API key login, ChatGPT browser and device-code flows, account inspection, and logout APIs. (#23093)
  • Python turn APIs are easier to use for text-only workflows: you can pass a plain string as input, and handle-based runs now return a richer TurnResult with collected items, timing, and usage data. (#23151, #23162)
  • codex exec resume now accepts --output-schema, so resumed automations can keep session context while still enforcing structured JSON output. (#23123)
  • TUI startup is faster because terminal capability probes are now batched instead of waiting on several serial checks before the first interactive frame. (#23175)
  • Remote executor registration can now use standard Codex auth instead of a separate registry credential flow. (#22769)
  • App-server turns can preserve requested image fidelity, including original-resolution local images, across user inputs and image-producing tools. (#20693)

Bug Fixes

  • Goal continuations now stop when they hit usage limits or a repeated blocker instead of looping and burning more tokens, and completion responses phrase usage more naturally. (#23094, #22907)
  • The session picker is easier to trust: renamed threads now show name (thread-id) in resume hints, and pasted text works in the picker search box. (#23234, #23338)
  • Multi-session TUI flows are more reliable: in-progress MCP calls stay marked as active during replay, and elicitation replies are sent back to the thread that requested them. (#23236, #23241)
  • Remote sessions now keep websocket connections alive and show repo-relative diff paths again instead of /tmp/...-prefixed paths. (#23226, #23261)
  • Windows installs are more robust: codex doctor now detects npm-managed installs correctly, and MSVC release binaries no longer depend on separately installed VC++ runtime DLLs. (#22967, #22905)
  • TUI polish fixes include immediate shutdown feedback on exit, hiding the ChatGPT usage link for non-OpenAI providers, and keeping a cleared Fast tier from reappearing after side-thread resume. (#23323, #23127, #23121)

Documentation

  • The Python SDK docs, FAQ, and examples were refreshed around the new auth flow and turn APIs, with clearer setup guidance and simpler text-only examples. (#22941, #23093, #23151, #23162)

Chores

  • Memory summaries are now versioned and rebuilt when the stored format is stale, which should keep long-lived memory context leaner and more predictable. (#23148)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.131.0…rust-v0.132.0

  • #20693 Preserve image detail in app-server inputs @fjord-oai
  • #22891 tui: pass active permission profiles through app commands @bolinfest
  • #22924 app-server-protocol: remove PermissionProfile from API @bolinfest
  • #22941 [codex] Refine Python SDK user-facing docs @aibrahim-oai
  • #22967 Fix Windows doctor npm root probe @etraut-openai
  • #22920 core: set permission profiles from snapshots @bolinfest
  • #22939 [codex] Split Python SDK helper logic @aibrahim-oai
  • #22907 Improve goal completion usage reporting @etraut-openai
  • #23030 test: construct permission profiles directly @bolinfest
  • #22769 exec-server: support auth-backed remote executor registration @miz-openai
  • #22946 [codex] preserve MCP result meta in McpToolCallItemResult @miaolin-oai
  • #23069 multiagent: trim model-visible description, cap to 5 models @sayan-oai
  • #22913 [1 of 4] tui: route primary settings writes through app server @etraut-openai
  • #23093 sdk/python: add first-class login support @aibrahim-oai
  • #23151 [codex] Return TurnResult from Python turn handles @aibrahim-oai
  • #23147 Make multi-agent v2 tool namespace configurable @jif-oai
  • #23036 test: reduce core sandbox policy test setup @bolinfest
  • #23162 [codex] Accept string input for Python turns @aibrahim-oai
  • #23226 Add exec-server websocket keepalive @starr-openai
  • #23148 Densify and version memory summaries @jif-oai
  • #22448 [codex] Add installed-plugin mention API @xli-oai
  • #23288 chore: goal ext skeleton @jif-oai
  • #23291 Make extension lifecycle hooks async @jif-oai
  • #23293 feat: add extension event sink capability @jif-oai
  • #23295 chore: isolate thread goal storage behind GoalStore @jif-oai
  • #23301 chore: goal resumed metrics @jif-oai
  • #23305 chore: make token usage async @jif-oai
  • #23306 Emit goal update events from goal extension tools @jif-oai
  • #23121 tui: keep cleared Fast tier from reappearing after side-thread resume @etraut-openai
  • #23123 Support –output-schema for exec resume @etraut-openai
  • #23128 Fix TUI stream cleanup after turn errors @etraut-openai
  • #23127 Hide ChatGPT usage link for non-OpenAI status @etraut-openai
  • #23175 [1 of 2] Optimize TUI startup terminal probes @etraut-openai
  • #22706 [codex] Remove legacy shell output formatting paths @pakrym-oai
  • #23332 nit: read prompt @jif-oai
  • #22905 windows: link MSVC release binaries with static CRT @iceweasel-oai
  • #23323 fix(tui): show shutdown feedback on exit @fcoury-oai
  • #23261 Fix remote turn diff display roots @starr-openai
  • #22569 Simplify legacy Windows sandbox ACL persistence @iceweasel-oai
  • #23273 Upload rust full CI JUnit reports @starr-openai
  • #22893 fix: harden plugin creator sharing validation @efrazer-oai
  • #23094 goal: pause continuation loops on usage limits and blockers @etraut-openai
  • #23234 Clarify resume hints for renamed threads @etraut-openai
  • #23241 TUI: route elicitation responses to request thread @etraut-openai
  • #23236 TUI: replay in-progress MCP calls as started @etraut-openai
  • #23088 goals: keep pause transitions explicit @etraut-openai
  • #23338 feat(tui): handle paste in session picker @fcoury-oai
  • #23335 feat(app-server): add optional thread_id to experimentalFeature/list @owenlin0

Update May 18, 2026 tracked by Updatify

0.131.0

New Features

  • The TUI now offers richer session controls and display: data-driven service-tier commands, blended token usage, permissions/approval mode, effective workspace roots, and responsive Markdown tables. (#21745, #21906, #21991, #21669, #21677, #22052, #22612)
  • @ mentions now search files, directories, plugins, and skills in one picker, backed by app-server plugin metadata. (#19068, #22375)
  • Plugin workflows gained marketplace CLI commands, version-aware sharing, share checkout, clearer shared-workspace buckets, and default-enabled plugin hooks. (#21396, #22397, #22425, #22435, #22549)
  • Remote workflows now support daemon-managed codex remote-control, runtime enable/disable APIs, status reads, and registry-backed/configured remote environments. (#20718, #22218, #22562, #22578, #22877, #20667, #21323)
  • The Python SDK moved to openai-codex / openai_codex, with pinned runtime-generated types, concurrent turn routing, approval modes, and integration coverage. (#21778, #21891, #21893, #21896, #21905, #21910, #22014)
  • Added codex doctor for support-ready diagnostics across runtime, auth, terminal, network, config, and local state. (#22336)

Bug Fixes

  • Fixed several TUI interaction and rendering issues, including URL wrapping, light-mode selection contrast, Shift+Enter in tmux, /review MCP startup status, /side Esc handling, and network approval history text. (#21760, #21950, #21943, #21624, #22710, #22229)
  • Hardened Windows sandbox behavior around deny-read rules, scoped write roots, ineffective firewall policy, and PowerShell edge cases. (#18202, #21479, #22353, #21400, #22643)
  • Preserved managed read restrictions during permission escalation and cleaned up workspace-root permission profile resolution. (#15977, #22624, #22683)
  • Made app-server and local state startup safer by preserving SQLite data, failing closed when state cannot open, adding recovery paths, and softening optional metadata sync failures. (#21831, #21847, #22580, #22734, #22899)
  • Improved Git and auth reliability by using root worktree hooks consistently, ignoring repo hook/fsmonitor config in helper commands, binding local MCP OAuth callbacks, and revoking superseded login tokens. (#21969, #22843, #22652, #20237, #21747)
  • Reduced remote and Windows cleanup friction with longer exec-server transport timeouts, quieter taskkill cleanup, and non-queued plugin reads. (#21825, #21759, #22058, #22703)

Documentation

  • Clarified that general Codex product docs should not be added to this repo, while app-server API docs remain in scope. (#21772)
  • Updated plugin-creator guidance for the simplified local plugin handoff links. (#22240)
  • Documented new app-server/API contracts for remote environments and the desktop-owned config namespace. (#21323, #22584)

Chores

  • Improved CI and release reliability across Rust CI, exact PR-head checkout, Windows Bazel sharding, unsigned macOS artifacts, and signed macOS promotion. (#21604, #21628, #21835, #22408, #22559, #22649, #22737, #22788, #22900)
  • Split large TUI ChatWidget, history, and composer code into focused modules without intended behavior changes. (#21866, #22269, #22407, #22433, #22518, #22537, #22704, #22581, #22656)
  • Continued extracting extension and tool internals, including shared tool contracts plus guardian and memory extension plumbing. (#21736, #21737, #21738, #22138, #22147, #22216, #22258, #22344, #22476, #22480, #22485, #22498)
  • Removed obsolete tool paths, feature flags, config gates, and legacy hooks as defaults stabilized. (#21651, #21805, #22173, #22246, #22565, #22711, #22717, #22724, #22730)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.130.0…rust-v0.131.0

  • #21550 [codex] make shutdown pending-touch test deterministic @jif-oai
  • #21697 Allow string service tiers in config TOML @aibrahim-oai
  • #21687 [codex] Enable apply_patch freeform by default @aibrahim-oai
  • #19896 Update models.json @github-actions
  • #21669 Display blended token count in status line @etraut-openai
  • #21677 Show permissions and approval mode in the TUI status line @etraut-openai
  • #21757 api: send hyphenated session and thread headers @jif-oai
  • #21763 nit: comment @jif-oai
  • #21749 codex-otel: validate provider span attributes consistently @bbrown-oai
  • #21767 chore: thread tui @jif-oai
  • #21443 [sandboxing] Remove Darwin user cache write from Seatbelt network policy @evawong-oai
  • #21604 Fix rust-ci-full failures due to missing bwrap @zanie-oai
  • #21628 Use CARGO_NET_GIT_FETCH_WITH_CLI in rust-ci-full for more reliable git fetches @zanie-oai
  • #21745 [codex] Generalize service tier slash commands @aibrahim-oai
  • #21772 Clarify docs folder guidance in AGENTS.md @etraut-openai
  • #21622 [codex] Address some more GHA hygiene issues @ww-oai
  • #21662 feat: Use installation ID in remote enrollments @ddr-oai
  • #20667 Load configured environments from CODEX_HOME @starr-openai
  • #21776 Update models.json @github-actions
  • #21787 Support resource binaries in Python runtime staging @aibrahim-oai
  • #21784 Publish Python runtime wheels on release @aibrahim-oai
  • #21601 Emit accepted line fingerprint analytics @alexsong-oai
  • #21465 Remove ToolName display helper @pakrym-oai
  • #20619 [codex] request desktop attestation from app @jiamingz42
  • #21810 Revert “Publish Python runtime wheels on release” @aibrahim-oai
  • #21651 [codex] Delete function-style apply_patch @pakrym-oai
  • #21805 [codex] Remove legacy after tool use hooks @pakrym-oai
  • #21616 Enable --deny-warnings for cargo shear @charliemarsh-oai
  • #21497 Using cached connector directory for discoverable tools list @mzeng-openai
  • #21835 ci: check out PR head commits in workflows @bolinfest
  • #21794 Make environment provider snapshots path-free @starr-openai
  • #21831 app-server: support daemon-safe restart handling @euroelessar
  • #20293 Support openai library tool @lt-oai
  • #21323 [codex] support executor registry remote environments @miz-openai
  • #21825 Increase exec-server environment transport timeouts @starr-openai
  • #20718 [daemon] Add app-server daemon lifecycle management @euroelessar
  • #21840 feat: add Bedrock Mantle client agent header @celia-oai
  • #21847 sqlite: no more destructive version bumps @owenlin0
  • #21652 Reapply “Move skills watcher to app-server” @pakrym-oai
  • #21290 Move file watcher out of core @pakrym-oai
  • #21867 feat: Add role-aware plugin share context APIs @xl-openai
  • #21875 [codex] compact network context rendering @sayan-oai
  • #21778 Route Python SDK turn notifications by ID @aibrahim-oai
  • #21906 [codex] Lowercase TUI service tier commands @aibrahim-oai
  • #21819 tests: cover sandbox link write behavior @bolinfest
  • #21760 fix(tui): preserve wrapped prose beside URLs @fcoury-oai
  • #21950 fix(tui): improve light-mode selection contrast @fcoury-oai
  • #21755 Improve hooks trust flow in TUI @abhinav-oai
  • #21870 Avoid blocking TUI on agent metadata hydration @etraut-openai
  • #21866 Split ChatWidget state into focused modules @etraut-openai
  • #21991 Persist ‘priority’ service tier as fast in config @aibrahim-oai
  • #21943 fix(tui): preserve Shift+Enter in tmux csi-u panes @fcoury-oai
  • #21759 fix(tui): suppress taskkill output for MCP teardown on Windows @fcoury-oai
  • #22039 Deduplicate issue digest interactions by user @etraut-openai
  • #22052 feat(tui): render responsive Markdown tables in TUI @fcoury-oai
  • #20825 Read cached metadata for installed Git plugins @xli-oai
  • #21736 extension: add initial typed extension API @jif-oai
  • #21737 extension: wire extension registries into sessions @jif-oai
  • #21738 extension: move git attribution into an extension @jif-oai
  • #22138 refactor: extract executable tool contracts into codex-tool-api @jif-oai
  • #22140 feat: drop CodexExtension @jif-oai
  • #22143 [codex] default unknown contributed tools to mutating @jif-oai
  • #22147 feat: wire extension tool bundles into core @jif-oai
  • #22163 feat: move extensions tool @jif-oai
  • #22113 Add x-codex-ws-stream-request-start-ms @andmis
  • #21860 Persist /goal commands in history @etraut-openai
  • #22141 [codex] Harden overflow auto-compaction recovery @aibrahim-oai
  • #22170 Revert “[codex] Harden overflow auto-compaction recovery” @aibrahim-oai
  • #22106 Fix side conversation config inheritance @etraut-openai
  • #22045 Improve goal continuation based on feedback @etraut-openai
  • #21981 Use goal preview metadata for goal-first threads @etraut-openai
  • #21843 app-server: remove TCP websocket listener @euroelessar
  • #22173 chore: drop built-in MCPs @jif-oai
  • #21954 Fix goal update and add /goal edit command in TUI @etraut-openai
  • #22110 Make auto-review denial short-circuit use a rolling review window @won-openai
  • #21431 [codex-analytics] add turn tool counts to turn events @rhan-oai
  • #22154 Add process-scoped SQLite telemetry @jif-oai
  • #19068 Unified mentions in TUI @canvrno-oai
  • #20305 fix(exec-policy) use is_known_safe_command less @dylan-hurd-oai
  • #22058 fix(exec-server): suppress Windows taskkill output @fcoury-oai
  • #22178 fix(app-server): thread history redaction for remote clients @owenlin0
  • #15977 fix(permissions): preserve managed deny-read during escalation @viyatb-oai
  • #21061 feat(connectors): support managed app tool approval requirements @viyatb-oai
  • #22188 [elicitation] Advertise new url elicitation capability when auth_elicitation is enabled. @mzeng-openai
  • #22192 config: accept minus in TUI keymap config @fcoury-oai
  • #21853 daemon: refresh updater after validated binary rollout @euroelessar
  • #21747 [login] revoke superseded auth tokens on relogin @cooper-oai
  • #20147 feat: add network proxy feature flag @viyatb-oai
  • #21891 [1/8] Pin Python SDK runtime dependency @aibrahim-oai
  • #21893 [2/8] Generate Python SDK types from pinned runtime @aibrahim-oai
  • #21895 [3/8] Run Python SDK tests in CI @aibrahim-oai
  • #21896 [4/8] Define Python SDK public API surface @aibrahim-oai
  • #21905 [5/8] Rename Python SDK package to openai-codex @aibrahim-oai
  • #21910 [6/8] Add high-level Python SDK approval mode @aibrahim-oai
  • #22014 [7/8] Add Python SDK app-server integration harness @aibrahim-oai
  • #22021 [8/8] Add Python SDK Ruff formatting @aibrahim-oai
  • #18748 [codex-analytics] emit terminal review events @rhan-oai
  • #22159 Add Windows hook command overrides @abhinav-oai
  • #22218 Update codex remote-control to start the daemon @owenlin0
  • #22180 Stop uploading accepted line fingerprints @alexsong-oai
  • #21617 Support multi-environment apply_patch selection @starr-openai
  • #22198 Add production startup and TTFT telemetry @mzeng-openai
  • #21963 [exec-server] serve websocket listener via HTTP upgrade @euroelessar
  • #21946 fix(tui): handle hidden app git directives @fcoury-oai
  • #21595 Simplify MCP tool handler plumbing @pakrym-oai
  • #22221 feat(skills): default plugin creator to personal share flow @efrazer-oai
  • #21861 Apply sandbox context to local view_image reads @starr-openai
  • #20527 Support PreToolUse updatedInput rewrites @abhinav-oai
  • #22243 [codex] Filter legacy warning messages during compaction @pakrym-oai
  • #22254 [codex] Make handlers own parallel tool support @pakrym-oai
  • #18202 feat(sandbox): add Windows deny-read parity @viyatb-oai
  • #22265 feat: Normalize remote plugin summary identities. @xl-openai
  • #22216 feat: guardian as an extension (contributors part) @jif-oai
  • #22311 [rollout-trace] Add x-codex-inference-call-id header to inference calls. @cassirer-openai
  • #21206 feat(tui): add ambient terminal pets @fcoury-oai
  • #22323 fix: uv lock @jif-oai
  • #22207 [codex] Tighten unified exec sandbox setup @bookholt-oai
  • #22382 tools: remove is_mutating dispatch gating @pakrym-oai
  • #22383 chore(config) include_collaboration_mode_instructions @dylan-hurd-oai
  • #22377 code-mode: carry nested tool kind through runtime @pakrym-oai
  • #22392 test(tui): relax configured pet load timeout @fcoury-oai
  • #22343 feat(exec-server): use protobuf relay frames @apanasenko-oai
  • #20509 [codex] Remove workspace owner usage nudge gate @richardopenai
  • #22256 Refactor namespaced tool spec registration @pakrym-oai
  • #22280 code-mode: Add pending-aware code mode execution @cconger
  • #22266 core: box multi-agent handler futures @bolinfest
  • #22398 [codex] Add search term coverage for tool_search @pakrym-oai
  • #22236 Unify thread metadata updates above store @wiltzius-openai
  • #22269 Refactor chatwidget state into modules @etraut-openai
  • #22381 [codex] Remove tool search bucket limit override @sayan-oai
  • #22386 mark Feature::RemoteControl as removed @owenlin0
  • #22240 docs(skills): simplify plugin creator deeplink shape @efrazer-oai
  • #22397 feat: Expose plugin versions and gate plugin sharing @xl-openai
  • #22404 Restore app-server websocket listener with auth guard @etraut-openai
  • #22258 feat: route guardian review model selection through providers @celia-oai
  • #22268 hooks: use new session IDs instead of thread IDs for hooks, apply parent’s session ID to subagents’ hooks @eternal-openai
  • #20319 Add allow_managed_hooks_only hook requirement @eternal-openai
  • #22413 Remove CODEX_RS_SSE_FIXTURE test hook @pakrym-oai
  • #22406 tools: infer code-mode namespace descriptions from specs @pakrym-oai
  • #22261 Encapsulate tool search entries in handlers @pakrym-oai
  • #22425 feat: Split shared workspace plugins by discoverability @xl-openai
  • #22414 Add support for UDS in codex --remote @etraut-openai
  • #22407 Refactor chatwidget input flow into modules @etraut-openai
  • #22439 Remove unavailable MCP placeholder tool backfill @sayan-oai
  • #21969 Use root repo hooks in linked worktrees @abhinav-oai
  • #21768 add –dangerously-bypass-hook-trust CLI flag @abhinav-oai
  • #22435 feat: Add plugin share checkout @xl-openai
  • #22355 chore: Keep view_image sandbox test in temp dir @jif-oai
  • #22344 extension-api: add approval review contributor flow @jif-oai
  • #22359 feat: extract shared tool executor interface @jif-oai
  • #22369 Refactor extension tools onto shared ToolExecutor @jif-oai
  • #22338 [app-server] Gate login issuer override constant @cassirer-openai
  • #22437 [codex] isolate plugin/list from config serialization queue @xli-oai
  • #22476 feat: add thread lifecycle contributor hooks @jif-oai
  • #22479 nit: codeowners @jif-oai
  • #22480 feat: add turn lifecycle contributors @jif-oai
  • #22482 fix: emit thread stop lifecycle on implicit shutdown @jif-oai
  • #22485 feat: add token usage contributor hook @jif-oai
  • #22443 Scope macOS signing secrets to release environment @shijie-oai
  • #22490 feat: move extension scope ids into ExtensionData @jif-oai
  • #22491 Make context contributors async @jif-oai
  • #22214 feat(tui): remove Zellij TUI workarounds @fcoury-oai
  • #22139 Add service tier overrides to spawned agents @aibrahim-oai
  • #22488 feat: add config-change extension contributor @jif-oai
  • #22498 feat: memories ext @jif-oai
  • #22503 fix: main @jif-oai
  • #22347 feat(tui): standardize picker navigation keys @fcoury-oai
  • #22500 refactor: split memories extension crate modules @jif-oai
  • #22433 Refactor chatwidget protocol flows into modules (phase 3) @etraut-openai
  • #22505 fix: prevent fmt from updating Python SDK lockfile @jif-oai
  • #22326 [rollout-trace] Add a trace ID to MCP calls. @cassirer-openai
  • #20559 config: add strict config parsing @bolinfest
  • #22489 Introduce tool exposure for deferred registration @jif-oai
  • #22193 fix: drop underscored id headers @jif-oai
  • #22246 [codex] Remove unused legacy shell tools @pakrym-oai
  • #22520 revert: mark Feature::RemoteControl as removed @owenlin0
  • #22513 Revert “Scope macOS signing secrets to release environment” @shijie-oai
  • #22514 feat: expose multi-agent v2 as model-only tools @jif-oai
  • #22366 Pass Codex product SKU to ChatGPT backend @ericning-o
  • #22519 Deprecate TurnContext cwd and resolve_path @pakrym-oai
  • #22518 Refactor chatwidget settings surfaces into modules (phase 4) @etraut-openai
  • #21479 [codex] Scope Windows sandbox write-root capability SIDs @adrianbravo-oai
  • #22353 windows-sandbox: fail elevated setup when firewall policy is ineffective @iceweasel-oai
  • #22527 [codex] Reuse Apps MCP path override for plugin-service rollout @adaley-openai
  • #22412 chore(config) rm Feature::CodexGitCommit @dylan-hurd-oai
  • #22501 chore(config) rm tools.view_image @dylan-hurd-oai
  • #22533 fix: prevent codex-backend from stealing originator @owenlin0
  • #22408 Shard Bazel Windows tests across jobs @starr-openai
  • #22542 Use selected environment cwd for filesystem helpers @pakrym-oai
  • #20237 Add callback ids to local MCP OAuth redirects @stevenlee-oai
  • #22549 Enable plugin hooks by default @abhinav-oai
  • #22375 Use plugin/list to get list of plugins for mentions @canvrno-oai
  • #21235 [codex] Fix TUI wrapping for external borrowed slices @canvrno-oai
  • #22336 feat(cli): add codex doctor diagnostics @fcoury-oai
  • #22543 clean up instructions @sayan-oai
  • #21400 Avoid PowerShell profiles in elevated Windows sandbox @iceweasel-oai
  • #22528 Make multi_agent_v2 wait_agent timeouts configurable @andmis
  • #22529 Spill oversized PreToolUse additionalContext @abhinav-oai
  • #22556 feat: namespace in ext @jif-oai
  • #22535 Remove resurrected /collab slash command @etraut-openai
  • #22537 Refactor chatwidget orchestration into modules (phase 5) @etraut-openai
  • #22564 [codex] Canonicalize shared workspace plugin IDs @xl-openai
  • #22559 Add unsigned macOS release artifacts @shijie-oai
  • #22574 Deprecate issue labeler @maxb-openai
  • #22555 Remove connector_openai prefix filtering @ericning-o
  • #22580 fix: Block appserver startup if state db can’t be opened @ddr-oai
  • #22565 chore(config) rm experimental_use_freeform_apply_patch @dylan-hurd-oai
  • #22562 Improve remote-control daemon UX @owenlin0
  • #22578 enable/disable remote control at runtime, not via features @owenlin0
  • #22573 Simplify TUI startup test coverage @etraut-openai
  • #22594 Relax remote plugin sync gate @xli-oai
  • #22587 Defer startup NUX impressions until startup succeeds @etraut-openai
  • #22560 feat: make ToolExecutor an async trait @jif-oai
  • #22494 Wire turn item contributors into stream output @jif-oai
  • #17141 feat: add layered –profile-v2 config files @jif-oai
  • #22643 [codex] treat PowerShell stop-parsing forms as unsupported @bookholt-oai
  • #22646 Fix abort-path turn extension data plumbing @jif-oai
  • #22624 permissions: canonicalize workspace_roots and danger-full-access names @bolinfest
  • #22649 Chore: better published unsigned artifacts @shijie-oai
  • #22581 tui: split composer attachment and popup state @etraut-openai
  • #21396 [codex] add plugin marketplace CLI commands @caseychow-oai
  • #22576 tests: avoid ambient temp sandbox roots @starr-openai
  • #22652 [codex] Ignore fsmonitor config in Git metadata reads @bookholt-oai
  • #22229 fix(tui): render network approval history by target @fcoury-oai
  • #22547 Prefer the model list fetched from the backend for SIWC users @jeevnayak
  • #22666 [codex] fix plugin CLI active user layer compile @caseychow-oai
  • #22575 Support explicit MCP OAuth client IDs @mzeng-openai
  • #22512 test: isolate exec review policy config test @bolinfest
  • #22572 Fix remote environment test fixtures @starr-openai
  • #22563 tests: isolate codex home for live cli @starr-openai
  • #18161 [codex] Support multiple forced ChatGPT workspaces @rreichel3-oai
  • #22702 make rust-release-prepare use env secret @sayan-oai
  • #22703 Unqueue plugin list and read requests @xli-oai
  • #22687 Fix Windows sandbox clippy clones @starr-openai
  • #22711 chore(features) rm Feature::ApplyPatchFreeform @dylan-hurd-oai
  • #22717 chore(config) rm windows_wsl_setup_acknowledged @dylan-hurd-oai
  • #22695 Trim TUI legacy core helper usage @etraut-openai
  • #21624 Fix /review mode MCP startup render issue @canvrno-oai
  • #22684 Remove SSE fixture loaders @pakrym-oai
  • #22730 [codex] Group removed feature flags @dylan-hurd-oai
  • #22724 [codex] Remove experimental instructions file config @dylan-hurd-oai
  • #22237 Add user_input_requested_during_turn to MCP turn metadata @mchen-oai
  • #22737 ci: support signed macOS release promotion @bolinfest
  • #22303 Stabilize compact rollback follow-up test @dylan-hurd-oai
  • #22683 permissions: resolve profile identity with constraints @bolinfest
  • #22734 tui: recover local state db startup failures @etraut-openai
  • #22584 [codex] Add opaque desktop config namespace @guinness-oai
  • #22710 Prevent Esc from dismissing or rewinding /side @etraut-openai
  • #22704 TUI: split history cells into focused modules @etraut-openai
  • #22611 app-server: use permission ids and runtime workspace roots @bolinfest
  • #22612 tui/exec: show effective workspace roots in summaries @bolinfest
  • #22788 Fix signed macOS release promotion follow-up jobs @shijie-oai
  • #22647 Reject legacy [profiles] when using profile-v2 @jif-oai
  • #22809 [codex] Use compaction_trigger item for remote compaction v2 @jif-oai
  • #22636 Simplify tool executor and registry plumbing @jif-oai
  • #22820 Remove zombie tools spec module @jif-oai
  • #22828 Run compact hooks for remote compaction v2 @jif-oai
  • #22841 Move memory prompt injection to app-server extension @jif-oai
  • #22789 guardian: use permission profile for review sandbox @bolinfest
  • #22656 tui: split remaining composer draft and footer state @etraut-openai
  • #22843 Ignore configured hooks in git helpers @bookholt-oai
  • #22790 context: remove legacy permissions instructions helper @bolinfest
  • #22791 telemetry: tag sandboxes from permission profiles @bolinfest
  • #22872 Forward apps MCP product SKU from Codex config @kumquatexpress
  • #22582 Workflow updates @viyatb-oai
  • #22792 app-server: stop returning thread permission profiles @bolinfest
  • #22795 core: construct test permission profiles directly @bolinfest
  • #22900 Disable DMG staging for signed macOS promotion @shijie-oai
  • #22877 feat(app-server): update remote control APIs for better UX @owenlin0
  • #22899 [codex] Soften SQLite metadata sync failures @wiltzius-openai

Update May 8, 2026 tracked by Updatify

0.130.0

New Features

  • Plugin details now show bundled hooks, and plugin sharing exposes link metadata plus discoverability controls. (#21447, #21495, #21637)
  • Added codex remote-control as a simpler entrypoint for starting a headless, remotely controllable app-server. (#21424)
  • App-server clients can page large threads with unloaded, summary, or full turn item views. (#21566)
  • Bedrock auth can now use AWS console-login credentials from aws login profiles. (#21623)
  • view_image can resolve files through the selected environment for multi-environment sessions. (#21143)

Bug Fixes

  • Live app-server threads now pick up config changes without requiring a restart. (#21187)
  • Turn diffs stay accurate across apply-patch operations, including partial failures that still mutated files. (#21180, #21518)
  • Thread summaries, renames, resume, and fork paths work better through ThreadStore, including threads without local rollout paths. (#21264, #21265, #21266)
  • Remote compaction now emits response.processed for v2 streams and avoids sending service_tier on API-key compact requests. (#21642, #21676)
  • Windows sandbox setup now grants sandbox users access to the desktop runtime binary cache. (#21564)
  • Removed stale “research preview” wording from the codex exec startup banner. (#21683)

Documentation

  • Fixed issue templates so CLI reports keep the intended guidance, labels apply correctly, and feature requests link to the right contributing docs. (#21685, #21686, #21688)
  • Updated install and tooling docs to consistently use cargo install --locked. (#21592)

Chores

  • Added a faster Cargo profiling build profile and disabled empty doctest targets to speed up Rust development loops. (#21574, #21584)
  • Hardened dependency and CI hygiene with fully qualified GitHub Action pins, a Dependabot cooldown, and a cargo-shear upgrade. (#21436, #21547, #21599)
  • Simplified internal surfaces by removing unused device-key APIs, extra skills roots, the remote thread-store implementation, and string-keyed MCP tool maps. (#21487, #21485, #21596, #21454)
  • Added configurable OpenTelemetry trace metadata and richer review/feedback analytics for better debugging and triage. (#21556, #18747, #21434, #21498)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.129.0…rust-v0.130.0

  • #21494 [codex] fix PluginListParams test initializer @xli-oai
  • #21447 Show plugin hooks in plugin details @abhinav-oai
  • #21356 feat: make built-in MCPs first-class runtime servers @jif-oai
  • #21180 Make turn diff tracking operation backed @jif-oai
  • #21498 [codex] add account id to feedback uploads @pakrym-oai
  • #21487 device-key: clean up unused crate @euroelessar
  • #21518 fix: preserve exact turn diffs after partial apply_patch failures @jif-oai
  • #18747 [codex-analytics] add tool review event schema @rhan-oai
  • #21495 feat: Expose plugin share metadata in shareContext @xl-openai
  • #21454 [codex] Remove string-keyed MCP tool maps @pakrym-oai
  • #21424 add top-level remote-control command @owenlin0
  • #21187 app-server: refresh live threads from latest config snapshot @jif-oai
  • #21461 [codex] Move tool specs onto handlers @pakrym-oai
  • #21547 Upgrade cargo-shear to 1.11.2 @charliemarsh-oai
  • #21264 Move thread name edits to ThreadStore @wiltzius-openai
  • #21266 [codex] Fix pathless thread summaries @wiltzius-openai
  • #21265 Route ThreadManager rollout path reads through thread store @wiltzius-openai
  • #21564 Grant sandbox users access to desktop runtime bin @iceweasel-oai
  • #21582 Use descriptive names for Cargo profile options @zanie-oai
  • #21574 Add a Cargo build profile for benchmarking @zanie-oai
  • #21436 [codex] Fully qualify hash-pins in GitHub Actions @ww-oai
  • #21592 Ensure all mentions of cargo-install are –locked @gankra-oai
  • #21584 Disable empty Cargo test targets @charliemarsh-oai
  • #21566 feat(app-server, threadstore): Thread pagination APIs and ThreadStore contract @owenlin0
  • #21556 codex-otel: add configurable trace metadata @bbrown-oai
  • #21599 [codex] Apply a Dependabot cooldown of 7 days @ww-oai
  • #21602 Use --locked in cargo build and lint invocations @zanie-oai
  • #20664 Add stdio exec-server client transport @starr-openai
  • #21596 [codex] Remove remote thread store implementation @wiltzius-openai
  • #20665 Make environment providers own default selection @starr-openai
  • #21143 Route view_image through selected environments @starr-openai
  • #20666 Add CODEX_HOME environments TOML provider @starr-openai
  • #21642 Send response.processed after remote compaction v2 @pakrym-oai
  • #21646 Revert “Use --locked in cargo build and lint invocations” @pakrym-oai
  • #21434 [codex-analytics] plumb protocol-native review timing @rhan-oai
  • #21485 Remove skills list extra roots @xli-oai
  • #21623 feat: enable AWS login credentials for Bedrock auth @celia-oai
  • #21637 feat: Update plugin share settings with discoverability @xl-openai
  • #21685 Fix duplicate CLI issue template description @etraut-openai
  • #21686 Fix issue template labels @etraut-openai
  • #21688 Fix feature request Contributing link @etraut-openai
  • #21683 Remove exec research preview banner wording @etraut-openai
  • #21676 Omit service_tier from remote /responses/compact requests under API auth @aibrahim-oai

Update May 7, 2026 tracked by Updatify

0.129.0

New Features

  • The TUI now supports modal Vim editing in the composer, including /vim, default-mode config, and Vim-specific keymap contexts. (#18595)
  • TUI workflows are easier to resume and copy from with a redesigned resume/fork picker, raw scrollback mode, /ide context injection, and workspace-aware /diff. (#20065, #20819, #20294, #21001)
  • The status line can show theme-aware colors plus optional PR and branch-change summaries, and /keymap debug helps inspect terminal key events. (#19631, #20892, #20794)
  • Plugin management now supports workspace sharing, share access controls, source filtering, local share path tracking, marketplace removal/upgrades, remote bundle sync, and admin-disabled status handling. (#20278, #21124, #21419, #20560, #19843, #20478, #20268, #20298)
  • Hooks can be browsed and toggled from /hooks, can run before/after compaction, and can add PreToolUse context; Codex Apps auth and eligible MCP elicitations now surface through TUI/Guardian flows. (#19882, #19905, #20692, #19193, #19431)
  • Experimental goals are now discoverable, stay paused across resume unless the user opts back in, and show clearer validation and multi-day duration output. (#20083, #20790, #20746, #20558)

Bug Fixes

  • /copy works better in tmux, Alt+Enter and modified Delete/Backspace keys behave correctly, and Windows typing/paste latency was reduced. (#20207, #20535, #21058, #18914)
  • Large paste placeholders and Ctrl+C-stashed drafts now survive clear/editor workflows without corrupting draft history. (#21091, #21190, #21351, #21397)
  • TUI startup and accessibility were tightened by bounding terminal probes, clearing the first inline viewport render, and honoring animations = false for live rows. (#20654, #21450, #20564)
  • Linux sandbox startup is more reliable across older bwrap, slow mount probes, symlink-protected paths, and shared /tmp setups. (#20628, #20111, #21127, #21234)
  • Windows sandbox and exec policy now handle named pipes, ConPTY teardown, PowerShell-wrapped allow rules, worktree safe.directory, and unsafe Git options more reliably. (#20270, #20685, #20336, #21409, #21275)
  • Fixed custom CA login behind TLS-inspecting proxies, Bedrock runtime endpoint reporting, dangerous project config keys, heredoc redirect approval matching, and unbounded MCP/hook output growth. (#20676, #20275, #20098, #20113, #20260, #21069)

Documentation

  • Updated the embedded OpenAI Docs sample skill so API-key setup guidance stays aligned with other docs variants. (#21263)
  • Documented how generated git commit attribution is gated by codex_git_commit and configured in config.toml. (#21379)
  • Removed local-only planning/spec docs and redirected config docs toward the maintained external documentation surface. (#20896)

Chores

  • Linux releases now build, publish, bundle, and verify a standalone bwrap fallback for npm and DotSlash installs. (#21255, #21256, #21257, #21312, #21285)
  • Vendored Bubblewrap was updated to 0.11.2, including upstream security changes around setuid support. (#21389)
  • Windows Bazel CI now uses faster cross-compilation for tests, clippy, and release-build checks, and Bazel now runs sharded Rust integration tests. (#20585, #20701, #21057)
  • App-server and protocol internals were split and slimmed down, including transport extraction, protocol module decomposition, thread/message history moves, and tool-handler cleanup. (#20324, #20325, #20348, #20545, #21251, #21278, #21395)
  • Analytics and diagnostics coverage expanded for tool lifecycles, goals, plugin skills, thread sources, service tiers, and PR issue labeling. (#17089, #17090, #20799, #20923, #20949, #20969, #20893)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.128.0…rust-v0.129.0

  • #20278 feat: Add workspace plugin sharing APIs @xl-openai
  • #20334 Make missing config clears no-ops @etraut-openai
  • #20246 Gate multi-agent v2 tools independently of collab @jif-oai
  • #20361 realtime: rename provider session ids @aibrahim-oai
  • #20260 fix(core): truncate large mcp tool outputs in rollouts @owenlin0
  • #20083 Mark goals feature as experimental @etraut-openai
  • #19843 /plugins: remove marketplace @canvrno-oai
  • #20458 [Extension] Allowlist Chrome Extension in the tool_suggest tool @teddywyly-oai
  • #20324 Remove core protocol dependency [1/2] @etraut-openai
  • #20299 Move item event mapping into app-server-protocol @pakrym-oai
  • #20325 Remove core protocol dependency [2/2] @etraut-openai
  • #20471 Stop emitting item/fileChange/outputDelta output delta notifications @pakrym-oai
  • #20245 [Codex] Add browser use external feature flag @khoi-oai
  • #19882 Add /hooks browser for lifecycle hooks @abhinav-oai
  • #20275 fix: show correct Bedrock runtime endpoint in /status @celia-oai
  • #20270 [codex] Fix elevated Windows sandbox named-pipe access @iceweasel-oai
  • #20463 feat(rollouts): store EventMsg::ApplyPatchEnd in limited history mode @owenlin0
  • #20101 install WFP filters for Windows sandbox setup @iceweasel-oai
  • #20474 [plugin] Add Canva to suggesteable list. @mzeng-openai
  • #20379 Send external import completion for sync imports @alexsong-oai
  • #19280 [codex] Migrate thread turns list to thread store @wiltzius-openai
  • #20348 Move plugin out of core. @xl-openai
  • #19160 Make apply_patch streaming parser stateful @akshaynathan
  • #20504 fix flaky test falls_back_to_registered_fallback_port_when_default_po… @owenlin0
  • #20098 fix: ignore dangerous project-level config keys @owenlin0
  • #20268 Sync remote installed plugin bundles @xli-oai
  • #20502 fix(tui): set persist_extended_history: false @owenlin0
  • #20069 Bypass review for always-allow MCP tools in auto-review @maja-openai
  • #18595 feat(tui): add vim composer mode @fcoury-oai
  • #20267 Emit analytics for remote plugin installs @xli-oai
  • #20499 fix(app-server): mark thread/turns/list and exclude_turns as experime… @owenlin0
  • #20522 Alias codex_hooks feature as hooks @abhinav-oai
  • #20336 execpolicy: unwrap PowerShell -Command wrappers on Windows @iceweasel-oai
  • #20113 fix(exec_policy) heredoc parsing file_redirect @dylan-hurd-oai
  • #20341 app-server: switch remote control to protocol v3 segmentation @euroelessar
  • #20300 [codex-analytics] centralize thread analytics state @rhan-oai
  • #20484 [codex] Improve PR babysitter CI diagnostics and guardrails @wiltzius-openai
  • #20298 Surface admin-disabled remote plugin status @xli-oai
  • #20511 [codex] Remove unused event messages @pakrym-oai
  • #19474 Make thread store process-scoped @wiltzius-openai
  • #20558 Format multi-day goal durations in the TUI @etraut-openai
  • #19631 Color TUI statusline from active theme @etraut-openai
  • #20265 Refresh remote plugin cache on auth changes @xli-oai
  • #20150 Add remote plugin skill read API @xli-oai
  • #20560 feat: Track local paths for shared plugins @xl-openai
  • #20600 chore: allow memories edition @jif-oai
  • #20602 feat: ad-hoc instructions @jif-oai
  • #20610 chore: improve remember prompt @jif-oai
  • #20606 feat: seed ad-hoc memory extension instructions @jif-oai
  • #20405 feat: export and replay effective config locks @jif-oai
  • #20540 Move apply-patch file changes into turn items @pakrym-oai
  • #20564 Enforce animations = false for screen readers @etraut-openai
  • #20523 Remove no-tool goal continuation suppression @etraut-openai
  • #20627 fix: cargo deny @jif-oai
  • #20545 app-server: move transport into dedicated crate @euroelessar
  • #20294 Add /ide context support to the TUI @etraut-openai
  • #20630 [codex] Add Codex environment config @pakrym-oai
  • #20524 deprecate legacy notify @abhinav-oai
  • #20486 [codex] Migrate loaded thread/read history to ThreadStore @wiltzius-openai
  • #20281 Use selected turn environments for runtime context @starr-openai
  • #20535 fix(tui): restore alt-enter newline alias @fcoury-oai
  • #20650 fix: reduce ConfigBuilder::build stack usage @jif-oai
  • #20478 /plugins: add marketplace upgrade flow @canvrno-oai
  • #20512 [codex] Emit image view as core item @pakrym-oai
  • #20562 Use the 2025-06-18 elicitation capability shape @abhinav-oai
  • #20674 Clear live hook rows when turns finalize @abhinav-oai
  • #20646 Surface multi-environment choices in environment context @starr-openai
  • #20542 Prune unused code-mode globals @cconger
  • #20585 ci: cross-compile Windows Bazel tests @bolinfest
  • #20701 ci: cross-compile Windows Bazel clippy @bolinfest
  • #20676 Fix custom CA login behind TLS-inspecting proxies @jgershen-oai
  • #20654 fix(tui): bound startup terminal probes @fcoury-oai
  • #20566 [tool_suggest] More prompt polishes. @mzeng-openai
  • #20751 Bound websocket request sends with idle timeout @pakrym-oai
  • #20893 [codex] Add issue labeler area labels @etraut-openai
  • #20896 Remove local docs and specs @etraut-openai
  • #20897 [codex] Refactor app-server dispatch result flow @pakrym-oai
  • #20677 [codex] Emit MCP tool calls as turn items @pakrym-oai
  • #20973 feat: support template interpolation in multi-agent usage hints @jif-oai
  • #20622 feat: memories mcp v1 @jif-oai
  • #20773 feat: add remote compaction v2 Responses client path @jif-oai
  • #20986 feat: add line offsets to memory read MCP @jif-oai
  • #20991 feat: add max_lines to memories MCP read @jif-oai
  • #20993 feat: paginate MCP memories list @jif-oai
  • #20994 feat: make memories MCP list shallow @jif-oai
  • #20996 feat: paginate memories MCP search results @jif-oai
  • #20997 feat: add context lines to memories MCP search @jif-oai
  • #20998 nit: renaming @jif-oai
  • #21004 feat: support multi-query memories search @jif-oai
  • #21006 nit: legacy @jif-oai
  • #20815 Speed up /side parent restore replay @etraut-openai
  • #20790 Keep paused goals paused on thread resume @etraut-openai
  • #20940 [codex] Split app-server request processors @pakrym-oai
  • #21023 typo @jif-oai
  • #21012 memories/mcp: generate tool schemas with schemars @jif-oai
  • #21010 memories-mcp: reject symlink traversal in local backend @jif-oai
  • #20989 core: share responses request builder with compact requests @jif-oai
  • #20853 [mcp-apps] Persist MCP Apps specific tool call end event. @mzeng-openai
  • #20750 Unify skip-review handling for approval_mode = “approve” @mzeng-openai
  • #20682 feat(app-server): always return limited thread history @owenlin0
  • #20628 fix(linux-sandbox): fall back when system bwrap lacks perms @viyatb-oai
  • #20794 feat(tui): add keymap debug inspector @fcoury-oai
  • #21034 tui: retire /approvals and rename /autoreview to /approve @won-openai
  • #20669 Prepare selected environment plumbing @starr-openai
  • #20685 Fix Windows PTY teardown by preserving ConPTY ownership @iceweasel-oai
  • #20663 Add stdio exec-server listener @starr-openai
  • #20561 state: pass state db handles through consumers @euroelessar
  • #21054 rollout: store web search and mcp tool calls @owenlin0
  • #20892 feat(tui): add PR summary statusline items @fcoury-oai
  • #20798 feat(tui): improve TUI keymap coverage @fcoury-oai
  • #21053 Use MCP server instructions in deferred namespace descriptions @sayan-oai
  • #21026 core: preserve last model ids in feedback tags @sayan-oai
  • #21060 core: fix apply_patch request permissions test @bolinfest
  • #20060 Add reasoning effort to turn tracing spans @charley-openai
  • #21058 fix(tui): support modified backspace/delete keys @fcoury-oai
  • #21057 bazel: run sharded rust integration tests @bolinfest
  • #18914 fix(tui): use shared paste burst interval on Windows @fcoury-oai
  • #20715 Make realtime sideband startup async @kmeelu-oai
  • #20514 [codex-analytics] add item lifecycle timing @rhan-oai
  • #20722 Remove remote plugin uninstall prefix gate @xli-oai
  • #19040 [codex] Add unsandboxed process exec API @euroelessar
  • #21105 [network-proxy] Cover DNS timeout blocking @evawong-oai
  • #21059 Rename agent identity login surface to access token @shijie-oai
  • #20576 codex: route metadata updates through ThreadStore @wiltzius-openai
  • #20923 Add plugin ID to skill analytics @alexsong-oai
  • #21122 Add turn_id to Codex skill invocation analytics @edwardysun3
  • #20575 codex: migrate (more) app-server thread history reads to ThreadStore @wiltzius-openai
  • #21069 Spill large hook outputs from context @abhinav-oai
  • #20969 1- Add model service tiers metadata @aibrahim-oai
  • #21170 tools: remove unused experimental list_dir tool @jif-oai
  • #21201 memories-mcp: hide dot paths from list, read, and search @jif-oai
  • #21204 feat: support windowed multi-query memory search @jif-oai
  • #21205 feat: add normalized matching to memory search @jif-oai
  • #20207 fix(tui): make /copy work inside tmux without passthrough @fcoury-oai
  • #20799 Add goal lifecycle metrics @etraut-openai
  • #20746 Validate /goal objective length in TUI @etraut-openai
  • #20708 Add Windows sandbox readiness RPC @iceweasel-oai
  • #20692 Support PreToolUse additionalContext @abhinav-oai
  • #21091 [codex] Fix TUI large paste placeholder numbering after Ctrl+C @canvrno-oai
  • #21089 [codex] Fix fork –last cwd filtering @canvrno-oai
  • #21152 revert legacy notify deprecation @abhinav-oai
  • #21190 fix(tui): external editor expansion for same-size large pastes @fcoury-oai
  • #20111 fix(sandboxing): Bound advisory system bwrap startup probe @viyatb-oai
  • #21220 chore: add minimal proxy egress diagnostics @viyatb-oai
  • #20819 feat(tui): add raw scrollback mode @fcoury-oai
  • #21225 app-server: ignore persist_extended_history param @owenlin0
  • #17089 [codex-analytics] add tool item event schemas @rhan-oai
  • #20647 Route process tools to selected environments @starr-openai
  • #20321 hook trust metadata and enforcement @abhinav-oai
  • #21221 [codex] Use shared app-server JSON-RPC error helpers @pakrym-oai
  • #21063 add turn items view to app-server turns @rhan-oai
  • #21001 feat(tui): route /diff through workspace commands @fcoury-oai
  • #20065 feat(tui): redesign session picker @fcoury-oai
  • #21127 fix(linux-sandbox): avoid panic on bwrap build failures @viyatb-oai
  • #21234 fix(linux-sandbox): isolate Linux sandbox synthetic mount registry per user for shared codex use case @viyatb-oai
  • #20687 [codex] Split tool handlers by tool name @pakrym-oai
  • #21113 Auto-deny MCP elicitations for Xcode 26.4 clients @etraut-openai
  • #21243 [codex] fix TUI turn items view fixtures @fcoury-oai
  • #21146 Enable V8 sandboxing for source-built builds @cconger
  • #20689 Inject state DB, agent graph store @rasmusrygaard
  • #19575 Add cloud executor registration to exec-server @miz-openai
  • #20577 codex: use ThreadStore history for core review forks @wiltzius-openai
  • #21261 fix build @bolinfest
  • #21251 chore(app-server-protocol): split v2 API definitions into modules @owenlin0
  • #21259 ci: trigger rusty-v8 releases from tags @cconger
  • #21255 linux-sandbox: use standalone bundled bwrap @bolinfest
  • #21256 release: publish standalone bwrap artifacts @bolinfest
  • #21260 [codex] Move thread naming to app server @pakrym-oai
  • #21219 Add model and reasoning effort to MCP turn metadata @mchen-oai
  • #21275 Share Git safe-command logic on Windows @iceweasel-oai
  • #21257 release/npm: bundle standalone bwrap on Linux @bolinfest
  • #21276 [codex] Remove unused ListModels op @pakrym-oai
  • #21282 [codex] Remove legacy ListSkills op @pakrym-oai
  • #21271 Expose plugin manifest keywords in app server @alfozan
  • #20949 [codex-analytics] rework thread_source for thread analytics @rhan-oai
  • #21124 feat: Add plugin share access controls @xl-openai
  • #20724 app-server: align dynamic tool identifiers with Responses API @eternal-openai
  • #21055 Preserve session MCP config on refresh @aaronl-openai
  • #21277 [mcp] Return Accept early per feedback. @mzeng-openai
  • #21285 fix(bwrap): emit libcap after standalone archive @viyatb-oai
  • #21312 release: bundle bwrap with Linux codex DotSlash artifact @bolinfest
  • #19193 Support Codex Apps auth elicitations @mzeng-openai
  • #20437 feat: add session_id @jif-oai
  • #21328 test: isolate app-server-client in-process test state @jif-oai
  • #21329 feat: include thread ID in MCP turn metadata @jif-oai
  • #21332 feat: return session ID from thread/fork @jif-oai
  • #21337 Revert “feat: support template interpolation in multi-agent usage hints” @jif-oai
  • #21249 Propagate cache key and service tiers in compact @aibrahim-oai
  • #21182 Move installation ID resolution out of core startup @jif-oai
  • #21214 chore: spawn MCP for memories @jif-oai
  • #21336 feat(app-server): move v2 sessionId onto Thread @jif-oai
  • #21350 [codex] fix builtin MCP Windows path test @jif-oai
  • #20971 2- Use string service tiers in session protocol @aibrahim-oai
  • #21278 Move message history out of core @pakrym-oai
  • #21284 [codex] Add response.processed websocket request @pakrym-oai
  • #21367 rollout: coalesce thread updated_at touches @jif-oai
  • #21378 feat: move auto vaccum @jif-oai
  • #21263 [codex] Coordinate OpenAI docs sample with API key setup @mifan-oai
  • #21351 fix(tui): keep Ctrl-C stashed drafts after /clear @fcoury-oai
  • #21389 vendor: update bubblewrap to 0.11.2 @bolinfest
  • #21281 Remove core MCP list tools op @pakrym-oai
  • #21381 [codex] Handle git pagination flags by position @iceweasel-oai
  • #21397 fix(tui): persist ctrl-c draft via app event @fcoury-oai
  • #19431 Route opted-in MCP elicitations through Guardian @cd-oai
  • #21107 Avoid noisy OTEL diagnostics in codex exec @cpaasch-oai
  • #21390 Avoid hard-coded environment context shell @starr-openai
  • #21090 [codex] Dedupe fallback model metadata warnings @canvrno-oai
  • #21395 [codex] Split tool handlers into separate files @pakrym-oai
  • #21401 [codex-tui] pass thread source for tui threads @rhan-oai
  • #17090 [codex-analytics] emit tool item events from item lifecycle @rhan-oai
  • #21409 [codex] Fix Windows sandbox git safe.directory for worktrees @iceweasel-oai
  • #21379 Document Codex git commit attribution config @henzelmann-oai
  • #21287 Move skills watcher to app-server @pakrym-oai
  • #21416 [codex] Move tool specs into core handlers @pakrym-oai
  • #21419 feat: Add marketplace source filtering and plugin share context @xl-openai
  • #19905 Add compact lifecycle hooks (started by vincentkoc - external contrib) @eternal-openai
  • #21460 Revert “Move skills watcher to app-server” @pakrym-oai
  • #21450 fix(tui): clear first inline viewport render @fcoury-oai
  • #21427 [codex] Delete tool handler plan indirection @pakrym-oai
  • #21423 [codex] Add OpenAI Developers to tool suggest allowlist @mifan-oai
  • #21340 [codex] allow shared config reads in app-server queue @xli-oai
  • #21441 [codex] Parallelize skills list cwd loading @xli-oai
  • #21481 Revert state DB injection and agent graph store @pakrym-oai

Update Apr 30, 2026 tracked by Updatify

0.128.0

New Features

  • Added persisted /goal workflows with app-server APIs, model tools, runtime continuation, and TUI controls for create, pause, resume, and clear. (#18073, #18074, #18075, #18076, #18077, #20082)
  • Added codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn /statusline and /title edits. (#19933, #18593, #19901, #18372, #19917)
  • Expanded permission profiles with built-in defaults, sandbox CLI profile selection, cwd controls, and active-profile metadata for clients. (#19900, #20117, #20118, #20095)
  • Improved plugin workflows with marketplace installation, remote bundle caching, remote uninstall, plugin-bundled hooks, hook enablement state, and external-agent config import. (#18704, #19914, #19456, #19705, #19840, #19949)
  • Added external agent session import, including background imports and imported-session title handling. (#19895, #20284, #20261)
  • Made MultiAgentV2 configuration more explicit with thread caps, wait-time controls, root/subagent hints, and v2-specific depth handling. (#19360, #19792, #19805, #20052, #20180)

Bug Fixes

  • Fixed several resume and interruption issues, including stale interrupt hangs, persisted provider restoration, large remote resume responses, and slow filtered resume lists. (#18392, #19287, #19920, #19591)
  • Improved TUI reliability around terminal resize reflow, markdown list spacing, slash-command popup layout, keyboard cleanup, shell-mode escape, and working status updates. (#18575, #19706, #19511, #19625, #19986, #19939)
  • Hardened managed network behavior for deferred denials, proxy bypass defaults, resolved target checks, IPv6 host matching, and git -C approval handling. (#19184, #20002, #19999, #19995, #20085)
  • Fixed Windows sandbox and PTY edge cases, including pseudoconsole startup, elevated runner process handling, core shell environment inheritance, and named-pipe validation. (#20042, #19211, #20089, #19283)
  • Fixed Bedrock model support for apply_patch, GPT-5.4 reasoning levels, and updated Bedrock GPT-5.4 endpoint/model metadata. (#19416, #19461, #20109)
  • Fixed MCP/plugin edge cases around stdio server cleanup, plugin MCP approval persistence, and custom MCP metadata isolation. (#19753, #19537, #19836, #19875)

Documentation

  • Updated the bundled OpenAI Docs skill for GPT-5.5, gpt-image-2, and clearer upgrade guidance. (#19407, #19443, #19422)
  • Clarified contributor-facing docs, including the PR template, Rust async trait guidance, and README wording. (#19912, #20242, #19514)
  • Added a checked-in codex-core public API listing and a ThreadManager sample crate. (#20243, #20141)

Chores

  • Published codex-app-server release artifacts, stopped publishing GNU Linux binaries, and increased release workflow timeouts. (#19447, #19445, #20271, #20343)
  • Added Codex-pinned versioning for the Python app-server SDK package. (#18996)
  • Deprecated --full-auto while steering users toward explicit permission profiles and trust flows. (#20133)
  • Stabilized CI and release plumbing with Bazel setup migration, release smoke-test pinning, and updated workflow pins/timeouts. (#19851, #19854, #19472, #19609)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.125.0…rust-v0.128.0

  • #19124 Make MultiAgentV2 interruption markers assistant-authored @jif-oai
  • #19354 chore: alias max_concurrent_threads_per_session @jif-oai
  • #19360 feat: surface multi-agent thread limit in spawn description @jif-oai
  • #19351 Add agents.interrupt_message for interruption markers @jif-oai
  • #18392 Fix hang on turn/interrupt @danwang-oai
  • #19380 chore: drop MCP Plugins and App from Morpheus @jif-oai
  • #18907 respect workspace option for disabling plugins @zamoshchin-openai
  • #19283 check PID of named pipe consumer @iceweasel-oai
  • #19407 Update bundled OpenAI Docs skill for GPT-5.5 @kkahadze-oai
  • #19163 Harden package-manager install policy @mcgrew-oai
  • #19416 Fix: use function apply_patch tool for Bedrock model @celia-oai
  • #19093 [codex] Omit fork turns from thread started notifications @euroelessar
  • #19244 Update unix socket transport to use WebSocket upgrade @willwang-openai
  • #19170 Skip disabled rows in selection menu numbering and default focus @canvrno-oai
  • #19414 permissions: make legacy profile conversion cwd-free @bolinfest
  • #18900 Migrate fork and resume reads to thread store @wiltzius-openai
  • #19445 ci: stop publishing GNU Linux release artifacts @bolinfest
  • #19443 Add gpt-image-2 to bundled OpenAI Docs skill @kkahadze-oai
  • #18584 [4/4] Honor Streamable HTTP MCP placement @aibrahim-oai
  • #19447 ci: publish codex-app-server release artifacts @bolinfest
  • #19422 Clarify bundled OpenAI Docs upgrade guide wording @kkahadze-oai
  • #19266 [codex] add non-local thread store regression harness @wiltzius-openai
  • #19098 feat: Compress skill paths with root aliases @xl-openai
  • #19207 [codex] Forward Codex Apps tool call IDs to backend metadata @rreichel3-oai
  • #19453 Serialize legacy Windows PowerShell sandbox tests @dylan-hurd-oai
  • #19234 Refactor log DB into LogWriter interface @rasmusrygaard
  • #19461 fix: Bedrock GPT-5.4 reasoning levels @celia-oai
  • #19449 permissions: remove legacy read-only access modes @bolinfest
  • #19472 ci: pin codex-action v1.7 @viyatb-oai
  • #19468 Fix Bazel cargo_bin runfiles paths @fjord-oai
  • #19410 Remove js_repl feature @fjord-oai
  • #18073 Add goal persistence foundation (1 / 5) @etraut-openai
  • #18074 Add goal app-server API (2 / 5) @etraut-openai
  • #18075 Add goal model tools (3 / 5) @etraut-openai
  • #18076 Add goal core runtime (4 / 5) @etraut-openai
  • #18077 Add goal TUI UX (5 / 5) @etraut-openai
  • #19454 Split approval matrix test groups @dylan-hurd-oai
  • #19514 Fix codex-rs README grammar @etraut-openai
  • #19459 Enable unavailable dummy tools by default @mzeng-openai
  • #19524 [codex] Prune unused codex-mcp API and duplicate helpers @aibrahim-oai
  • #19526 [codex] Order codex-mcp items by visibility @aibrahim-oai
  • #19578 fix: increase Bazel timeout to 45 minutes @bolinfest
  • #19287 Restore persisted model provider on thread resume @etraut-openai
  • #19593 test: isolate remote thread store regression from plugin warmups @bolinfest
  • #19511 Keep slash command popup columns stable while scrolling @etraut-openai
  • #19595 [codex] Bypass managed network for escalated exec @viyatb-oai
  • #19604 test: stabilize app-server path assertions on Windows @bolinfest
  • #19609 fix: restore 30-minute timeout for Bazel builds @bolinfest
  • #19389 Guard npm update readiness @shijie-oai
  • #18575 fix(tui): reflow scrollback on terminal resize @fcoury-oai
  • #19610 Support end_turn in response.completed @andmis
  • #19640 [codex] remove responses command @tibo-openai
  • #19683 test: harden app-server integration tests @bolinfest
  • #18904 feat: load AgentIdentity from JWT login/env @efrazer-oai
  • #19606 permissions: make runtime config profile-backed @bolinfest
  • #19392 permissions: derive compatibility policies from profiles @bolinfest
  • #19484 Lift app-server JSON-RPC error handling to request boundary @pakrym-oai
  • #19487 [codex] Move config loading into codex-config @pakrym-oai
  • #19393 permissions: migrate approval and sandbox consumers to profiles @bolinfest
  • #19726 Fix codex-core config test type paths @pakrym-oai
  • #19727 test: increase core-all-test shard count to 16 @bolinfest
  • #19725 Split MCP connection modules @aibrahim-oai
  • #19605 Delete unused ResponseItem::Message.end_turn @andmis
  • #19394 permissions: remove core legacy policy round trips @bolinfest
  • #19733 Allow agents.max_threads to work with multi_agent_v2 @andmis
  • #19395 permissions: finish profile-backed app surfaces @bolinfest
  • #19739 inline hostname resolution for remote sandbox config @abhinav-oai
  • #19734 permissions: centralize legacy sandbox projection @bolinfest
  • #19058 Add /auto-review-denials retry approval flow @won-openai
  • #19735 permissions: store only constrained permission profiles @bolinfest
  • #19736 permissions: constrain requirements as profiles @bolinfest
  • #19737 permissions: derive legacy exec policies at boundaries @bolinfest
  • #19779 Add Codex issue digest skill @etraut-openai
  • #19792 multi_agent_v2: move thread cap into feature config @jif-oai
  • #18982 feat: use git-backed workspace diffs for memory consolidation @jif-oai
  • #19809 Allow Phase 2 memory claims after retry exhaustion @jif-oai
  • #19812 Avoid rewriting Phase 2 selection on clean workspace @jif-oai
  • #19813 nit: one more fix @jif-oai
  • #19818 chore: split memories part 1 @jif-oai
  • #19510 Hide rewind preview when no user message exists @etraut-openai
  • #19618 Persist shell mode commands in prompt history @etraut-openai
  • #19709 Render delegated patch approval details @etraut-openai
  • #19490 Streamline plugin, apps, and skills handlers @pakrym-oai
  • #19762 refactor: make auth loading async @efrazer-oai
  • #19854 ci: pin npm staging smoke test to a recent rust-release run @bolinfest
  • #19851 ci: migrate Bazel setup away from archived setup-bazelisk @bolinfest
  • #19491 Streamline account and command handlers @pakrym-oai
  • #19771 fix: filter dynamic deferred tools from model_visible_specs @sayan-oai
  • #19863 [codex-analytics] remove ga flag @rhan-oai
  • #19865 Cap original-detail image token estimates @fjord-oai
  • #19591 Fix filtered thread-list resume regression in TUI @etraut-openai
  • #19513 Delay approval prompts while typing @etraut-openai
  • #19706 Preserve TUI markdown list spacing after code blocks @etraut-openai
  • #19841 permissions: remove cwd special path @bolinfest
  • #19492 Streamline thread start handler @pakrym-oai
  • #19874 [codex-backend] Prefer state git metadata in filtered thread lists @joeytrasatti-openai
  • #19493 Streamline thread mutation handlers @pakrym-oai
  • #19862 [codex] Shard exec Bazel integration test @starr-openai
  • #18996 Publish Python SDK with Codex-pinned versioning @sdcoffey
  • #19494 Streamline thread read handlers @pakrym-oai
  • #19839 [codex] Trace cancelled inference streams @cassirer-openai
  • #19495 Streamline thread resume and fork handlers @pakrym-oai
  • #19497 Streamline turn and realtime handlers @pakrym-oai
  • #18372 Show action required in terminal title @canvrno-oai
  • #19884 Add MCP app feature flag @mzeng-openai
  • #19498 Streamline review and feedback handlers @pakrym-oai
  • #19772 permissions: derive config defaults as profiles @bolinfest
  • #19836 disallow fileparams metadata for custom mcps @colby-oai
  • #19892 Refactor exec-server filesystem API into codex-file-system @miz-openai
  • #19452 Stabilize plugin MCP fixture tests @dylan-hurd-oai
  • #19481 Remove ghost snapshots @pakrym-oai
  • #19773 permissions: require profiles in TUI thread state @bolinfest
  • #19917 Allow /statusline and /title slash commands during active turns @canvrno-oai
  • #19763 refactor: load agent identity runtime eagerly @efrazer-oai
  • #17689 [codex-analytics] include user agent in default headers @marksteinbrick-oai
  • #19912 Clarify PR template invitation requirement @etraut-openai
  • #19630 Avoid persisting ShutdownComplete after thread shutdown @etraut-openai
  • #19774 permissions: make SessionConfigured profile-only @bolinfest
  • #19775 permissions: derive snapshot sandbox projections @bolinfest
  • #19920 Allow large remote app-server resume responses @etraut-openai
  • #19776 permissions: store thread sessions as profiles @bolinfest
  • #19899 app-server-protocol: mark permission profiles experimental @bolinfest
  • #19933 Add codex update command @etraut-openai
  • #19914 feat: Cache remote plugin bundles on install @xl-openai
  • #19456 Add remote plugin uninstall API @xli-oai
  • #19805 Add MultiAgentV2 root and subagent context hints @jif-oai
  • #19860 feat: split memories part 2 @jif-oai
  • #19961 feat: fix hinting 2 @jif-oai
  • #19963 feat: fix hinting 3 @jif-oai
  • #19967 Stabilize memory Phase 2 input ordering @jif-oai
  • #19970 feat: trigger memories from user turns with cooldown @jif-oai
  • #19904 fix: configure AgentIdentity AuthAPI base URL @efrazer-oai
  • #19990 feat: skip memory startup when Codex rate limits are low @jif-oai
  • #19998 feat: house-keeping memories 1 @jif-oai
  • #20000 feat: house-keeping memories 2 @jif-oai
  • #19832 Preserve assistant phase for replayed messages @friel-openai
  • #19625 Reset TUI keyboard reporting on exit @etraut-openai
  • #18593 feat(tui): add configurable keymap support @fcoury-oai
  • #19846 [sandbox] Enforce protected workspace metadata paths @evawong-oai
  • #20005 feat: house-keeping memories 3 @jif-oai
  • #19929 TUI: use cumulative turn duration for worked-for separator @etraut-openai
  • #19753 Terminate stdio MCP servers on shutdown to avoid process leaks @etraut-openai
  • #19473 Add turn start timestamp to turn metadata @mchen-oai
  • #19875 Strip connector provenance metadata from custom MCP tools @colby-oai
  • #19764 feat: verify agent identity JWTs with JWKS @efrazer-oai
  • #19847 Enforce workspace metadata protections in Seatbelt @evawong-oai
  • #19509 Record MCP result telemetry on mcp.tools.call spans @mchen-oai
  • #19907 Clarify network approval auto-review prompts @maja-openai
  • #19901 feat(tui): suggest plan mode from composer drafts @fcoury-oai
  • #19931 Move local /resume cwd filtering into thread/list @canvrno-oai
  • #19986 fix(tui): let esc exit empty shell mode @fcoury-oai
  • #19895 External agent session support @stefanstokic-oai
  • #20002 fix(network-proxy): tighten network proxy bypass defaults @viyatb-oai
  • #19900 permissions: add built-in default profiles @bolinfest
  • #20045 Fix plan mode nudge test after task completion signature change @canvrno-oai
  • #19432 [codex] Add token usage to turn tracing spans @charley-openai
  • #20001 fix(network-proxy): harden linux proxy bridge helpers @viyatb-oai
  • #19959 Fix log db batch flush flake @dylan-hurd-oai
  • #17373 app-server: run initialized rpcs with keyed serialization @euroelessar
  • #19708 Load cloud requirements for agent identity @shijie-oai
  • #19999 fix(network-proxy): recheck network proxy connect targets @viyatb-oai
  • #20047 app-server: allow remote_control runtime feature override @euroelessar
  • #20052 Make MultiAgentV2 wait minimum configurable @jif-oai
  • #20008 tui: use permission profiles for sandbox state @bolinfest
  • #20068 app-server: disable remote control without sqlite @euroelessar
  • #20066 [rollout-trace] Include x-request-id in rollout trace. @cassirer-openai
  • #19705 Discover hooks bundled with plugins @abhinav-oai
  • #18704 /plugins: add marketplace install flow @canvrno-oai
  • #20085 fix: don’t auto approve git -C … @owenlin0
  • #20088 Fix flaky plugin hook env test @abhinav-oai
  • #19995 fix(network-proxy): normalize network proxy host matching @viyatb-oai
  • #20010 core tests: submit turns with permission profiles @bolinfest
  • #20092 Return None when auth refresh fails @gpeal
  • #19919 app-server: notify clients of remote-control status changes @euroelessar
  • #20097 Refine Codex issue digest summaries @etraut-openai
  • #20011 core tests: build user turns from permission profiles @bolinfest
  • #20013 core tests: migrate more turns to permission profiles @bolinfest
  • #20015 core tests: configure profiles directly @bolinfest
  • #20016 core tests: send model turns with permission profiles @bolinfest
  • #20100 Increase plugin hook env test timeout @abhinav-oai
  • #20018 core tests: migrate model/personality turns to profiles @bolinfest
  • #20021 core tests: migrate view image turns to profiles @bolinfest
  • #20024 core tests: migrate safety check turns to profiles @bolinfest
  • #20026 core tests: migrate plan item turns to profiles @bolinfest
  • #20027 core tests: migrate tools tests to permission profiles @bolinfest
  • #20028 core tests: migrate permissions message tests to profiles @bolinfest
  • #20030 core tests: migrate exec policy turns to profiles @bolinfest
  • #20032 core tests: migrate prompt caching turns to profiles @bolinfest
  • #20033 core tests: migrate request permissions tool turns to profiles @bolinfest
  • #20034 core tests: migrate zsh-fork permissions to profiles @bolinfest
  • #20035 core tests: migrate compact turns to profiles @bolinfest
  • #20037 core tests: migrate rmcp turns to profiles @bolinfest
  • #20040 core tests: migrate apply patch turns to profiles @bolinfest
  • #20041 core tests: migrate hook turns to profiles @bolinfest
  • #20072 Support disabling tool suggest for specific tools. @mzeng-openai
  • #19949 Support detect and import MCP, Subagents, hooks, commands from external @alexsong-oai
  • #19442 feat: disable capabilities by model provider @celia-oai
  • #20108 fix: restore live event submit path for apply patch tests @bolinfest
  • #19939 Restore TUI working status after steer message is set @canvrno-oai
  • #20086 Fix plugin list workspace settings test isolation @canvrno-oai
  • #20049 feat: expose provider capability bounds to app server clients @celia-oai
  • #20109 feat: update Bedrock Mantle endpoint and GPT-5.4 model ID @celia-oai
  • #20106 linux-sandbox: switch helper plumbing to PermissionProfile @bolinfest
  • #20112 Soften skill description budget warnings @xl-openai
  • #20058 Add environment provider snapshot @starr-openai
  • #20133 chore(cli) deprecate –full-auto @dylan-hurd-oai
  • #20117 feat(cli): add explicit sandbox permission profiles @viyatb-oai
  • #20139 Delete multi_agent_v2 followup_task interrupt parameter @andmis
  • #20118 feat(cli): add sandbox profile config controls @viyatb-oai
  • #20144 Fix migrated hook path rewriting @alexsong-oai
  • #20042 Fix Windows pseudoconsole attribute handling for sandboxed PTY sessions @iceweasel-oai
  • #20186 nit: drop old memories things @jif-oai
  • #20180 Make multi-agent v2 ignore agents.max_depth @jif-oai
  • #20082 Use /goal resume for paused goals @etraut-openai
  • #20172 TUI: Remove core protocol dependency [1/7] @etraut-openai
  • #19211 Improve Windows process management edge cases @iceweasel-oai
  • #20123 [rollout-tracer] Match analysis messages on encrypted id. @cassirer-openai
  • #20173 TUI: Remove core protocol dependency [2/7] @etraut-openai
  • #20174 TUI: Remove core protocol dependency [3/7] @etraut-openai
  • #20228 [codex-backend] Prefer sqlite git info for rollout-path reads @joeytrasatti-openai
  • #20141 Add ThreadManager sample crate @pakrym-oai
  • #20046 test protocol: lock inter-agent commentary phase @friel-openai
  • #20064 Include auto-review rollout in feedback uploads @won-openai
  • #20096 feat: Use remote installed plugin cache for skills and MCP @xl-openai
  • #19184 fix: handle deferred network proxy denials @viyatb-oai
  • #20089 expand the set of core shell env vars for Windows. @iceweasel-oai
  • #17088 [codex-analytics] ingest server requests and responses @rhan-oai
  • #20091 [tool_suggest] Improve tool_suggest triggering conditions. @mzeng-openai
  • #20258 app-server: fix outgoing sender test setup @sayan-oai
  • #20050 [app-server] type client response payloads @rhan-oai
  • #19966 Require remote plugin detail before uninstall @xli-oai
  • #20059 [app-server] centralize client response analytics @rhan-oai
  • #19334 Fallback login callback port when default is busy @xli-oai
  • #20231 [apps] Add apps MCP path override @adaley-openai
  • #20242 docs: discourage #[async_trait] and #[allow(async_fn_in_trait)] @bolinfest
  • #19620 Escape turn metadata headers as ASCII JSON @etraut-openai
  • #19537 [mcp] Fix plugin MCP approval policy. @mzeng-openai
  • #19229 Add agent graph store interface @rasmusrygaard
  • #20243 Add codex-core public API listing @pakrym-oai
  • #19435 stop blocking unified_exec on Windows @iceweasel-oai
  • #19852 Enforce workspace metadata protections in Linux sandbox @evawong-oai
  • #20136 Update Codex login success page UX @rafael-jac
  • #20271 chore: increase release build timeout from 60 min to 90 @bolinfest
  • #19778 Add hooks/list app-server RPC @abhinav-oai
  • #20261 Consume ai-title from external sessions and add end marker @alexsong-oai
  • #20284 Import external agent sessions in background @stefanstokic-oai
  • #20149 Reduce the surface of collaboration modes @pakrym-oai
  • #20282 tui: return from side chat on Ctrl-D @etraut-openai
  • #20250 update codex_plugins_beta_setting (from workspace settings) @zamoshchin-openai
  • #20080 [codex-analytics] prevent stale guardian events from satisfying reused reviews @rhan-oai
  • #20291 app-server: remove dead api version handling from bespoke events @pakrym-oai
  • #20304 [plugins] Allow MSFT curated plugins in tool_suggest @mzeng-openai
  • #20095 permissions: expose active profile metadata @bolinfest
  • #19840 Add persisted hook enablement state @abhinav-oai
  • #20343 ci: increase Windows release workflow timeouts @bolinfest

Update Apr 24, 2026 tracked by Updatify

0.125.0

New Features

  • App-server integrations now support Unix socket transport, pagination-friendly resume/fork, sticky environments, and remote thread config/store plumbing. (#18255, #18892, #18897, #18908, #19008, #19014)
  • App-server plugin management can install remote plugins and upgrade configured marketplaces. (#18917, #19074)
  • Permission profiles now round-trip across TUI sessions, user turns, MCP sandbox state, shell escalation, and app-server APIs. (#18284, #18285, #18286, #18287, #19231)
  • Model providers now own model discovery, with AWS/Bedrock account state exposed to app clients. (#18950, #19048)
  • codex exec --json now reports reasoning-token usage for programmatic consumers. (#19308)
  • Rollout tracing now records tool, code-mode, session, and multi-agent relationships, with a debug reducer command for inspection. (#18878, #18879, #18880)

Bug Fixes

  • Interrupting /review and exiting the TUI no longer leaves the interface wedged on delegate startup or unsubscribe. (#18921)
  • Exec-server no longer drops buffered output after process exit and now waits correctly for stream closure. (#18946, #19130)
  • App-server now respects explicitly untrusted project config instead of auto-persisting trust. (#18626)
  • WebSocket app-server clients are less likely to disconnect during bursts of turn and tool-output notifications. (#19246)
  • Windows sandbox startup handles multiple CLI versions and installed app directories better, and background Start-Process calls avoid visible PowerShell windows. (#19044, #19180, #19214)
  • Config/schema handling now rejects conflicting MultiAgentV2 thread limits, resolves relative agent-role config paths, hides unsupported MCP bearer-token fields, and rejects invalid js_repl image MIME types. (#19129, #19261, #19294, #19292)

Documentation

  • App-server docs and generated schemas were refreshed for the new transport, thread, marketplace, sticky environment, and permission-profile APIs. (#18255, #18897, #19014, #19074, #19231)
  • Rollout-trace documentation now covers the debug trace reduction workflow. (#18880)

Chores

  • Refreshed models.json and related core, app-server, SDK, and TUI fixtures for the latest model catalog and reasoning defaults. (#19323)
  • Windows Bazel CI now uses a stable PATH and shared query startup path for better cache reuse. (#19161, #19232)
  • Plugin marketplace add/remove/startup-sync internals moved out of codex-core, and curated plugin cache versions now use short SHAs. (#19099, #19095)
  • Reverted a macOS signing entitlement change after it caused alpha startup failures. (#19167, #19350)
  • Stabilized flaky approval-popup and plugin MCP tool-discovery tests. (#19178, #19191)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.124.0…rust-v0.125.0

  • #19129 Reject agents.max_threads with multi_agent_v2 @jif-oai
  • #19130 exec-server: wait for close after observed exit @jif-oai
  • #19149 Update safety check wording @etraut-openai
  • #18284 tui: sync session permission profiles @bolinfest
  • #18710 [codex] Fix plugin marketplace help usage @xli-oai
  • #19127 feat: drop spawned-agent context instructions @jif-oai
  • #18892 Add remote thread config loader protos @rasmusrygaard
  • #19014 Add excludeTurns parameter to thread/resume and thread/fork @ddr-oai
  • #18882 [codex] Route live thread writes through ThreadStore @wiltzius-openai
  • #19008 [codex] Implement remote thread store methods @wiltzius-openai
  • #18626 Respect explicit untrusted project config @etraut-openai
  • #18255 app-server: add Unix socket transport @euroelessar
  • #19167 ci: add macOS keychain entitlements @euroelessar
  • #19099 Move marketplace add/remove and startup sync out of core. @xl-openai
  • #19168 Use Auto-review wording for fallback rationale @maja-openai
  • #18908 Add remote thread config endpoint @rasmusrygaard
  • #18285 tui: carry permission profiles on user turns @bolinfest
  • #18286 mcp: include permission profiles in sandbox state @bolinfest
  • #18878 [rollout_trace] Trace tool and code-mode boundaries @cassirer-openai
  • #18287 shell-escalation: carry resolved permission profiles @bolinfest
  • #18946 fix(exec-server): retain output until streams close @bolinfest
  • #19074 Add app-server marketplace upgrade RPC @xli-oai
  • #19180 use a version-specific suffix for command runner binary in .sandbox-bin @iceweasel-oai
  • #19178 Stabilize approvals popup disabled-row test @etraut-openai
  • #18921 Fix /review interrupt and TUI exit wedges @etraut-openai
  • #19191 Stabilize plugin MCP tools test @etraut-openai
  • #19194 Mark hooks schema fixtures as generated @abhinav-oai
  • #18288 tests: isolate approval fixtures from host rules @bolinfest
  • #19044 guide Windows to use -WindowStyle Hidden for Start-Process calls @iceweasel-oai
  • #19214 do not attempt ACLs on installed codex dir @iceweasel-oai
  • #19161 ci: derive cache-stable Windows Bazel PATH @bolinfest
  • #18811 refactor: route Codex auth through AuthProvider @efrazer-oai
  • #19246 Increase app-server WebSocket outbound buffer @etraut-openai
  • #19048 feat: expose AWS account state from account/read @celia-oai
  • #18880 [rollout_trace] Add debug trace reduction command @cassirer-openai
  • #18897 Add sticky environment API and thread state @starr-openai
  • #18879 [rollout_trace] Trace sessions and multi-agent edges @cassirer-openai
  • #19095 feat: Use short SHA versions for curated plugin cache entries @xl-openai
  • #18950 feat: let model providers own model discovery @celia-oai
  • #19206 app-server: persist device key bindings in sqlite @euroelessar
  • #18917 [codex] Support remote plugin install writes @xli-oai
  • #19231 permissions: make profiles represent enforcement @bolinfest
  • #19261 Resolve relative agent role config paths from layers @etraut-openai
  • #19232 ci: reuse Bazel CI startup for target-discovery queries @bolinfest
  • #19292 Reject unsupported js_repl image MIME types @etraut-openai
  • #19247 chore: apply truncation policy to unified_exec @sayan-oai
  • #19294 Hide unsupported MCP bearer_token from config schema @etraut-openai
  • #19308 Surface reasoning tokens in exec JSON usage @etraut-openai
  • #19323 Update models.json and related fixtures @sayan-oai
  • #19350 fix alpha build @jif-oai

Update Apr 23, 2026 tracked by Updatify

0.124.0

New Features

  • The TUI now has quick reasoning controls: Alt+, lowers reasoning, Alt+. raises it, and accepted model upgrades now reset reasoning to the new model’s default instead of carrying over stale settings. (#18866, #19085)
  • App-server sessions can now manage multiple environments and choose an environment and working directory per turn, which makes multi-workspace and remote setups easier to target precisely. (#18401, #18416)
  • Added first-class Amazon Bedrock support for OpenAI-compatible providers, including AWS SigV4 signing and AWS credential-based auth. (#17820)
  • Remote plugin marketplaces can now be listed and read directly, with more reliable detail lookups and larger result pages. (#18452, #19079)
  • Hooks are now stable, can be configured inline in config.toml and managed requirements.toml, and can observe MCP tools as well as apply_patch and long-running Bash sessions. (#18893, #18385, #18391, #18888, #19012)
  • Eligible ChatGPT plans now default to the Fast service tier unless you explicitly opt out. (#19053)

Bug Fixes

  • Preserved Cloudflare cookies across approved ChatGPT hosts, reducing auth breakage in HTTP-backed ChatGPT flows. (#17783)
  • Fixed remote app-server reliability issues so websocket events keep draining under load and shutdown no longer fails when the remote worker exits during cleanup. (#18932, #18936)
  • Fixed permission-mode drift so /permissions changes survive side conversations and updated Full Access state is correctly reflected in MCP approval handling. (#18924, #19033)
  • Fixed wait_agent so it returns promptly when mailbox work is already queued instead of waiting for a fresh notification or timing out. (#18968)
  • Fixed local stdio MCP launches for relative commands without an explicit cwd, bringing fallback path resolution in line with CLI behavior. (#19031)
  • Startup now fails less often on managed config edge cases: unknown feature requirements warn instead of aborting, and cloud-requirements errors are clearer about what failed. (#19038, #19078)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.123.0…rust-v0.124.0

  • #18870 Load app-server config through ConfigManager @pakrym-oai
  • #18866 feat(tui): shortcuts to change reasoning level temporarily @fcoury-oai
  • #18430 app-server: implement device key v2 methods @euroelessar
  • #18757 fix: fully revert agent identity runtime wiring @efrazer-oai
  • #17783 Preserve Cloudfare HTTP cookies in codex @shijie-oai
  • #18876 [rollout_trace] Add rollout trace crate @cassirer-openai
  • #18401 Support multiple managed environments @starr-openai
  • #18797 Allow guardian bare allow output @maja-openai
  • #18886 Normalize /statusline & /title items @canvrno-oai
  • #18768 [codex] Tighten external migration prompt tests @alexsong-oai
  • #18909 Update /statusline and /title snapshots @canvrno-oai
  • #18867 sandboxing: materialize cwd-relative permission globs @bolinfest
  • #18915 fix: windows snapshot for external_agent_config_migration::tests::prompt_snapshot did not match windows output @bolinfest
  • #18416 Add turn-scoped environment selections @starr-openai
  • #18391 fix(core): emit hooks for apply_patch edits @fcoury-oai
  • #18916 test(core): move prompt debug coverage to integration suite @bolinfest
  • #17820 feat: add AWS SigV4 auth for OpenAI-compatible model providers @celia-oai
  • #18913 bazel: run wrapped Rust unit test shards @bolinfest
  • #18452 feat: Support remote plugin list/read. @xl-openai
  • #18936 Fix remote app-server shutdown race @bolinfest
  • #18871 refactor: add agent identity crate @efrazer-oai
  • #18276 exec-server: carry filesystem sandbox profiles @bolinfest
  • #18926 ci: keep argument comment lint checks materialized @bolinfest
  • #18935 Keep TUI status surfaces in sync @etraut-openai
  • #18923 chore(tui) debug-config guardian_policy_config @dylan-hurd-oai
  • #18943 tests: serialize process-heavy Windows CI suites @bolinfest
  • #18934 [codex] Clean guardian instructions @dylan-hurd-oai
  • #18948 chore: remove unused Bedrock auth lazy loading @celia-oai
  • #18277 core: derive active permission profiles @bolinfest
  • #18785 feat: add explicit AgentIdentity auth mode @efrazer-oai
  • #18953 use long-lived sessions for codex sandbox windows @iceweasel-oai
  • #18278 app-server: expose thread permission profiles @bolinfest
  • #17693 [codex-analytics] guardian review analytics events emission @rhan-oai
  • #17695 [codex-analytics] guardian review truncation @rhan-oai
  • #17696 [codex-analytics] guardian review TTFT plumbing and emission @rhan-oai
  • #18962 nit: expose lib @jif-oai
  • #18502 Support multiple cwd filters for thread list @acrognale-oai
  • #18968 fix: wait_agent timeout for queued mailbox mail @jif-oai
  • #18971 fix: cargo deny @jif-oai
  • #18973 chore: prep memories for AB @jif-oai
  • #18852 [codex] Update imagegen system skill @vb-openai
  • #18865 Stage publishable Python runtime wheels @sdcoffey
  • #18932 TUI: Keep remote app-server events draining @etraut-openai
  • #18877 [rollout_trace] Record core session rollout traces @cassirer-openai
  • #18959 feat(auto-review) policy config @dylan-hurd-oai
  • #18955 Add plumbing to approve stored Auto-Review denials @won-openai
  • #18999 arg0: keep dispatch aliases alive during async main @bolinfest
  • #18925 feat: Fairly trim skill descriptions within context budget @xl-openai
  • #18890 feat(auto-review) short-circuit @dylan-hurd-oai
  • #18279 app-server: accept permission profile overrides @bolinfest
  • #18582 [2/4] Implement executor HTTP request runner @aibrahim-oai
  • #18197 feat: add guardian network approval trigger context @viyatb-oai
  • #19033 Fix MCP permission policy sync @leoshimo-oai
  • #19016 exec-server: expose arg0 alias root to fs sandbox @bolinfest
  • #19036 Overlay state DB git metadata for filtered thread lists @joeytrasatti-openai
  • #18956 [Codex] Register browser requirements feature keys @khoi-oai
  • #19043 Update bundled OpenAI Docs skill freshness check @kkahadze-oai
  • #18504 Rebrand approvals reviewer config to auto-review @won-openai
  • #19046 exec-server: require explicit filesystem sandbox cwd @bolinfest
  • #18280 clients: send permission profiles to app-server @bolinfest
  • #18281 rollout: persist turn permission profiles @bolinfest
  • #18888 hooks: emit Bash PostToolUse when exec_command completes via write_stdin @eternal-openai
  • #19056 Rename approvals reviewer variant to auto-review @won-openai
  • #18583 [3/4] Add executor-backed RMCP HTTP client @aibrahim-oai
  • #19059 core: box multi-agent wrapper futures @bolinfest
  • #19031 Fix relative stdio MCP cwd fallback @mzeng-openai
  • #19063 chore(auto-review) feature => stable @dylan-hurd-oai
  • #19050 feat(request-permissions) approve with strict review @dylan-hurd-oai
  • #19067 test: set Rust test thread stack size @bolinfest
  • #19072 tui: fix approvals popup disabled shortcut test @bolinfest
  • #18893 codex: support hooks in config.toml and requirements.toml @eternal-openai
  • #18282 protocol: report session permission profiles @bolinfest
  • #19053 Default Fast service tier for eligible ChatGPT plans @shijie-oai
  • #19055 Add safety check notification and error handling @etraut-openai
  • #18283 app-server: accept command permission profiles @bolinfest
  • #19012 Mark codex_hooks stable @abhinav-oai
  • #18924 TUI: preserve permission state after side conversations @etraut-openai
  • #19071 Add computer_use feature requirement key @leoshimo-oai
  • #19079 Use remote plugin IDs for detail reads and enlarge list pages @xl-openai
  • #19038 feat: Warn and continue on unknown feature requirements @xl-openai
  • #19078 Clarify cloud requirements error messages @gverma-openai
  • #19085 Persist target default reasoning on model upgrade @shijie-oai
  • #19086 app-server: include filesystem entries in permission requests @bolinfest
  • #18385 Support MCP tools in hooks @abhinav-oai
  • #19113 Fix auto-review config compatibility across protocol and SDK @won-openai

Update Apr 23, 2026 tracked by Updatify

0.123.0

New Features

  • Added a built-in amazon-bedrock model provider with configurable AWS profile support (#18744).
  • Added /mcp verbose for full MCP server diagnostics, resources, and resource templates while keeping plain /mcp fast (#18610).
  • Made plugin MCP loading accept both mcpServers and top-level server maps in .mcp.json (#18780).
  • Improved realtime handoffs so background agents receive transcript deltas and can explicitly stay silent when appropriate (#18597, #18761, #18635).
  • Added host-specific remote_sandbox_config requirements for remote environments (#18763).
  • Refreshed bundled model metadata, including the current gpt-5.4 default (#18586, #18388, #18719).

Bug Fixes

  • Fixed /copy after rollback so it copies the latest visible assistant response, not a pre-rollback response (#18739).
  • Queued normal follow-up text submitted while a manual shell command is running, preventing stuck Working states (#18820).
  • Fixed Unicode/dead-key input in VS Code WSL terminals by disabling the enhanced keyboard mode there (#18741).
  • Prevented stale proxy environment variables from being restored from shell snapshots (#17271).
  • Made codex exec inherit root-level shared flags such as sandbox and model options (#18630).
  • Removed leaked review prompts from TUI transcripts (#18659).

Documentation

  • Added and tightened the Code Review skill instructions used by Codex-driven reviews (#18746, #18818).
  • Documented intentional await-across-lock cases and enabled Clippy linting for them (#18423, #18698).
  • Updated app-server protocol docs for threadless MCP resource reads and namespaced dynamic tools (#18292, #18413).

Chores

  • Fixed high-severity dependency alerts by pinning patched JS and Rust dependencies (#18167).
  • Reduced Rust dev build debug-info overhead while preserving useful backtraces (#18844).
  • Refreshed generated Python app-server SDK types from the current schema (#18862).

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.122.0…rust-v0.123.0

  • #18662 feat: add metric to track the number of turns with memory usage @jif-oai
  • #18659 chore: drop review prompt from TUI UX @jif-oai
  • #18661 feat: log client use min log level @jif-oai
  • #18094 [codex] Use background agent task auth for backend calls @adrian-openai
  • #18441 Avoid false shell snapshot cleanup warnings @etraut-openai
  • #18260 [codex] Use background task auth for additional backend calls @adrian-openai
  • #18657 fix: auth.json leak in tests @jif-oai
  • #18610 Add verbose diagnostics for /mcp @etraut-openai
  • #18633 Use app server thread names in TUI picker @etraut-openai
  • #18591 Surface parent thread status in side conversations @etraut-openai
  • #18361 codex: move thread/name/set and thread/memoryModeSet into ThreadStore @wiltzius-openai
  • #18274 protocol: canonicalize file system permissions @bolinfest
  • #18403 refactor: use semaphores for async serialization gates @bolinfest
  • #18586 Update models.json @aibrahim-oai
  • #18289 Wire the PatchUpdated events through app_server @akshaynathan
  • #18631 Remove simple TUI legacy_core reexports @etraut-openai
  • #18697 [codex] Fix agent identity auth test fixture @adrian-openai
  • #18388 Update models.json @github-actions
  • #18167 [codex] Fix high severity dependency alerts @caseysilver-oai
  • #17692 [codex-analytics] guardian review analytics schema polishing @rhan-oai
  • #18722 chore(guardian) disable mcps and plugins @dylan-hurd-oai
  • #18597 Update realtime handoff transcript handling @guinness-oai
  • #18627 Surface TUI skills refresh failures @etraut-openai
  • #18719 Fix stale model test fixtures @aibrahim-oai
  • #18714 Add experimental remote thread store config @wiltzius-openai
  • #18739 fix(tui): keep /copy aligned with rollback @fcoury-oai
  • #18701 [codex] prefer inherited spawn agent model @tibo-openai
  • #18632 Use app server metadata for fork parent titles @etraut-openai
  • #18112 feat: cascade thread archive @jif-oai
  • #18716 Read conversation summaries through thread store @wiltzius-openai
  • #18635 Add realtime silence tool @guinness-oai
  • #18254 uds: add async Unix socket crate @euroelessar
  • #18746 Add Code Review skill @pakrym-oai
  • #18208 Add session config loader interface @rasmusrygaard
  • #18753 Refactor TUI app module into submodules @etraut-openai
  • #18630 Fix exec inheritance of root shared flags @etraut-openai
  • #18027 [6/6] Fail exec client operations after disconnect @aibrahim-oai
  • #17271 fix: fix stale proxy env restoration after shell snapshots @viyatb-oai
  • #18602 Warn when trusting Git subdirectories @etraut-openai
  • #18761 [codex] Send realtime transcript deltas on handoff @guinness-oai
  • #18435 /statusline & /title - Shared preview values @canvrno-oai
  • #18744 feat: add a built-in Amazon Bedrock model provider @celia-oai
  • #18581 [1/4] Add executor HTTP request protocol @aibrahim-oai
  • #18418 refactor: narrow async lock scopes @bolinfest
  • #18780 feat: Support more plugin MCP file shapes. @xl-openai
  • #18713 protocol: preserve glob scan depth in permission profiles @bolinfest
  • #18795 fix(guardian) Dont hard error on feature disable @dylan-hurd-oai
  • #18292 Make MCP resource read threadless @mzeng-openai
  • #18786 Fallback display names for TUI skill mentions @canvrno-oai
  • #18807 chore(app-server) linguist-generated @dylan-hurd-oai
  • #18393 feat(auto-review) Handle request_permissions calls @dylan-hurd-oai
  • #18763 Add remote_sandbox_config to our config requirements @abhinav-oai
  • #18794 Organize context fragments @pakrym-oai
  • #18423 chore: document intentional await-holding cases @bolinfest
  • #18698 chore: enable await-holding clippy lints @bolinfest
  • #18413 [tool search] support namespaced deferred dynamic tools @pash-openai
  • #18818 [codex] Tighten code review skill wording @pakrym-oai
  • #18271 show bash mode in the TUI @abhinav-oai
  • #18741 fix(tui): disable enhanced keys for VS Code WSL @fcoury-oai
  • #18850 Move external agent config out of core @pakrym-oai
  • #18844 build: reduce Rust dev debuginfo @bolinfest
  • #18848 feat: baseline lib @jif-oai
  • #18846 core: make test-log a dev dependency @bolinfest
  • #18428 app-server: define device key v2 protocol @euroelessar
  • #18093 Propagate thread id in MCP tool metadata @rennie-openai
  • #17836 [codex] Add tmux-aware OSC 9 notifications @caseychow-oai
  • #18820 Queue follow-up input during user shell commands @etraut-openai
  • #18858 Stabilize debug clear memories integration test @jif-oai
  • #18799 Move TUI app tests to modules they cover @etraut-openai
  • #18442 Refactor app-server config loading into ConfigManager @pakrym-oai
  • #18813 Split DeveloperInstructions into individual fragments. @pakrym-oai
  • #18275 sandboxing: intersect permission profiles semantically @bolinfest
  • #18862 Refresh generated Python app-server SDK types @sdcoffey
  • #15578 Add Windows sandbox unified exec runtime support @iceweasel-oai
  • #18429 app-server: add codex-device-key crate @euroelessar
  • #18872 app-server: fix Bazel clippy in tracing tests @euroelessar
  • #18885 skip busted tests while I fix them @iceweasel-oai
  • #18873 chore: default multi-agent v2 fork to all @jif-oai

Update Apr 20, 2026 tracked by Updatify

0.122.0

New Features

  • Standalone installs are more self-contained, and codex app now opens or installs Desktop correctly on Windows and Intel Macs (#17022, #18500).
  • The TUI can open /side conversations for quick side questions, and queued input now supports slash commands and ! shell prompts while work is running (#18190, #18542).
  • Plan Mode can start implementation in a fresh context, with context-usage shown before deciding whether to carry the planning thread forward (#17499, #18573).
  • Plugin workflows now include tabbed browsing, inline enable/disable toggles, marketplace removal, and remote, cross-repo, or local marketplace sources (#18222, #18395, #17752, #17751, #17277, #18017, #18246).
  • Filesystem permissions now support deny-read glob policies, managed deny-read requirements, platform sandbox enforcement, and isolated codex exec runs that ignore user config or rules (#15979, #17740, #18096, #18646).
  • Tool discovery and image generation are now enabled by default, with higher-detail image handling and original-detail metadata support for MCP and js_repl image outputs (#17854, #17153, #17714, #18386).

Bug Fixes

  • App-server approvals, user-input prompts, and MCP elicitations now disappear from the TUI when another client resolves them, instead of leaving stale prompts behind (#15134).
  • Remote-control startup now tolerates missing ChatGPT auth, and MCP startup cancellation works again through app-server sessions (#18117, #18078).
  • Resumed and forked app-server threads now replay token usage immediately so context/status UI starts with the restored state (#18023).
  • Security-sensitive flows were tightened: logout revokes managed ChatGPT tokens, project hooks and exec policies require trusted workspaces, and Windows sandbox setup avoids broad user-profile and SSH-root grants (#17825, #14718, #18443, #18493).
  • Sandboxed apply_patch writes work correctly with split filesystem policies, and file watchers now notice files created after watching begins (#18296, #18492).
  • Several TUI rough edges were fixed, including fatal skills-list failures, invalid resume hints, duplicate context statusline entries, /model menu loops, redundant memory notices, and terminal title quoting in iTerm2 (#18061, #18059, #18054, #18154, #18580, #18261).

Documentation

  • Added a security-boundaries reference to SECURITY.md for sandboxing, approvals, and network controls (#17848, #18004).
  • Documented custom MCP server approval defaults and exec-server stdin behavior (#17843, #18086).
  • Updated app-server docs for plugin API changes, marketplace removal, resume/fork token-usage replay, and warning notifications (#17277, #17751, #18023, #18298).
  • Added a short guide for the responses API proxy (#18604).

Chores

  • Split plugin and marketplace code into codex-core-plugins, moved more connector code into connectors, and continued breaking up the large core session/turn modules (#18070, #18158, #18200, #18206, #18244, #18249).
  • Refactored config loading and AGENTS.md discovery behind narrower filesystem and manager abstractions (#18209, #18035).
  • Stabilized Bazel and CI with flake fixes, native Rust test sharding, scoped repository caches, stronger Windows clippy coverage, and updated rules_rs/LLVM pins (#17791, #18082, #18366, #18350, #18397).
  • Added core CODEOWNERS and a smaller development build profile (#18362, #18612).
  • Removed the stale core models.json and updated release preparation to refresh the active model catalog (#18585).

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.121.0…rust-v0.122.0

  • #17958 Support remote compaction for Azure responses providers @ivanmurashko
  • #17848 [docs] Add security boundaries reference in SECURITY.md @evawong-oai
  • #17990 Auto install start-codex-exec.sh dependencies @pakrym-oai
  • #17892 Migrate archive/unarchive to local ThreadStore @wiltzius-openai
  • #17989 [codex] Restore remote exec-server filesystem tests @starr-openai
  • #15134 Dismiss stale app-server requests after remote resolution @ebrevdo
  • #18002 Re-enable it @jif-oai
  • #17885 feat: Support alternate marketplace manifests and local string @xl-openai
  • #18003 [docs] Revert extra changes from PR 17848 @evawong-oai
  • #17714 Support original-detail metadata on MCP image outputs @fjord-oai
  • #17022 Significantly improve standalone installer @efrazer-oai
  • #17853 [mcp] Add dummy tools for previously called but currently missing tools. @mzeng-openai
  • #18004 [docs] Restore SECURITY.md update from PR 17848 @evawong-oai
  • #17896 Clarify realtime v2 context and handoff messages @bxie-openai
  • #17742 removing network proxy for yolo @won-openai
  • #17999 [codex] Make command exec delta tests chunk tolerant @euroelessar
  • #18033 feat: introduce codex-pr-body skill @bolinfest
  • #17877 Display YOLO mode permissions if set when launching TUI @canvrno-oai
  • #18022 Async config loading @pakrym-oai
  • #17854 Update ToolSearch to be enabled by default @mzeng-openai
  • #17831 [codex][mcp] Add resource uri meta to tool call item. @mzeng-openai
  • #18070 Extract plugin loading and marketplace logic into codex-core-plugins @xl-openai
  • #18078 Fix MCP startup cancellation through app server @etraut-openai
  • #17151 [codex] Route Fed ChatGPT auth through Fed edge @jackz-oai
  • #18006 fix: more flake @jif-oai
  • #18127 fix: windows flake @jif-oai
  • #18137 nit: add min values for memories @jif-oai
  • #18135 debug: windows flake @jif-oai
  • #18138 chore: more pollution filtering @jif-oai
  • #18134 chore: unify memory drop endpoints @jif-oai
  • #18144 nit: get rid of an expect @jif-oai
  • #17791 Stabilize Bazel tests (timeout tweaks and flake fixes) @ddr-oai
  • #18117 fix: auth preflight @jif-oai
  • #18146 chore: use justfile_directory in just file @jif-oai
  • #18085 [1/8] Add MCP server environment config @aibrahim-oai
  • #18054 fix(tui): remove duplicate context statusline item @etraut-openai
  • #17287 [code mode] defer mcp tools from exec description @sayan-oai
  • #18057 Prefill rename prompt with current thread name @etraut-openai
  • #18059 Fix invalid TUI resume hints @etraut-openai
  • #17153 Launch image generation by default @won-openai
  • #18042 Make yolo skip managed-network tool enforcement @won-openai
  • #18154 fix: model menu pop @jif-oai
  • #17826 [codex] Add remote thread store implementation @wiltzius-openai
  • #18086 [2/8] Support piped stdin in exec process API @aibrahim-oai
  • #18061 Avoid fatal TUI errors on skills list failure @etraut-openai
  • #15979 feat(permissions): add glob deny-read policy support @viyatb-oai
  • #18055 Improve external agent plugin migration for configured marketplaces @alexsong-oai
  • #17425 Auto-upgrade configured marketplaces @xli-oai
  • #18035 Refactor AGENTS.md discovery into AgentsMdManager @pakrym-oai
  • #18158 Move more connector logic into connectors crate @pakrym-oai
  • #17843 Add server-level approval defaults for custom MCP servers @mzeng-openai
  • #18178 fix: drop lock earlier; was held across send_event().await unnecessarily @bolinfest
  • #18000 Make thread unsubscribe test deterministic @starr-openai
  • #17996 Add codex_hook_run analytics event @abhinav-oai
  • #18184 fix: fix clippy issue in examples/ folder @bolinfest
  • #18023 fix(app-server): replay token usage after resume and fork @fcoury-oai
  • #18172 [codex] Make realtime startup context truncation deterministic @bxie-openai
  • #18192 Throttle Windows Bazel test concurrency @starr-openai
  • #18200 [codex] Split codex op handlers @pakrym-oai
  • #17387 Register agent tasks behind use_agent_identity @adrian-openai
  • #18026 Add OTEL metrics for hook runs @abhinav-oai
  • #18092 [codex] Update realtime V2 VAD silence delay and 1.5 prompt @bxie-openai
  • #18188 Add tabbed lists, single line rendering, col width changes @canvrno-oai
  • #18206 [codex] Split codex turn logic @pakrym-oai
  • #18169 Use codex-auto-review for guardian reviews @jeffsharris
  • #18196 Use in-process app-server for unknown-thread MCP read test @mzeng-openai
  • #18116 Move marketplace add under plugin command @xli-oai
  • #18096 feat(sandbox): add glob deny-read platform enforcement @viyatb-oai
  • #17971 fix: deprecate use_legacy_landlock feature flag @viyatb-oai
  • #18209 Refactor config loading to use filesystem abstraction @pakrym-oai
  • #17862 Stream apply_patch changes @akshaynathan
  • #18244 Split codex session modules @pakrym-oai
  • #17713 feat: add opt-in provider runtime abstraction @celia-oai
  • #18182 feat: Handle alternate plugin manifest paths @xl-openai
  • #18219 Move Computer Use tool suggestion to core @leoshimo-oai
  • #18231 codex: split thread/read view loading @wiltzius-openai
  • #18126 fix(exec-policy) rules parsing @dylan-hurd-oai
  • #17825 [codex] Revoke ChatGPT tokens on logout @sashank-oai
  • #18304 Fix Windows exec policy test flake @etraut-openai
  • #17947 fix: reduce writable root @jif-oai
  • #18246 Sync local plugin imports, async remote imports, refresh caches after… @alexsong-oai
  • #18097 defer all tools behind feature flag @sayan-oai
  • #17563 Add PermissionRequest hooks support @abhinav-oai
  • #18338 nit: phase 2 ephemeral @jif-oai
  • #18267 Support Ctrl+P/Ctrl+N in resume picker @etraut-openai
  • #18261 fix(tui): use BEL for terminal title updates @etraut-openai
  • #17740 feat(config): support managed deny-read requirements @viyatb-oai
  • #18249 Move codex module under session @pakrym-oai
  • #18351 Fix config-loader tests after filesystem abstraction race @bolinfest
  • #18021 Guardian -> Auto-Review @won-openai
  • #18140 feat: config aliases @jif-oai
  • #17232 Make app tool hint defaults pessimistic for app policies @colby-oai
  • #17499 feat(tui): add clear-context plan implementation @fcoury-oai
  • #18352 codex: route thread/read persistence through thread store @wiltzius-openai
  • #18263 enable tool search over dynamic tools @sayan-oai
  • #18350 ci: make Windows Bazel clippy catch core test imports @bolinfest
  • #18362 Add core CODEOWNERS @aibrahim-oai
  • #18366 ci: scope Bazel repository cache by job @bolinfest
  • #17305 Add sorting/backwardsCursor to thread/list and new thread/turns/list api @ddr-oai
  • #18020 [3/6] Add pushed exec process events @aibrahim-oai
  • #12640 Update models.json @github-actions
  • #18373 Show default reasoning in /status @aibrahim-oai
  • #18379 Attribute automated PR Babysitter review replies @etraut-openai
  • #18087 [4/6] Abstract MCP stdio server launching @aibrahim-oai
  • #18370 perf(tui): defer startup skills refresh @fcoury-oai
  • #18222 /plugins: Add v2 tabbed marketplace menu @canvrno-oai
  • #18227 [codex] Propagate rate limit reached type @richardopenai
  • #18380 exec-server: preserve fs helper runtime env @starr-openai
  • #18381 Remove the tier constraint from connectors directory requests @xl-openai
  • #18211 refactor: narrow async lock guard lifetimes @bolinfest
  • #18017 [codex] Add cross-repo plugin sources to marketplace manifests @xli-oai
  • #18398 refactor: use cloneable async channels for shared receivers @bolinfest
  • #18296 fix: fix fs sandbox helper for apply_patch @viyatb-oai
  • #18397 [codex] Upgrade rules_rs and llvm to latest BCR versions @zbarsky-openai
  • #18082 bazel: use native rust test sharding @bolinfest
  • #18384 Update image resizing to fit 2048 square bounds @pakrym-oai
  • #17277 feat: Add remote plugin fields to plugin API @xl-openai
  • #18395 /plugins: Add inline enablement toggles @canvrno-oai
  • #14718 fix: trust-gate project hooks and exec policies @viyatb-oai
  • #17891 [TUI] add external config migration prompt when start TUI @alexsong-oai
  • #18369 Feat/auto review dev message marker @won-openai
  • #18298 feat: Budget skill metadata and surface trimming as a warning @xl-openai
  • #18449 [codex] Describe uninstalled cross-repo plugin reads @xli-oai
  • #18220 [codex] Add owner nudge app-server API @richardopenai
  • #17752 [codex] Add marketplace remove command and shared logic @xli-oai
  • #18382 Add max context window model metadata @aibrahim-oai
  • #18325 Revert “[codex] drain mailbox only at request boundaries” @jif-oai
  • #18386 Update image outputs to default to high detail @pakrym-oai
  • #18499 Fix plugin cache panic when cwd is unavailable @etraut-openai
  • #18212 [5/6] Wire executor-backed MCP stdio @aibrahim-oai
  • #18573 feat(tui): show context used in plan implementation prompt @fcoury-oai
  • #18500 Support codex app on macOS (Intel) and Windows @etraut-openai
  • #18542 Queue slash and shell prompts in the TUI @etraut-openai
  • #18524 Add fallback source for external official marketplace @alexsong-oai
  • #18571 Log realtime session id @aibrahim-oai
  • #18585 Remove unused models.json @aibrahim-oai
  • #18190 Add /side conversations @etraut-openai
  • #18580 Avoid redundant memory enable notice @etraut-openai
  • #18443 Do not grant Windows sandbox ACLs on USERPROFILE @efrazer-oai
  • #18493 Filter Windows sandbox roots from SSH config dependencies @efrazer-oai
  • #17978 Persist and prewarm agent tasks per thread @adrian-openai
  • #18604 Add tldr docs for responses-api-proxy @andmis
  • #18601 Soften Fast mode plan usage copy @pash-openai
  • #18596 chore(multiagent) skills instructions toggle @dylan-hurd-oai
  • #18599 fix(guardian) disable skills message in guardian thread @dylan-hurd-oai
  • #18612 Create dev-small build profile @andmis
  • #18440 Use thread IDs in TUI resume hints @etraut-openai
  • #18605 TUI: remove simple legacy_core re-exports @etraut-openai
  • #18625 Add codex debug models to show model catalog @andmis
  • #18221 [codex] Add workspace owner usage nudge UI @richardopenai
  • #17980 [codex] Use AgentAssertion downstream behind use_agent_identity @adrian-openai
  • #17751 [codex] Add marketplace/remove app-server RPC @xli-oai
  • #18644 feat: add mem 2 agent header @jif-oai
  • #18353 chore: morpheus to path @jif-oai
  • #18649 fix: main 2 @jif-oai
  • #17721 Stabilize marketplace/remove installedRoot test @xli-oai
  • #18492 fix: FS watcher when file does not exist yet @jif-oai
  • #18646 feat: add --ignore-user-config and --ignore-rules @jif-oai
  • #18652 nit: telepathy to chronicle in tests @jif-oai
  • #18654 fix: exec policy loading for sub-agents @jif-oai
  • #18651 feat: chronicle alias @jif-oai