New Features
- Added device-code auth as a standalone fallback in headless environments. (#9333)
Bug Fixes
- Load configs from trusted folders only and fix symlinked
config.tomlresolution. (#9533, #9445) - Fixed Azure endpoint invalid input errors. (#9387)
- Resolved a memory leak in core runtime. (#9543)
- Prevented interrupted turns from repeating. (#9043)
- Fixed WSL TUI image paste regression. (#9473)
Documentation
- Updated MCP documentation link to the current destination. (#9490)
- Corrected a “Multi-agents” naming typo in docs. (#9542)
- Added developer instructions for collaboration modes. (#9424)
Chores
- Upgraded to Rust 1.92 and refreshed core Rust dependencies. (#8860, #9465, #9466, #9467, #9468, #9469)
Changelog
Full Changelog: rust-v0.87.0...rust-v0.88.0
- #9373 fix: flaky tests @jif-oai
- #9333 [device-auth] Add device code auth as a standalone option when headless environment is detected. @mzeng-openai
- #9352 Made
codex exec resume --lastconsistent withcodex resume --last@etraut-openai - #9324 add codex cloud list @nornagon-openai
- #9332 Turn-state sticky routing per turn @aibrahim-oai
- #9364 feat: tool call duration metric @jif-oai
- #8860 chore: upgrade to Rust 1.92.0 @viyatb-oai
- #9385 feat: /fork the current session instead of opening session picker @apanasenko-oai
- #9247 feat(app-server, core): return threads by created_at or updated_at @owenlin0
- #9330 feat: show forked from session id in /status @apanasenko-oai
- #9340 Introduce collaboration modes @aibrahim-oai
- #9328 Support enable/disable skill via config/api. @xl-openai
- #9408 Add collaboration_mode override to turns @aibrahim-oai
- #9400 fix(codex-api): treat invalid_prompt as non-retryable @fouad-openai
- #9401 Defer backtrack trim until rollback confirms @aibrahim-oai
- #9414 fix unified_exec::tests::unified_exec_timeouts to use a more unique match value @ahornby
- #9421 Expose collaboration presets @aibrahim-oai
- #9422 chore(core) Create instructions module @dylan-hurd-oai
- #9423 chore(instructions) Remove unread SessionMeta.instructions field @dylan-hurd-oai
- #9424 Add collaboration developer instructions @aibrahim-oai
- #9425 Preserve slash command order in search @aibrahim-oai
- #9059 tui: allow forward navigation in backtrack preview @slkzgm
- #9443 Add collaboration modes test prompts @aibrahim-oai
- #9457 fix(tui2): running /mcp was not printing any output until another event triggered a flush @bolinfest
- #9445 Fixed symlink support for config.toml @etraut-openai
- #9466 chore(deps): bump log from 0.4.28 to 0.4.29 in /codex-rs @dependabot
- #9467 chore(deps): bump tokio from 1.48.0 to 1.49.0 in /codex-rs @dependabot
- #9468 chore(deps): bump arc-swap from 1.7.1 to 1.8.0 in /codex-rs @dependabot
- #9469 chore(deps): bump ctor from 0.5.0 to 0.6.3 in /codex-rs @dependabot
- #9465 chore(deps): bump chrono from 0.4.42 to 0.4.43 in /codex-rs @dependabot
- #9473 Fixed TUI regression related to image paste in WSL @etraut-openai
- #9382 feat: timer total turn metrics @jif-oai
- #9478 feat: close all threads in
/new@jif-oai - #9477 feat: detach non-tty childs @jif-oai
- #9479 prompt 3 @jif-oai
- #9387 Fix invalid input error on Azure endpoint @etraut-openai
- #9463 Remove unused protocol collaboration mode prompts @aibrahim-oai
- #9487 chore: warning metric @jif-oai
- #9490 Fixed stale link to MCP documentation @etraut-openai
- #9461 TUI: collaboration mode UX + always submit
UserTurnwhen enabled @aibrahim-oai - #9472 Feat: request user input tool @shijie-oai
- #9402 Act on reasoning-included per turn @aibrahim-oai
- #9496 chore: fix beta VS experimental @jif-oai
- #9495 Feat: plan mode prompt update @shijie-oai
- #9451 tui: avoid Esc interrupt when skill popup active @prateek-oai
- #9497 Migrate tui to use UserTurn @aibrahim-oai
- #9427 fix(core) Preserve base_instructions in SessionMeta @dylan-hurd-oai
- #9393 Persist text elements through TUI input and history @charley-oai
- #9407 fix(tui) fix user message light mode background @dylan-hurd-oai
- #9525 chore: collab in experimental @jif-oai
- #9374 nit: do not render terminal interactions if no task running @jif-oai
- #9529 feat: record timer with additional tags @jif-oai
- #9528 feat: metrics on remote models @jif-oai
- #9527 feat: metrics on shell snapshot @jif-oai
- #9533 Only load config from trusted folders @gt-oai
- #9409 feat: support proxy for ws connection @apanasenko-oai
- #9507 Tui: use collaboration mode instead of model and effort @aibrahim-oai
- #9193 fix:
writable_rootsdoesn't recognize home directory symbol in non-windows OS @tiffanycitra - #9542 Fix typo in feature name from 'Mult-agents' to 'Multi-agents' @simonw
- #9459 feat(personality) introduce model_personality config @dylan-hurd-oai
- #9543 fix: memory leak issue @jif-oai
- #9509 Fixed config merging issue with profiles @etraut-openai
- #9043 fix: prevent repeating interrupted turns @swordfish444
- #9553 fix(core): don't update the file's mtime on resume @owenlin0
- #9552 lookup system SIDs instead of hardcoding English strings. @iceweasel-oai
- #9314 fix(windows-sandbox): deny .git file entries under writable roots @MaxMiksa
- #9319 fix(windows-sandbox): parse PATH list entries for audit roots @MaxMiksa
- #9547 merge remote models @aibrahim-oai
- #9545 Add total (non-partial) TextElement placeholder accessors @charley-oai
- #9532 fix(cli): add execute permission to bin/codex.js @zerone0x
- #9162 Improve UI spacing for queued messages @charley-oai
- #9554 Enable remote models @aibrahim-oai
- #9558 queue only when task is working @aibrahim-oai
- #8590 fix(core): require approval for force delete on Windows @hdcodedev
- #9293 [codex-tui] exit when terminal is dumb @jmickey-oai
- #9562 feat(tui2): add /experimental menu @joshka-oai
- #9563 fix: bminor/bash is no longer on GitHub so use bolinfest/bash instead @bolinfest
- #9568 Show session header before configuration @aibrahim-oai
- #9555 feat: rename experimental_instructions_file to model_instructions_file @bolinfest
- #9518 Prompt Expansion: Preserve Text Elements @charley-oai
- #9560 Reject ask user question tool in Execute and Custom @charley-oai
- #9575 feat: add skill injected counter metric @alexsong-oai
- #9578 Feature to auto-enable websockets transport @pakrym-oai
- #9587 fix CI by running pnpm @aibrahim-oai
- #9586 don't ask for approval for
just fix@aibrahim-oai - #9585 Add request-user-input overlay @aibrahim-oai
- #9596 fix going up and down on questions after writing notes @aibrahim-oai
- #9483 feat: max threads config @jif-oai
- #9598 feat: display raw command on user shell @jif-oai
- #9594 Added "codex." prefix to "conversation.turn.count" metric name @etraut-openai
- #9600 feat: async shell snapshot @jif-oai
- #9602 fix: nit tui on terminal interactions @jif-oai
- #9551 nit: better collab tui @jif-oai