OpenAI Codex CLI rust-v0.113.0

New Features - Added a built-in requestpermissions tool so running turns can request additional permissions at runtime, with new TUI rendering for those approval calls. (13092, 14004) - Expanded pl...

New Features - Added a built-in requestpermissions tool so running turns can request additional permissions at runtime, with new TUI rendering for those approval calls. (13092, 14004) - Expanded plugin workflows with curated marketplace discovery, richer plugin/list metadata, install-time auth checks, and a plugin/uninstall endpoint. (13712, 13540, 13685, 14111) - Upgraded app-server command execution with streaming stdin/stdout/stderr plus TTY/PTY support, and wired exec to the new in-process app server path. (13640, 14005) - Web search settings now support full tool configuration (for example filters and location), not just on/off. (13675) - Added the new permission-profile config language and split filesystem/network sandbox policy plumbing for more precise policy control. (13434, 13439, 13440, 13448, 13449, 13453) - Image generation now saves output files into the current working directory. (13607) Bug Fixes - Fixed auth error handling for cloud requirements fetch so 401s trigger the normal auth-recovery messaging instead of a generic workspace-config failure. (14049) - Fixed trust bootstrap to avoid running git commands before project trust is established. (13804) - Fixed Windows execution edge cases, including incorrect PTY TerminateProcess success handling and stricter sandbox startup cwd validation. (13989, 13833, 13742) - Fixed plugin startup behavior so curated plugins are loaded in TUI sessions as expected. (14050) - Hardened network proxy policy parsing by rejecting global wildcard () domains while preserving scoped wildcard support. (13789) - Fixed approval payload compatibility for macOS automation permissions by accepting both supported input shapes. (13683) Documentation - Clarified jsrepl guidance for persistent bindings and redeclaration recovery to reduce avoidable REPL errors. (13803) Chores - Reduced log/storage overhead by moving logs to a dedicated SQLite DB, adding timestamps to feedback logs, pruning old data, and tightening retention/row limits. (13645, 13688, 13734, 13763, 13772, 13781) - Improved Windows distribution automation by publishing CLI releases to winget. (12943) Changelog Full Changelog: https://github.com/openai/codex/compare/rust-v0.112.0...rust-v0.113.0 - 13626 feat(otel): safe tracing @owenlin0 - 13560 Refine realtime startup context formatting @aibrahim-oai - 13615 Replay thread rollback from rollout history @aibrahim-oai - 13642 fix(tui): clean up pending steer preview wrapping @charley-oai - 13645 Add timestamped SQLite /feedback logs without schema changes @charley-oai - 13654 tui: sort resume picker by last updated time @charley-oai - 13540 support plugin/list. @xl-openai - 13677 chore: remove unused legacy macOS permission types @celia-oai - 13683 fix: accept two macOS automation input shapes for approval payload compatibility @celia-oai - 13687 refactor: remove proxy admin endpoint @viyatb-oai - 13669 copy current exe to CODEXHOME/.sandbox-bin for applypatch @iceweasel-oai - 11874 fix(tui) remove config check for trusted setting @dylan-hurd-oai - 13685 check app auth in plugin/install @sayan-oai - 13697 change sound @aibrahim-oai - 13607 Enabling CWD Saving for Image-Gen @won-openai - 13621 [elicitations] Switch to use MCP style elicitation payload for mcp tool approvals. @mzeng-openai - 13619 feat: status line with real data @jif-oai - 13734 feat: prune old memories in DB @jif-oai - 13688 Add timestamps to feedback log lines @etraut-openai - 13742 fix: windows normalization @jif-oai - 13514 [rmcp-client] Recover from streamable HTTP 404 sessions @caseychow-oai - 13750 feat: drop sqlite db feature flag @jif-oai - 13753 feat: drop discrepency metrics @jif-oai - 13763 feat: limit number of rows per log @jif-oai - 13703 Clarify sandbox permission override helper semantics @charley-oai - 13770 fix(app-server): fix turnstartshellzshforkexecutescommandv2 flake @owenlin0 - 13630 feat(otel, core): record turn TTFT and TTFM metrics in codex-core @owenlin0 - 13674 app-server: Emit thread/name/updated event globally @euroelessar - 13772 Move sqlite logs to a dedicated database @charley-oai - 13620 chore: improve DB flushing @jif-oai - 13711 feat: structured plugin parsing @sayan-oai - 13781 Reduce SQLite log retention to 10 days @charley-oai - 13780 fix: move unit tests in codex-rs/core/src/config/mod.rs into their own file @bolinfest - 13783 fix: move unit tests in codex-rs/core/src/codex.rs into their own file @bolinfest - 13787 fix bazel build @bolinfest - 13789 fix: reject global wildcard network proxy domains @viyatb-oai - 12943 Codex/winget auto update @iceweasel-oai - 13800 chore(otel): reorganize codex-otel crate @owenlin0 - 13797 feat: add auth login diagnostics @joshka-oai - 13695 utils/pty: add streaming spawn and terminal sizing primitives @euroelessar - 13803 Clarify jsrepl binding reuse guidance @fjord-oai - 13810 docs: remove auth login logging plan @joshka-oai - 13434 config: add initial support for the new permission profile config language in config.toml @bolinfest - 13796 Add realtime startup context override @aibrahim-oai - 13814 fix: include libcap-dev dependency when creating a devcontainer for building Codex @bolinfest - 13808 chore(otel): rename OtelManager to SessionTelemetry @owenlin0 - 13712 feat: Add curated plugin marketplace + Metadata Cleanup. @xl-openai - 13791 fix(core): skip exec approval for permissionless skill scripts @celia-oai - 13675 Allow full web search tool config @rm-openai - 13640 app-server: Add streaming and tty/pty capabilities to command/exec @euroelessar - 13819 feat(app-server-protocol): address naming conflicts in json schema exporter @owenlin0 - 13804 fix: avoid invoking git before project trust is established @viyatb-oai - 12752 fix: support managed network allowlist controls @viyatb-oai - 13439 sandboxing: plumb split sandbox policies through runtime @bolinfest - 13440 protocol: derive effective file access from filesystem policies @bolinfest - 13816 fix(core): respect reject policy by approval source for skill scripts @celia-oai - 13833 app-server: require absolute cwd for windowsSandbox/setupStart @iceweasel-oai - 13670 Add Fast mode status-line indicator @etraut-openai - 13445 safety: honor filesystem policy carveouts in applypatch @bolinfest - 13771 feat: simplify DB further @jif-oai - 13692 Add guardian approval MVP @charley-oai - 13851 tmp: drop artifact skills @jif-oai - 13910 fix(core) rm guardian snapshot test @dylan-hurd-oai - 13911 fix(ci) fix guardian ci @dylan-hurd-oai - 13896 Fix TUI context window display before first TokenCount @etraut-openai - 13448 seatbelt: honor split filesystem sandbox policies @bolinfest - 13921 chore: use @plugin instead of $plugin for plaintext mentions @sayan-oai - 13807 [elicitations] Support always allow option for mcp tool calls. @mzeng-openai - 13449 linux-sandbox: plumb split sandbox policies through helper @bolinfest - 13451 sandboxing: preserve denied paths when widening permissions @bolinfest - 13452 protocol: keep root carveouts sandboxed @bolinfest - 13874 Stabilize abort task follow-up handling @aibrahim-oai - 13453 linux-sandbox: honor split filesystem policies in bwrap @bolinfest - 13989 Fix inverted Windows PTY TerminateProcess handling @etraut-openai - 13912 fix(ci): restore guardian coverage and bazel unit tests @charley-oai - 13877 Stabilize shell serialization tests @aibrahim-oai - 13839 [app-server] Support hot-reload user config when batch writing config. @mzeng-openai - 14005 Add in-process app server and wire up exec to use it @etraut-openai - 13929 app-server: include experimental skill metadata in exec approval requests @celia-oai - 14014 fix(core) patch otel test @dylan-hurd-oai - 13841 tui: clarify pending steer follow-ups @charley-oai - 13092 Add request permissions tool @mousseau-oai - 14027 fix(bazel) add missing app-server-client BUILD.bazel @dylan-hurd-oai - 14004 feat(tui) render requestpermissions calls @dylan-hurd-oai - 14052 Stabilize app list update ordering test @aibrahim-oai - 13897 guardian initial feedback / tweaks @charley-oai - 13884 Reduce app-server test timeout pressure @aibrahim-oai - 13872 Stabilize zsh fork app-server tests @aibrahim-oai - 13881 Stabilize RMCP pid file cleanup test @aibrahim-oai - 13883 Stabilize PTY Python REPL test @aibrahim-oai - 14058 Stabilize plan item app-server tests @aibrahim-oai - 13943 Order websocket initialize after handshake @aibrahim-oai - 13885 Stabilize thread resume replay tests @aibrahim-oai - 13878 Serialize shell snapshot stdin test @aibrahim-oai - 13876 Stabilize realtime startup context tests @aibrahim-oai - 14050 fix(plugin): Also load curated plugins for TUI. @xl-openai - 14049 fix: properly handle 401 error in clound requirement fetch. @xl-openai - 14101 Stabilize shell approval MCP test @aibrahim-oai - 14102 Stabilize interrupted task approval cleanup @aibrahim-oai - 14103 Stabilize guardian approval coverage @aibrahim-oai - 14060 Stabilize resumed rollout messages @aibrahim-oai - 14114 fix(ci) Faster shellcommand::unicodeoutput test @dylan-hurd-oai - 14111 chore: plugin/uninstall endpoint @sayan-oai - 14117 feat(otel): Centralize OTEL metric names and shared tag builders @owenlin0 - 13880 Stabilize RMCP streamable HTTP readiness tests @aibrahim-oai - 14123 pass on save info to model + ui tweaks @won-openai - 13886 Stabilize protocol schema fixture generation @aibrahim-oai