0.148.0
New Features
- Export complete TUI conversations to Markdown with
/export, either to the clipboard or a new file. (#37358) - Fork sessions with
codex exec fork, and archive or restore sessions from the TUI resume picker. (#37367, #37369, #37371) - Draft prompts while the TUI initializes, with resume and fork progress shown during startup. (#38642, #38788)
- View estimated thread credits or cost in
/status, status lines, and terminal titles for eligible workspaces. (#38281, #38282) - Use Amazon Bedrock Runtime as a built-in provider with AWS profile, region, and GPT-5.6 routing support. (#38470)
- Hooks can now run commands asynchronously and invoke MCP tools. (#37533, #38705)
Bug Fixes
- Model switches and settings updates no longer leave stale instructions behind or change an active turn midstream. (#37260, #38785)
- Resumed sessions now restore their persisted working directory and approval policy, with more accurate transcript previews. (#37198, #37368, #38605)
- Turns reconnect through temporary provider outages, and MCP servers recover after OAuth reauthentication without restarting Codex. (#37337, #37485, #38418)
- TUI startup no longer lets buffered terminal input activate prompts accidentally, and onboarding appears when authentication is missing. (#38641, #38643, #38644)
- Composer and transcript rendering now handle CRLF pastes, wrapped whitespace, and long URLs correctly. (#37709, #38380, #38704)
- Sandbox restrictions now fail closed for denied or unreadable paths across Linux and Windows. (#37875, #38026, #38416, #38660)
Documentation
- The bundled skill-creator guide is more focused, and validation now rejects unfinished TODO placeholders. (#38384)
Changelog
Full Changelog: rust-v0.147.0...rust-v0.148.0
- #37190 Interrupt cyber model turns after one Guardian denial @copyberry
- #37191 Preserve legacy semantics during rollout migration @copyberry
- #37198 Prefer persisted cwd when reading local threads @copyberry
- #37199 Track thread archive analytics @copyberry
- #37204 Add durable user-message queue dispatch @copyberry
- #37206 Add a unified image budget @copyberry
- #37210 Fetch remote installed plugins across all scopes @copyberry
- #37211 Harden network proxy MITM authorization @copyberry
- #37248 Cover remote MCP discovery timeout cleanup @copyberry
- #37252 Allow agent roles on full-history forks @copyberry
- #37260 Fix first-turn model switching and rollback @copyberry
- #37261 Start cached MCP servers lazily for subagents @copyberry
- #37267 Support plugin roots in the host skill loader @copyberry
- #37273 Reuse MCP handlers across sampling steps @copyberry
- #37279 Avoid cloning immutable metadata on tool search cache hits @copyberry
- #37335 Fully repaint inline viewports after history overlap @copyberry
- #37336 Use step environments for extension turn input @copyberry
- #37337 Recover MCP servers after OAuth reauthentication @copyberry
- #37338 Honor the configured ChatGPT origin in connector install URLs @copyberry
- #37339 Reload app-server telemetry after account changes @copyberry
- #37340 Consolidate deferred environment provisioning APIs @copyberry
- #37341 Support content references for inline visualizations @copyberry
- #37342 Preserve foreign cwd URIs for turn-input contributors @copyberry
- #37343 Stage Bazel app-server test binaries in
TEST_TMPDIR@copyberry - #37344 Fix subagent MCP startup status settling @copyberry
- #37345 Send model routing hints to the Codex backend @copyberry
- #37347 Track context windows per agent @copyberry
- #37348 Add rollout migration tooling and background migration @copyberry
- #37349 Mount a minimal
/devin full-filesystem Bubblewrap sandboxes @copyberry - #37350 Allow
ThreadManagerto customize thread ID generation @copyberry - #37352 Configure the default code-mode exec yield timeout @copyberry
- #37354 Retry busy app-server test executable spawns @copyberry
- #37356 Support agent identity endpoint overrides @copyberry
- #37357 Clamp short wait_agent timeouts to the configured minimum @copyberry
- #37358 Add Markdown conversation export to the TUI @copyberry
- #37360 Use consistent TUI input placeholders @copyberry
- #37363 Recognize MCP tool hook configurations @copyberry
- #37366 Harden local MCP server process tree cleanup @copyberry
- #37367 Add session forking to
codex exec@copyberry - #37368 Restore approval policy when resuming threads @copyberry
- #37369 Add session archiving to the resume picker @copyberry
- #37371 Restore archived sessions from the resume picker @copyberry
- #37389 Add tool namespace metadata configuration @copyberry
- #37400 Rename the tool registry metadata setting @copyberry
- #37406 Add a loader for executor-local config layers @copyberry
- #37408 Add executor-local config reads to the exec server @copyberry
- #37424 Cap project instructions across environments @copyberry
- #37433 Expose multi-agent versions in model/list @copyberry
- #37434 Add process diagnostics snapshots @copyberry
- #37439 Add shared skill root loading interfaces @copyberry
- #37440 Load plugin skill roots through the host skills service @copyberry
- #37444 Unify plugin skill loading with the host skill service @copyberry
- #37446 Preserve base instruction provenance across sessions @copyberry
- #37447 Respect plugin skill availability in tool suggestions @copyberry
- #37452 Unify plugin skill loading through the shared loader @copyberry
- #37457 Remove the legacy core skill loader @copyberry
- #37461 Remove the unused remote skills client @copyberry
- #37466 Move skill config rule resolution into
codex-config@copyberry - #37470 Expose app-server diagnostics through the experimental API @copyberry
- #37477 Include call IDs in MCP requests and clarify metadata config @copyberry
- #37478 Shard state unit tests under Bazel @copyberry
- #37479 Report temporary directories in exec-server environment info @copyberry
- #37480 Delegate remote process sandboxing to the executor @copyberry
- #37483 Interrupt active code-mode cells with their turn @copyberry
- #37485 Keep response streams alive through connection failures @copyberry
- #37486 Expose runtime activity in server diagnostics @copyberry
- #37488 Generalize skill locator aliases across providers @copyberry
- #37489 Alias resource-backed skill locators under context pressure @copyberry
- #37492 Include tool namespace inventory in turn metadata @copyberry
- #37494 Add MCP event discovery and subscriptions @copyberry
- #37497 Limit payload traces in diagnostic logs @copyberry
- #37498 Preserve child waiters during process termination @copyberry
- #37500 Remove the legacy code-mode tool metadata inventory @copyberry
- #37503 Move host skill prompt injection into the skills extension @copyberry
- #37504 Disable Nagle's algorithm for code-mode WebSockets @copyberry
- #37505 Remove the codex-core-skills crate @copyberry
- #37507 Include sandbox mode in response metadata @copyberry
- #37510 Define the code-mode host gRPC protocol @copyberry
- #37511 Enforce automatic review for managed models @copyberry
- #37513 Reuse parent compactions in Guardian review sessions @copyberry
- #37516 Ignore reusable command approvals for cyber models @copyberry
- #37519 Expose auto-review ignore rules in config requirements @copyberry
- #37527 Terminate timed-out hook process trees @copyberry
- #37528 Keep external agent detection from blocking config requests @copyberry
- #37530 Implement the gRPC code-mode host service @copyberry
- #37533 Support asynchronous command hooks @copyberry
- #37538 Expose execution mode in hook listings @copyberry
- #37607 Prevent launch context from reaching child processes @copyberry
- #37610 Add workload identity token exchange support @copyberry
- #37618 Use step environments for Guardian approval reviews @copyberry
- #37622 Include buffered turns when editing prompts @copyberry
- #37641 Use the step context for command approval prefix rules @copyberry
- #37644 Generalize hook handler execution @copyberry
- #37645 Improve plugin install failure analytics @copyberry
- #37654 Advertise environment config read support @copyberry
- #37709 Keep wrapped composer whitespace with following text @copyberry
- #37723 Report I/O subtypes for session config import failures @copyberry
- #37745 Add gRPC TCP transport to the code-mode host @copyberry
- #37747 Bound Cursor project path resolution @copyberry
- #37757 Add a line-ending preservation mode to
apply_patch@copyberry - #37758 Add a feature flag to preserve apply_patch line endings @copyberry
- #37773 Forward install attempt IDs for remote plugins @copyberry
- #37788 Use native transparency in the imagegen skill @copyberry
- #37806 Initialize the install attempt ID in the plugin analytics test @copyberry
- #37807 Share model-visible tool specs across prompts @copyberry
- #37808 Simplify package-based skill reads @copyberry
- #37810 Support packaged defaults in config layering @copyberry
- #37812 Keep multi-workspace skill listings consistent @copyberry
- #37828 Track running unified exec processes at turn completion @copyberry
- #37832 Remove obsolete plugin skill discovery helpers @copyberry
- #37833 Encapsulate watchable skill root selection @copyberry
- #37836 Run plugin and skill tests on Windows @copyberry
- #37838 Tighten the skills extension API surface @copyberry
- #37842 Speed up MCP OAuth credential reads @copyberry
- #37843 Use the shared environment scrubber in git-utils @copyberry
- #37847 Preserve environments when reloading V2 agents @copyberry
- #37848 Expose the session ID to shell commands @copyberry
- #37850 Expose plugin ownership in MCP server status @copyberry
- #37851 Route intercepted exec approvals through shared review @copyberry
- #37860 Speed up MCP OAuth credential reads @copyberry
- #37862 Rename environment config for turn scope @copyberry
- #37864 Support MCP form input in full-access user threads @copyberry
- #37866 Add M...
0.148.0-alpha.23
Pre-release
Release 0.148.0-alpha.23
0.148.0-alpha.22
Pre-release
Release 0.148.0-alpha.22
0.148.0-alpha.21
Pre-release
Release 0.148.0-alpha.21
0.148.0-alpha.20
Pre-release
Release 0.148.0-alpha.20
0.148.0-alpha.19
Pre-release
Release 0.148.0-alpha.19
0.148.0-alpha.18
Pre-release
Release 0.148.0-alpha.18
0.148.0-alpha.17
Pre-release
Release 0.148.0-alpha.17
0.148.0-alpha.16
Pre-release
Release 0.148.0-alpha.16
0.148.0-alpha.15
Pre-release
Release 0.148.0-alpha.15