OpenAI Codex CLI rust-v0.167.0

OpenAI Codex CLI rust-v0.167.0 was released on .

Summary

Codex CLI v0.167.0 is here: an agent command center with unread markers, backend switching that keeps your drafts, inline image previews, and a Google Cloud Vertex AI setup wizard. Curious what else changed?

Release Context

  • This was the 112th OpenAI Codex CLI release of 2026 tracked by Havoptic.
  • It shipped 7 days after OpenAI Codex CLI rust-v0.166.0 (October 29, 2026).
  • OpenAI Codex CLI: ships every 3.2 days — 7 releases in the last month.

Why it matters: Switch AI backends mid-session without losing drafts.

Shipped around the same time

Within 3 days of this release, other AI coding tools also shipped:

Compare OpenAI Codex CLI

Release Notes

New Features - Open the agent command center with codex agents --no-daemon. The command center and session picker now mark unread results (58238, 58239, 58263, 58264). - Switch between connected backends from the terminal session picker and keep your drafts when switching (58280, 58457). - Preview local image attachments while composing on supported terminals, and open viewed local images from clickable transcript paths (58261, 58446). - Find API key and cloud provider options under “Sign in another way.” Enable gcpsetupwizard to set up Google Cloud Vertex AI with Application Default Credentials or a credential file (57857, 58427). - Opt into macOS or Windows system proxy settings from /experimental (58157). - Expand patch details directly in the transcript while an approval prompt is open (58281). Bug Fixes - Saved chats stay visible after you switch model providers. If a chat can’t resume, you can read its transcript and prepare an editable prompt to continue in a new chat (58202). - Ctrl+L clears the terminal display while keeping earlier messages available through Ctrl+T (58266). - Deleting text that exposes a leading ! keeps an ordinary draft in chat mode (58412). - Network approval prompts close when their requests end. Concurrent requests to the same endpoint prompt one at a time (58350, 58351). - Long realtime V3 conversations save completed speech to chat history as the transcript grows (58221). - Automatic context compaction now accounts for retained output from failed responses and responses with missing token usage data (58404). Documentation - The app-server README covers managed network constraints under [permissions.network] and prompt-user command rules that require fresh human approval (58045, 58182). - The openai-docs skill recommends the documented replacement when migrating away from a deprecated model (58134). Chores - DotSlash manifests now reference the Cargo packages shipped with the release (58717, 58757). - Linux musl builds use fewer allocator arenas to reduce idle memory after conversations unload (58399). Changelog Full Changelog: https://github.com/openai/codex/compare/rust-v0.166.0...rust-v0.167.0 - 57848 Add bounded Code Mode output collection and rendering @seanh-oai - 57850 Wire bounded output collection into the code mode runtime @seanh-oai - 57855 Load TUI plugin mentions from installed plugins @zamoshchin-openai - 57857 Add Google Cloud Vertex AI setup to TUI onboarding @alexsong-oai - 57859 Extend the provider OAuth sign-in timeout to ten minutes @smurching-oai - 57861 Skip resource template discovery for hosted Apps @khong-oai - 57862 Keep resume picker pagination moving across backends @bc-openai - 57864 Allow upstream interruption when canceling Responses Lite turns @liame-oai - 57866 Retry transient environment startup failures on the next turn @pansul47-oai - 57870 Enable server-side output truncation for Code Mode sessions @seanh-oai - 57876 Reuse the cached runtime keymap for default configuration @bc-openai - 57883 Preserve status-line hyperlinks through footer layout and animations @joesavona - 57970 Add an experimental UI tree renderer for the status line @joesavona - 57974 Apply session plugin overrides during MCP config refresh @TAFOYA-OAI - 57978 Add per-chat leases for shared MCP connections @charliemarsh-oai - 57985 Skip read-only volume-root expansion in the MXC sandbox @iceweasel-oai - 58013 Fix argument comment lint tests after rust-clippy branch rename @seanh-oai - 58025 Add trace-safe diagnostics for Noise relay request progress @apanasenko-oai - 58028 Add direct Guardian review of recorded exec calls @swastik-oai - 58034 Add an option to disable successful SSE delta logs @jif-oai - 58040 Preserve native tool-call evidence through Guardian review @ioanbudea-OAI - 58045 Add managed command checkpoints requiring fresh human approval @jif-oai - 58057 Initialize nativecall in agent host test fixtures @jif-oai - 58071 Share the Guardian context delivery token limit @ioanbudea-OAI - 58075 Use serving assessments for adaptive Guardian review @jif-oai - 58083 Use a dedicated binary for Bazel schema generation @jif-oai - 58091 Update default models for memory extraction and consolidation @jif-oai - 58110 Ignore RUSTSEC-2026-0418 for the Windows-only libz-sys dependency @swastik-oai - 58119 Add experimental Guardian review for injected thread commands @swastik-oai - 58121 Centralize provider request preparation auth checks @sgarg-oai - 58122 Add an incremental exec tools feature flag @akira-oai - 58123 Add validated elastic section budget configuration for Guardian @ioanbudea-OAI - 58125 Support negotiated server-side truncation in Code Mode clients @seanh-oai - 58127 Honor the tooltip preference for TUI startup help @imac-oai - 58129 Persist subagent relationships before creating child storage @radai-oai - 58130 Support pasted search text in the skills toggle view @xma-oai - 58134 Prefer documented replacements for deprecation-driven model migrations @kkahadze-oai - 58140 Route standalone web search through the thread's workspace context @sgarg-oai - 58144 Record additional context counts, sizes, and truncation metrics @akira-oai - 58147 Return standalone web search failures to the model @sgarg-oai - 58157 Expose system proxy support as an experimental setting @abhinav-oai - 58159 Add a feature flag for code-mode host output truncation @seanh-oai - 58161 Include tool names and annotation hints in MCP approval metadata @brisebois-oai - 58165 Keep remote plugin bundle URLs out of diagnostics @mzeng-openai - 58166 Make rollout recording failures and completion explicit @cassirer-openai - 58168 Create missing parent directories for MXC deny paths on Windows @iceweasel-oai - 58171 Stabilize cancellation and tracing tests @aakash-oai - 58172 Validate trace completion records and payload UTF-8 during replay @cassirer-openai - 58182 Support managed network requirements under permissions.network @viyatb-oai - 58189 Use turn-scoped permissions for standalone web search @sayan-oai - 58190 Allow providers to opt into Cyber access programs @jamy-OAI - 58195 Preserve remote read compatibility with older executors @dkovalenko-oai - 58196 Require Bazel release artifacts and publish DotSlash manifests @dkovalenko-oai - 58198 Centralize TOML config deserialization @dkovalenko-oai - 58202 Keep chats accessible across model provider changes @abhinav-oai - 58219 Add file-backed storage for gateway OAuth credentials @alexsong-oai - 58221 Preserve realtime V3 transcripts in conversation history @guinness-oai - 58237 Preserve unrelated side conversations when archiving or deleting threads @etraut-openai - 58238 Enable the agent command center for embedded sessions @etraut-openai - 58239 Enable the agent command center in embedded mode @etraut-openai - 58240 Enable TUI task tools for embedded app-server sessions @etraut-openai - 58241 Update mio from 1.2.0 to 1.2.4 @euroelessar - 58251 Reload remote executor credentials safely across token rotation @tgrue-openai - 58260 Reuse LocalImageAttachment throughout the TUI composer @etraut-openai - 58261 Add local image thumbnails to the TUI composer @etraut-openai - 58263 Show unread results in the TUI command center @etraut-openai - 58264 Show unread sessions and acknowledge viewed transcripts in the picker @etraut-openai - 58266 Preserve transcript history when clearing the terminal with Ctrl+L @xma-oai - 58270 Recognize Rex terminals and enable Kitty graphics for pets @etraut-openai - 58280 Reuse connected backends in the in-app resume picker @bc-openai - 58281 Allow inline patch review during approval prompts @etraut-openai - 58324 Treat auth reload failures as transient during token refresh @jif-oai - 58341 Add an MCP adapter for message-board tools @jif-oai - 58343 Preserve fallback token refreshes when the keyring is unreadable @jif-oai - 58350 Resolve network approval prompts when their requests end @charliemarsh-oai - 58351 Serialize manual network approval prompts per endpoint @charliemarsh-oai - 58352 Allow Apps catalog discovery before the initial tool inventory completes @bkotsopoulos - 58355 Fix remote executor authentication timeout recovery @jif-oai - 58357 Extract pre-tool-use hook handling into a helper @swastik-oai - 58361 Preserve model metadata origin through runtime resolution @ioanbudea-OAI - 58368 Apply PreToolUse hooks before direct Guardian review policy checks @swastik-oai - 58378 Scope agent MCP metadata to a host-selected plugin registration @rhan-oai - 58380 Broadcast thread section changes to connected clients @charliemarsh-oai - 58381 Fix unsettled refresh detection after workspace switching @jif-oai - 58385 Test V8 inline typed array storage limits @fcoury-oai - 58388 Add whole-entry elastic allocation for Guardian context @ioanbudea-OAI - 58390 Expose parent context for host-managed child startup @rhan-oai - 58395 Add scoped host metadata hooks for MCP tool requests @rhan-oai - 58399 Reduce jemalloc arena count for Linux musl builds @dkovalenko-oai - 58403 Run package updates outside the project on non-Windows platforms @viyatb-oai - 58404 Fix context token estimates for responses without usable usage @dkovalenko-oai - 58405 Add an option to suppress incremental model change announcements @chetan-oai - 58406 Add host-inherited thread instructions and execution policies @rhan-oai - 58410 Enable deferred tool world state by default @adaley-openai - 58411 Expose non-consuming input activity waits to hosts @rhan-oai - 58412 Keep exposed leading bangs literal in the chat composer @xma-oai - 58418 Simplify recorded exec command review @swastik-oai - 58427 Group alternative sign-in methods in a submenu @alexsong-oai - 58428 Support app settings in plugin configuration @mzeng-openai - 58430 Add audio file references with explicit runtime rejection @hung-oai - 58434 Treat audio validation failures as non-retryable input errors @hung-oai - 58436 Add interactive controls and refresh inline visualization styles @philipp-oai - 58441 Preserve Apps usage instructions in model catalog messages @goodman-oai - 58444 Cap Guardian context entries before elastic allocation @ioanbudea-OAI - 58446 Make viewed image paths clickable in the TUI @etraut-openai - 58454 Add elastic budgeting for Guardian context preparation @ioanbudea-OAI - 58456 Preserve incomplete response output in failed inference traces @cassirer-openai - 58457 Enable cross-backend session switching in the TUI @bc-openai - 58459 Tighten Bazel CI snapshot handling and OTLP test cleanup @imac-oai - 58713 Extract fresh session adoption from TUI session startup @bc-openai - 58714 Sort agent center tasks by recency within status groups @etraut-openai - 58716 Support OSC 52 clipboard forwarding through GNU screen @etraut-openai - 58717 Make Bazel checks advisory and pause Bazel release artifacts @dkovalenko-oai - 58718 Support rendering TUI conversations within an inset area @fcoury-oai - 58719 Wire native voice dependencies into full Rust CI @bc-openai - 58720 Prioritize pending approvals in the subagent picker @tamird - 58722 Add naming and navigation helpers for TUI backend sessions @bc-openai - 58727 Use local Bazel for voice release builds @fcoury-oai - 58751 Release superseded assistant text from live paginated history @btraut-openai - 58757 Remove Bazel outputs from DotSlash release configs @fcoury-oai

View original release

Other Recent OpenAI Codex CLI Releases

All OpenAI Codex CLI releases · All AI coding tool releases on Havoptic