Release · Codex CLI · OpenAI

Codex CLI v0.159.0

What's new in Codex CLI v0.159.0, released Sep 29, 2026 (). Newer: v0.164.0 (Oct 23, 2026)

Release notes

Codex CLI v0.159.0

New Features

  • Opt-in instant_interrupt lets new input steer Codex during model responses or long-running code-mode calls. (#48135, #48141)
  • New sessions get a compact welcome screen and consistent headers, with occasional tips during and after turns. (#48513, #48562, #48352)
  • The warnings viewer dismisses reviewed warnings when closed; press k to keep one for later. (#48205, #48206)
  • You can scroll the transcript while deciding whether to implement a plan. (#48805)
  • Native Mermaid rendering supports more flowchart edges, labels, and node groups. (#48814, #48895)
  • App-server clients can paginate thread history from a specific item. (#48151)

Bug Fixes

  • Windows launches avoid stray console windows for MCP servers, code-mode hosts, and piped commands; restrictive launchers can fall back to embedded mode. (#48138, #48238, #48483, #48491)
  • Copying transcript selections preserves Markdown tables, formatting, and significant whitespace. More terminals now copy automatically on selection. (#48548, #48549, #48469)
  • Blank sessions retain drafts when switching tasks, and threads can be archived and listed before their first turn. (#48628, #48828, #48199)
  • Local ChatGPT sign-in opens the browser reliably; onboarding also provides a shortcut to copy the login link. (#48502, #48544)
  • Approved commands retain explicit filesystem denials, and .aws directories are protected by default under writable roots. (#48155, #48176)
  • Fixed macOS TLS access in network-enabled sandboxes and remote environments that require proxy access. (#48565, #48198)

Chores

  • Removed automatic follow-up prompt suggestions and the tui.prompt_suggestions setting. (#48621)
  • Removed the bundled plugin-creator skill. (#48604)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.158.0...rust-v0.159.0

  • #48135 Add opt-in code-mode yielding on new user input @pakrym-oai
  • #48138 Suppress console windows when spawning the code-mode host on Windows @zm-oai
  • #48141 Preempt model responses when new user input arrives @pakrym-oai
  • #48143 Preserve executor MCP credential boundaries across reconnects @rreichel3-oai
  • #48151 Add item anchors to thread/items/list pagination @btraut-openai
  • #48155 Preserve filesystem denials when preparing approved commands @viyatb-oai
  • #48157 Allow Windows daemon launches with residual job membership @etraut-openai
  • #48158 Fix Guardian retained context spacing and empty assistant handling @olliem-oai
  • #48168 Generate unique exec-server process IDs for every request @sdcoffey
  • #48174 Preserve usage limit windows in turn and compaction analytics @rhan-oai
  • #48176 Protect .aws directories under sandbox writable roots @jackz100
  • #48187 Fix zsh alias quoting in sourced shell snapshots @jif-oai
  • #48190 Bound agent message board SSE frames before parsing @jif-oai
  • #48197 Optimize blake3 in Bazel fastbuilds @jif-oai
  • #48198 Honor execution environment proxy requirements @seanh-oai
  • #48199 Keep archived threads with empty previews visible in listings @acrognale-oai
  • #48200 Extract Responses header conversion into a shared module @anp-oai
  • #48205 Dismiss viewed TUI warnings when closing the viewer @fcoury-oai
  • #48206 Add a keep-and-next action to the warnings viewer @fcoury-oai
  • #48207 Preserve queued output for observers during code-mode termination @pakrym-oai
  • #48211 Keep Codex visible during external editor handoff @etraut-openai
  • #48213 Isolate executable fixture copies in CLI tests on Linux @jif-oai
  • #48222 Preserve late result metadata for truncated code-mode calls @ningyi-oai
  • #48224 Preserve model and access program pairs during compaction @jamy-OAI
  • #48229 Extract Responses failure parsing into a dedicated module @anp-oai
  • #48238 Suppress console windows for local Windows MCP servers @malsamiri-oai
  • #48272 Prevent Windows daemon launches from retaining launcher stdio @zm-oai
  • #48318 Keep TUI reconnect attempts running until the shared deadline @etraut-openai
  • #48344 Preserve tool metadata for OpenAI provider endpoint overrides @peilin-openai
  • #48350 Display reconnect commands on a separate line @etraut-openai
  • #48352 Show turn tips while working and after completion in the TUI @fcoury-oai
  • #48353 Stabilize skill catalogs across executor availability changes @vkg-oai
  • #48469 Default to copying transcript selections in more terminals @fcoury-oai
  • #48483 Prevent console windows for piped Windows child processes @fcoury-oai
  • #48489 Fix Mermaid shape, relationship, and state description parsing @etraut-openai
  • #48491 Fall back to embedded mode under restrictive Windows launchers @fcoury-oai
  • #48502 Fix ChatGPT browser sign-in for local app servers @etraut-openai
  • #48508 Preserve WebSocket continuations when steering a turn @pakrym-oai
  • #48513 Refresh the TUI welcome screen for new sessions @fcoury-oai
  • #48531 Add context to Windows sandbox runtime registration errors @zm-oai
  • #48544 Make onboarding login links easier to copy @etraut-openai
  • #48547 Fade blossom replays back to the idle state @fcoury-oai
  • #48548 Preserve table cell source metadata through TUI rendering @fcoury-oai
  • #48549 Preserve Markdown tables and whitespace when copying TUI responses @fcoury-oai
  • #48551 Fix TUI math rendering for zero and big wedge expressions @etraut-openai
  • #48560 Keep working tips stable during transcript interaction @fcoury-oai
  • #48562 Use a consistent borderless session header in the TUI @fcoury-oai
  • #48565 Allow macOS TLS trust evaluation in network-enabled Seatbelt profiles @winston-openai
  • #48568 Allow exec-server to proxy permitted private IPs upstream @open-matt
  • #48574 Preserve deferred tool namespace names before descriptions @adaley-openai
  • #48575 Allow provisioned executors more time to come online @richardopenai
  • #48604 Remove the bundled plugin-creator skill @martinauyeung-oai
  • #48611 Centralize persistent mode enablement checks @alishobeiri-oai
  • #48621 Remove follow-up prompt suggestions from the TUI @etraut-openai
  • #48623 Preserve empty Markdown list markers in the TUI @etraut-openai
  • #48626 Stop showing previous-session summaries when switching TUI sessions @etraut-openai
  • #48628 Preserve blank TUI sessions when switching tasks @etraut-openai
  • #48643 Set the provisioned macOS CLI bundle name to ChatGPT @riley-oai
  • #48646 Fix the session-start helper call in the command center test @etraut-openai
  • #48686 Remove WebSocket headers and tool payloads from info logs @chess-oai
  • #48724 Prevent Linux ETXTBSY races in MCP stdio tests @jif-oai
  • #48725 Retain confirmed Code Mode messages for Guardian reviews @ankushg
  • #48727 Centralize executable fixture creation to avoid Linux ETXTBSY races @jif-oai
  • #48754 Render /status without borders and wrap long values @fcoury-oai
  • #48757 Match TUI status shimmer timing to desktop headers @fcoury-oai
  • #48761 Show hidden output line counts in compact terminal activity @fcoury-oai
  • #48764 Preserve MCP app resource URIs without defaulting display mode @victor-openai
  • #48772 Fix Unix socket connections through long symlink paths @etraut-openai
  • #48775 Match pinned transcript headers to the original prompt style @etraut-openai
  • #48776 Remove the current badge from TUI task rows @etraut-openai
  • #48779 Preserve independent Guardian history across parent compaction @felixxia-oai
  • #48783 Add single-server MCP status discovery with thread connection reuse @victor-openai
  • #48796 Add opt-in structured errors for Guardian circuit-breaker interruptions @won-openai
  • #48799 Fix SGR mouse reporting for Windows terminal capture @etraut-openai
  • #48800 Use the terminal palette for ordered Markdown list markers @etraut-openai
  • #48805 Allow transcript wheel scrolling while a modal is open @fcoury-oai
  • #48807 Show short turn durations in TUI completion footers @fcoury-oai
  • #48812 Add history-aware prewarming for idle threads @vkg-oai
  • #48814 Preserve punctuation and semicolons in Mermaid labels @etraut-openai
  • #48819 Use explicit histogram buckets for tool and skill context metrics @mzeng-openai

…