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 gcp_setup_wizard 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: 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 native_call 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