Back to feed

0.88.0

Jan 21, 2026
OpenAI/Codex CLICLIvrust-v0.88.0

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.toml resolution. (#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: https://github.com/openai/codex/compare/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 --last consistent with codex 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 UserTurn when 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_roots doesn'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