New Features
- Code mode can now call standalone web search directly, including from nested JavaScript tool calls, and receive plaintext search results. (openai#26719)
- Tool and connector input schemas now preserve
oneOfandallOf, and large schemas keep more shallow structure when compacted, improving compatibility with richer MCP tools. (openai#24118, openai#27084) codex doctornow includes editor and pager environment details in the local report while redacting raw values in JSON output. (openai#27081)- Plugin marketplace automation is more informative and responsive:
codex plugin marketplace list --jsonnow includes each marketplace source, and plugin lists can return from the cached remote catalog before refreshing in the background. (openai#27009, openai#26932)
Bug Fixes
codex resume --last "..."andcodex fork --last "..."now treat the trailing argument as the initial prompt instead of misreading it as a session ID. (openai#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. (openai#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. (openai#26486)
- Bare URLs with
~in the path are now linkified end to end in the TUI instead of being truncated before the tilde. (openai#27088) - Thread resets such as
/new,/clear, and/forkno longer drop cloud-managed requirements or feature flags during TUI config reloads. (openai#25177) - Sandbox execution now preserves approved escalation decisions and enforces configured proxy-only networking more consistently. (openai#24981, openai#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. (openai#26202)
- The embedded V8 toolchain was updated to
rusty_v8149.2.0. (openai#26464)
Changelog
Full Changelog: openai/codex@rust-v0.138.0...rust-v0.139.0
- openai#26741 fix(remote-control): preserve enrollment on generic websocket 404s @apanasenko-oai
- openai#26804 fix(core-plugins): send Codex product SKU to plugin-service @ericning-o
- openai#26464 build(v8): update rusty_v8 to 149.2.0 @cconger
- openai#26895 ci: use bazel environment for BuildBuddy secret @bolinfest
- openai#24981 fix: preserve approval sandbox decisions in unified exec @bolinfest
- openai#26818 fix(tui): accept prompts with resume and fork @fcoury-oai
- openai#24820 deps: update starlark to 0.14.2 @bolinfest
- openai#26639 fix(tui): scope MCP startup status by thread @fcoury-oai
- openai#26719 [codex] Enable standalone web search in code mode @rka-oai
- openai#26632 feat: add v2 agent residency lru @jif-oai
- openai#26974 Ignore proc-macro-error2 advisory @jif-oai
- openai#26969 feat: count V2 concurrency by active execution @jif-oai
- openai#26994 Rename multi-agent v2 close_agent to interrupt_agent @jif-oai
- openai#26997 Avoid reopening v2 descendants on resume @jif-oai
- openai#26821 [codex] Exclude external tool output from memories @rka-oai
- openai#26202 [codex] Restore release symbol artifacts with line tables @nornagon-openai
- openai#26852 fix(app-server): avoid blocking connection cleanup @apanasenko-oai
- openai#26923 Add HTTP window ID to Responses client metadata @ningyi-oai
- openai#26680 [codex-analytics] report compaction analytics details @rhan-oai
- openai#26637 [codex] Speed up external agent session imports @stefanstokic-oai
- openai#27009 [plugins] Expose marketplace source in marketplace list JSON @mpc-oai
- openai#27024 ci: template custom runner names by repo @bolinfest
- openai#26230 fix: preserve auto review across config and delegation @viyatb-oai
- openai#27038 [codex] Clarify PR babysitter state mutations @anp-oai
- openai#27037 [codex] Calm multi-agent v2 usage prompts @jif-oai
- openai#26687 Pair thread environment settings @pakrym-oai
- openai#27054 cli: add -P sandbox permissions profile alias @bolinfest
- openai#27035 Enforce configured network proxy in codex sandbox @viyatb-oai
- openai#26486 Route image edits through referenced file paths @won-openai
- openai#27060 [codex-analytics] stop sending codex error subreason @rhan-oai
- openai#27044 [codex] Require complete main-agent skill reads @fchen-oai
- openai#24118 feat: support oneOf and allOf in tool input schemas @celia-oai
- openai#26934 [codex] Prune stale curated plugin caches @xl-openai
- openai#26932 Use cached remote plugin catalog for plugin list @xl-openai
- openai#26091 [codex] Add OTEL counter descriptions @richardopenai
- openai#27081 feat(doctor): report editor and pager environment @fcoury-oai
- openai#27084 chore: preserve one more schema layer during large tool compaction @celia-oai
- openai#26840 Add typed file URIs @anp-oai
- openai#27088 fix(tui): linkify complete bare URLs with tildes @fcoury-oai
- openai#27068 Show effective sandbox modes in /debug-config @canvrno-oai
- openai#27092 Add extra config to StoredThread, leave empty for now @kumquatexpress
- openai#27096 Update web search citation prompt @yuning-oai
- openai#25177 Preserve cloud requirements across TUI thread resets @canvrno-oai
- openai#27106 [codex] Remove remote compaction failure log @pakrym-oai