Files
codex/codex-rs/Cargo.toml
T
Ian MacLeod fe74a77453 ## New Features
- Choose an optional fullscreen UI with `/tui` for your next launch, including transcript search, mouse selection, and right-click copying. (#46732, #46734, #46883, #46895)
- Voice conversations are enabled by default, with an F8 toggle, a `/voice settings` picker, and bundled audio runtimes for Linux and Windows. (#44921, #46071, #44622, #44714, #44922)
- Explore account usage, token totals, and plugin and skill activity through the `/usage` analytics dashboard. (#45764, #45769)
- Filter tasks by status and create worktree sessions from the agent command center; worktree support is now enabled by default. (#46839, #45276, #44870)
- Customize the terminal with six new themes and view supported Mermaid diagrams and display equations directly in responses. (#46504, #46054, #45612)
- Update the local background server through `/daemon`, or bypass it with `--no-daemon`. (#45854, #46088)

## Bug Fixes

- Preserve streamed answers and plans when turns fail, are interrupted, or receive subagent completion events. (#45549, #46867)
- Fix clipboard forwarding in tmux and SSH sessions and preserve tab indentation when terminals send pasted text as individual keystrokes. (#45457, #45454)
- Restore Plan mode when resuming sessions and preserve thread identity and settings when editing earlier prompts. (#45519, #45845)
- Recover login through system proxies and refresh MCP credentials when OAuth discovery returns a 503 error. (#46562, #44636)
- Prevent speech from being dropped during playback pauses or bursts of incoming audio. (#46880)
- Close sandbox isolation gaps involving inbound Windows connections, privileged Linux/macOS sockets, and writes through read-only macOS file handles. (#44639, #45984, #46500)

## Documentation

- Clarify that deprecated `friendly` and `pragmatic` personality settings no longer select response styles. (#45809)
- Explain how `?` matches a single character in network proxy allow and deny patterns. (#46027)

## Chores

- Update bundled TLS dependencies, including OpenSSL 3.6.4 for Linux musl builds. (#45149, #45489)

## Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.155.0...rust-v0.156.0

- #44606 Preserve whole diagnostic attachments and report incomplete uploads @chess-oai
- #44611 Preserve root turn attribution in turn-start events @owenlin0
- #44613 Enable user verification for local Codex Desktop sessions @riley-oai
- #44615 Treat non-interactive dumb terminals as warnings in `codex doctor` @etraut-openai
- #44616 Simplify enterprise OAuth login helpers and expand callback tests @nicksteele-oai
- #44617 Invalidate cached Guardian approvals for unscored permission widening @jif-oai
- #44619 Allow discarded code mode tool responses to be garbage collected @jif-oai
- #44620 Support temporary and minimal filesystem grants in MXC @iceweasel-oai
- #44622 Add `/voice settings` to choose a voice for future conversations @bc-openai
- #44626 Add bounded environment transport for MXC launch requests @iceweasel-oai
- #44628 Expose session analytics state in Responses turn metadata @marksteinbrick-oai
- #44629 Add manual callback input to MCP OAuth login @willwang-openai
- #44631 Focus the task list when reopening the agent command center @etraut-openai
- #44636 Recover OAuth metadata discovery from 503 responses via OIDC @malsamiri-oai
- #44639 Block non-loopback inbound traffic for the Windows offline sandbox @viyatb-oai
- #44646 Honor thread analytics opt-outs when using shared clients @priyanshusingh-de
- #44650 Enforce managed model provider selection and definitions @alexsong-oai
- #44651 Keep command center errors visible and preserve drafts @etraut-openai
- #44654 Preserve missing environment variable diagnostics in Codex Doctor @etraut-openai
- #44655 Honor thread-level plugin exclusions across runtime capabilities @mzeng-openai
- #44656 Attribute turn metrics to the models used during the turn @eternal-openai
- #44658 Keep Windows sandbox private desktops alive across helper exits @chess-oai
- #44659 Preserve turn triggers across delegated agent work @joeytrasatti-openai
- #44661 Trace tool call receipt, result readiness, and code-mode dispatch @anp-oai
- #44666 Honor system reduced-motion preferences in the TUI @imac-oai
- #44669 Resolve filesystem denials with explicit path context @seanh-oai
- #44670 Restrict login setup redirects to known platform origins @hintz-openai
- #44671 Keep voice sessions alive through mute and audio backlog @bc-openai
- #44675 Refresh global instructions at model-request boundaries @vkg-oai
- #44676 Resolve permission profiles with explicit execution-host path context @seanh-oai
- #44691 Warn about ignored configuration settings @andrewgu-oai
- #44693 Preserve selected profile settings over managed new-thread defaults @alexr-oai
- #44694 Include the Windows sandbox service in release artifacts @johnl-oai
- #44701 Add a provider for thread-scoped instructions @vkg-oai
- #44711 Return to the command center after session cancellation or deletion @etraut-openai
- #44714 Bundle Linux voice runtimes and improve audio reliability @bc-openai
- #44732 Clarify folder trust prompts and add restricted widget support @etraut-openai
- #44742 Preserve editor yanks across new sessions and thread switches @bc-openai
- #44744 Make archive confirmation number shortcuts act immediately @etraut-openai
- #44746 Check folder trust after resolving the startup destination @etraut-openai
- #44747 Update `quinn-proto` and allow the pinned H3 Git source @richardopenai
- #44749 Preserve voice caption order when replaying TUI history @bc-openai
- #44752 Render Markdown in agent overview task details @etraut-openai
- #44755 Check folder consent before creating or resuming TUI tasks @etraut-openai
- #44814 Test approved command execution with managed unified exec disabled @jif-oai
- #44826 Expose advertised MCP server capabilities in status responses @gpeal
- #44832 Add trusted enterprise MCP auth configuration @nicksteele-oai
- #44857 Add consistent theme-based thread colors across the TUI @etraut-openai
- #44862 Preserve parent cache affinity for ephemeral forks @jif-oai
- #44865 Scope code mode callback delegates to individual executions @abhinav-oai
- #44866 Preserve originating context for yielded code-mode tool calls @abhinav-oai
- #44867 Preserve originating budgets for code mode notifications @abhinav-oai
- #44870 Enable worktrees by default and clarify local daemon errors @bc-openai
- #44872 Add managed network policy support to the Windows MXC sandbox @iceweasel-oai
- #44877 Return public key metadata from user verification enrollment @riley-oai
- #44879 Fade Astra composer stars and stabilize cursor redraws @imac-oai
- #44883 Reject token-budget history notes for unsupported starting models @jif-oai
- #44893 Expose available access programs in model discovery @faizan-oai
- #44903 Wire up the native Windows MXC helper entry point @iceweasel-oai
- #44905 Expose disabled plugin settings in the app-server API @mzeng-openai
- #44915 Remove the deprecated `thread/rollback` API @owenlin0
- #44921 Enable TUI voice conversations by default @bc-openai
- #44922 Bundle native voice runtimes in Windows releases @bc-openai
- #44924 Refresh the speaker format when restarting voice output @bc-openai
- #44925 Accept voice response audio before captions on quiet turns @bc-openai
- #44928 Preserve voice meter history through quiet samples @bc-openai
- #44930 Embed friendly instructions in bundled GPT-5.4 and GPT-5.5 @rhan-oai
- #44931 Stop setting `YARN_NO_PROXY` in the managed proxy environment @viyatb-oai
- #44932 Unify context snapshots and group requests into windows @pakrym-oai
- #44933 Remove Windows world-writable scans and warnings from the TUI @etraut-openai
- #44934 Add scenario snapshots for remote compaction and Code Mode tools @pakrym-oai
- #44935 Remove personality selection from the TUI @rhan-oai
- #44938 Add connector auth failure detection without an install URL @priyanshusingh-de
- #44939 Respect execution hosts in Windows sandbox setup @etraut-openai
- #44942 Clarify the Windows Visual C++ runtime notice for voice packages @bc-openai
- #44944 Enforce managed provider requirements on existing app-server threads @alexsong-oai
- #44945 Route TUI Windows sandbox setup through the app server @etraut-openai
- #44946 Retire Friendly and Pragmatic personality selection @rhan-oai
- #44948 Add context snapshots for async questions and plugin refresh @pakrym-oai
- #44952 Keep voice captions visible across speaker updates and history handoff @bc-openai
- #44957 Add model grouping to the agent command center @etraut-openai
- #44969 Open tasks managed elsewhere as read-only history in the command center @etraut-openai
- #44970 Show task tokens and usage estimates in the agent command center @etraut-openai
- #44976 Make context snapshot text rendering consistent @pakrym-oai
- #45035 Run DotSlash publishing directly on Ubuntu runners @charliemarsh-oai
- #45039 Use gzip compression level 6 for Codex package archives @charliemarsh-oai
- #45051 Consolidate Rust release artifact downloads @charliemarsh-oai
- #45089 Delay automatic recaps and compact their TUI layout @fcoury-oai
- #45090 Preserve conversation context and separate next actions in recaps @fcoury-oai
- #45094 Estimate history tokens from content instead of serialized envelopes @won-openai
- #45108 Cancel pending thread title generation after manual renames @fcoury-oai
- #45112 Use blueberry in the realtime background-agent test fixture @anp-oai
- #45116 Prevent multiline report notes from submitting early @etraut-openai
- #45124 Add a feature flag for asynchronous user messages @alishobeiri-oai
- #45135 Preview streaming prose before a newline arrives in the TUI @etraut-openai
- #45137 Remove Astra sparkle animation from the TUI composer @fcoury-oai
- #45149 Use OpenSSL 3.6.4 for musl builds @zm-oai
- #45169 Extract Windows sandbox setup and installation storage into the library @zm-oai
- #45176 Wire the Windows MXC sandbox into command execution @iceweasel-oai
- #45178 Split Windows sandbox cleanup into preparation and completion phases @zm-oai
- #45180 Extract shared network configuration and environment policy helpers @seanh-oai
- #45182 Validate Windows sandbox token groups before copying SIDs @zm-oai
- #45185 Bind direct tool-call metadata to invocation outputs @ningyi-oai
- #45224 Register Windows desktop uninstall ownership before sandbox setup @chess-oai
- #45248 Use captured step settings for request metadata and tool hooks @abhinav-oai
- #45255 Open new sessions directly from the command center @etraut-openai
- #45262 Route pastes into the active history search query @charliemarsh-oai
- #45271 Preserve terminal scrollback when growing the TUI viewport @fcoury-oai
- #45276 Add worktree session creation to the agents overview @etraut-openai
- #45312 Extract Windows sandbox configuration preparation into a helper @seanh-oai
- #45345 Publish opt-in provisioned macOS packages with Rust releases @riley-oai
- #45399 Cancel code mode timer tasks when cleared or the cell finishes @jif-oai
- #45409 Add session and originating window IDs to MCP request metadata @jif-oai
- #45413 Invalidate Guardian review sessions after parent history resets @jif-oai
- #45417 Extract guardian transcript selection into `guardian-context` @felixxia-oai
- #45418 Extract Guardian conversation bookkeeping into the reviewer crate @felixxia-oai
- #45420 Extract Guardian sampler execution into a dedicated module @felixxia-oai
- #45428 Avoid cloning MCP server status snapshot data @charliemarsh-oai
- #45439 Share tool output schemas and defer MCP envelope construction @charliemarsh-oai
- #45440 Share Apps tool catalogs without retaining unused snapshots @charliemarsh-oai
- #45441 Preserve Guardian parent response IDs across sampling requests @jif-oai
- #45445 Attribute command and plugin analytics to the invoking model @jwang-openai
- #45454 Preserve tabs in non-bracketed paste bursts @etraut-openai
- #45455 Refactor Windows sandbox setup and service helpers @zm-oai
- #45457 Fix clipboard routing for tmux and SSH sessions @fcoury-oai
- #45459 Resolve enterprise-managed MCP registrations in the catalog @nicksteele-oai
- #45461 Label rollout compression failures by stage and I/O error kind @jif-oai
- #45463 Allow dedicated listeners for managed network proxies @iceweasel-oai
- #45475 Fix fuzzy match scoring within Unicode lowercase expansions @etraut-openai
- #45487 Retain thread persistence acquisition through session cancellation @jif-oai
- #45489 Update `rustls` and AWS-LC dependencies in Cargo and Bazel lockfiles @zm-oai
- #45491 Remove Guardian subagent-spawner plumbing @felixxia-oai
- #45492 Split Guardian V2 async scoring into focused modules @felixxia-oai
- #45493 Make the Guardian deadline cancellation helper crate-private @felixxia-oai
- #45495 Expose effective login methods in config requirements @acrognale-oai
- #45496 Trace global user instruction loading @vkg-oai
- #45499 Send local TUI images as portable attachments to remote app servers @etraut-openai
- #45501 Render inline TeX math as Unicode in the TUI @etraut-openai
- #45502 Add managed thread lifetimes with cancellation-safe startup @jif-oai
- #45503 Add revocable network policy primitives to the HTTP client @acrognale-oai
- #45504 Allow ConPTY output to close after the last console client exits @iceweasel-oai
- #45505 Add lifecycle tracing for unified exec @anp-oai
- #45506 Allow background persistence for steered user input @bryanashley
- #45509 Share MCP tool specs until search results are selected @owenlin0
- #45513 Allow setting `daybreakEnabled` when starting a thread @faizan-oai
- #45515 Filter plugin-install test analytics by event type @zm-oai
- #45516 Allow configuring the Guardian prompt template @won-openai
- #45517 Use a dedicated mock server in the provider enforcement test @zm-oai
- #45518 Route Guardian reviewers through ThreadManager for inline parents @jif-oai
- #45519 Restore collaboration mode when resuming threads @etraut-openai
- #45520 Add dependencies to the Windows sandbox service @zm-oai
- #45521 Move Guardian reviewer startup into the pool @jif-oai
- #45524 Enable MXC TTY launches and managed networking in the exec server @iceweasel-oai
- #45526 Stage Python runtime wheels directly from package directories @charliemarsh-oai
- #45528 Compress larger Windows release artifacts first @charliemarsh-oai
- #45529 Expose selected workspace routing in app-server account reads @acrognale-oai
- #45533 Harden and share Windows sandbox identity helpers @zm-oai
- #45534 Honor explicit Unix socket grants in the Linux managed sandbox @viyatb-oai
- #45535 Classify tool analytics events by call origin @eddie-openai
- #45537 Move Guardian reviewer lifecycle into the extension @jif-oai
- #45542 Add service-managed package registration for Windows sandbox accounts @zm-oai
- #45543 Refactor image content to use a shared `ImageReference` type @kchainani-oai
- #45544 Discourage logging full image generation results @Gan-Tu
- #45546 Move daemon packages out of the standalone CLI installation @etraut-openai
- #45548 Honor prepared Unix socket permissions in Seatbelt @viyatb-oai
- #45549 Preserve streamed answers and plans when turns terminate @etraut-openai
- #45550 Add opt-in registered package execution to the Windows sandbox @zm-oai
- #45554 Use shared Bazel cache preparation in SDK CI @charliemarsh-oai
- #45556 Add attachment upload and resolution APIs and pass stores into sessions @kchainani-oai
- #45558 Seed missing daemon installs from complete local CLI packages @etraut-openai
- #45559 Resume Windows sandbox registration refresh after service restarts @zm-oai
- #45579 Copy current thread attachments into non-ephemeral forks @joeytrasatti-openai
- #45580 Add explicit daemon package replacement from the CLI @etraut-openai
- #45602 Fix retry classification for throttling and quota errors @sdcoffey
- #45612 Render standalone display math in the TUI @etraut-openai
- #45649 Add elicitation classification support to app and MCP analytics @priyanshusingh-de
- #45669 Centralize child agent configuration in the agent module @jif-oai
- #45670 Move V2 agent message delivery into `AgentControl` @jif-oai
- #45672 Consolidate Guardian reviewer lifecycle ownership @jif-oai
- #45676 Move spawned-agent interruption rules into `AgentControl` @jif-oai
- #45677 Move Guardian review reporting and denial accounting into the extension @jif-oai
- #45679 Retire the unused Guardian extension prototype API @felixxia-oai
- #45680 Restrict guardian assessment parsing and circuit breaker visibility @felixxia-oai
- #45683 Consolidate guardian transcript tests in `guardian-context` @felixxia-oai
- #45684 Pass `ReviewModel` through guardian review sessions @felixxia-oai
- #45693 Move Guardian approval routing into the reviewer extension @jif-oai
- #45711 Add startup tool allowlists for threads @jif-oai
- #45716 Classify MCP auth and approval outcomes in analytics @priyanshusingh-de
- #45729 Move Guardian reviewer configuration into the extension @jif-oai
- #45730 Separate executor sandbox selection from Windows sandbox levels @iceweasel-oai
- #45736 Route Guardian requests through `/responses` with identifying headers @jif-oai
- #45737 Separate Windows sandbox implementations from legacy setup modes @iceweasel-oai
- #45739 Add typed account analytics reports to the backend client @fcoury-oai
- #45740 Add account analytics data normalization to the TUI @fcoury-oai
- #45741 Add token history and credit formatting helpers for analytics @fcoury-oai
- #45742 Add account-bound authentication for analytics requests @fcoury-oai
- #45746 Explicitly gate DotSlash publishing on release success @chess-oai
- #45749 Extract reusable Bash and Zsh startup scripts @jif-oai
- #45755 Honor canonical plugin disables for shared connectors @mzeng-openai
- #45757 Wire Windows sandbox selection into managed proxy routing @iceweasel-oai
- #45760 Disable V8 optimization paths affected by array sort bugs @kliu128
- #45762 Load analytics reports with server plans and account identity checks @fcoury-oai
- #45763 Add stacked chart primitives for account analytics @fcoury-oai
- #45764 Add an account analytics dashboard to `/usage` @fcoury-oai
- #45765 Add Top chats to usage analytics @fcoury-oai
- #45766 Add gated plan usage history to TUI analytics @fcoury-oai
- #45768 Add consumer Top chats usage analytics @fcoury-oai
- #45769 Add an account Summary tab to Analytics @fcoury-oai
- #45770 Improve analytics chart readability and navigation @fcoury-oai
- #45772 Expose experimental analytics plan history and improve navigation @fcoury-oai
- #45779 Use native process identities for PID-managed daemons @etraut-openai
- #45780 Allow daemon updates to restore pinned packages to latest stable @etraut-openai
- #45781 Normalize bullet glyphs in the image preparation disconnect snapshot @jgershen-oai
- #45782 Preserve Guardian authorization evidence across checkpoint migration @felixxia-oai
- #45789 Preserve Guardian evidence during checkpoint migration @felixxia-oai
- #45794 Support image references by file ID in inputs and tool outputs @kchainani-oai
- #45796 Preserve `ImageUserInput` in the Python SDK @kchainani-oai
- #45799 Complete Windows sandbox uninstall cleanup @chess-oai
- #45805 Preserve MCP App UI metadata in tool-call events and history @victor-openai
- #45806 Restrict plugin install requests to the root thread @rennie-openai
- #45807 Record interrupted turns in managed daemon recovery snapshots @etraut-openai
- #45809 Retire the personality feature flag and document deprecated settings @rhan-oai
- #45811 Bound WSL terminal detection and handle inconclusive probes safely @etraut-openai
- #45812 Add workspace routing support for Responses requests @acrognale-oai
- #45813 Track Windows sandbox policy and per-thread executor hosts in the TUI @etraut-openai
- #45817 Add a bounded Mermaid text renderer @etraut-openai
- #45820 Continue interrupted work after managed daemon restarts @etraut-openai
- #45821 Use app-server state for TUI Windows sandbox decisions @etraut-openai
- #45822 Add opt-in response body limits to the HTTP transport @sergio-oai
- #45823 Run R2 publishing when release dependencies succeed @dkumar-oai
- #45825 Add opt-in nonfatal handling for clock read failures @vivi
- #45830 Use app-server configuration for Windows sandbox state in the TUI @etraut-openai
- #45831 Allow session-only model and reasoning selection in the TUI @etraut-openai
- #45837 Hide WSLg's duplicate root in restricted Linux sandboxes @etraut-openai
- #45845 Revert the current thread when editing an earlier TUI prompt @etraut-openai
- #45849 Preserve the app-server shutdown signal future across loop iterations @jgershen-oai
- #45852 Preserve executor path conventions in permission summaries @seanh-oai
- #45854 Add `/daemon` menu for local background server updates @etraut-openai
- #45863 Preserve executor path URIs in permission profile workspace roots @seanh-oai
- #45865 Reject paths in project documentation fallback filenames @etraut-openai
- #45900 Add a hidden HTTP/3 TCP tunnel command @richardopenai
- #45915 Make Code Mode wrappers transparent to Guardian model policies @jif-oai
- #45928 Bound model catalog decode errors and classify request timeouts @jif-oai
- #45933 Avoid redundant model catalog lookups in reused Guardian reviewers @jif-oai
- #45956 Record memory storage size after successful consolidation @jif-oai
- #45957 Centralize Guardian policy resolution in config and protocol @jif-oai
- #45960 Tag memory usage telemetry with the memory version @jif-oai
- #45964 Expose partial completion in rollout compression metrics @jif-oai
- #45966 Measure rollout read and materialization durations @jif-oai
- #45978 Keep selection adjacent when hiding tasks in the agents overview @etraut-openai
- #45980 Fall back to summary history for read-only conversations @etraut-openai
- #45981 Preserve session config when switching thread permission profiles @etraut-openai
- #45982 Use native DNS resolution for the network proxy on macOS @jdkula-openai
- #45983 Show a loading message when opening tasks from the agents overview @etraut-openai
- #45984 Isolate app-server Unix sockets from filesystem-restricted commands @etraut-openai
- #45985 Replace guardian review result tuples with named structs @felixxia-oai
- #45987 Centralize Guardian action preparation for review @felixxia-oai
- #46002 Extract route-aware HTTP request execution into a separate module @acrognale-oai
- #46004 Preserve attachment Unix socket grants when controller policy is omitted @open-matt
- #46006 Report clock failures again after recovery @anp-oai
- #46008 Route built-in permission selections through the app server @etraut-openai
- #46009 Centralize compaction checkpoint selection and validation @felixxia-oai
- #46010 Enable app tool result metadata with analytics controls @ningyi-oai
- #46011 Enforce managed residency when constructing API providers @andrewgu-oai
- #46013 Route permission shortcuts through the shared selection flow @etraut-openai
- #46015 Allow callers to disable executor skills per environment @vkg-oai
- #46019 Allow hosted Apps MCP contributions to override the protocol mode @teddywyly-oai
- #46020 Add an experimental rollout compression endpoint @jif-oai
- #46026 Centralize model-message resolution and rendering in `codex-prompts` @rhan-oai
- #46027 Document and test `?` wildcards in network proxy domain patterns @viyatb-oai
- #46029 Allow browser app cleanup hooks on interrupt @syuan-oai
- #46031 Keep Noise relay streams alive after repeated handshake failures @viyatb-oai
- #46032 Require forced macOS preferences for managed configuration @joeflorencio-openai
- #46033 Preserve orchestrator skill caches across MCP runtime updates @hlevy-openai
- #46035 Add per-app tool exposure configuration @ptiet-oai
- #46036 Preserve config error causes when saving the approvals reviewer @darius-oai
- #46038 Test Windows sandbox bin DACL modification permissions @zm-oai
- #46040 Default TUI animations off when a screen reader is detected @etraut-openai
- #46041 Tighten request handling in Guardian approval tests @jgershen-oai
- #46042 Add read-only policy support to MCP tool requests @rennie-openai
- #46043 Repair expired Windows sandbox account passwords during setup @zm-oai
- #46044 Include Code Mode tool metadata in compaction prompts @ningyi-oai
- #46047 Tag rollout compression metrics by trigger @jif-oai
- #46051 Track WebSocket continuation modes and full-input send reasons @vkg-oai
- #46054 Render Mermaid code blocks as diagrams in the TUI @etraut-openai
- #46058 Attribute analytics events to realtime voice sessions @chrisdong-oai
- #46063 Trim Guardian tests and tighten request layout assertions @felixxia-oai
- #46064 Consolidate Guardian tests at shared policy and context boundaries @felixxia-oai
- #46065 Route prepared images through the attachment store @kchainani-oai
- #46066 Keep MCP user interaction on the root thread @rennie-openai
- #46067 Remove the `done` prefix from TUI completion timestamps @etraut-openai
- #46069 Use syntax theme colors for inline code and file paths @etraut-openai
- #46070 Suppress warnings when skill descriptions are shortened @etraut-openai
- #46071 Add a configurable F8 shortcut for voice conversations @etraut-openai
- #46072 Account for file images in context budgets and Guardian reviews @kchainani-oai
- #46073 Bound code-mode output previews across result blocks @etraut-openai
- #46075 Use captured step settings when spawning subagents @rhan-oai
- #46077 Keep the composer responsive during Command Center session creation @etraut-openai
- #46081 Mark finished empty Code Mode tool inventories as complete @nf-openai
- #46088 Add `--no-daemon` to bypass the shared background server @etraut-openai
- #46096 Add a one-time composer starfield for new Astra tasks @imac-oai
- #46104 Pause TUI events in the agents overview regression test @etraut-openai
- #46107 Box app-server request handler futures to reduce stack usage @etraut-openai
- #46108 Replace Sites migration state with a runtime compatibility guard @jiwon-oai
- #46112 Preserve filesystem sandbox policy context when the cwd disappears @anp-oai
- #46116 Make TUI web and image activity summaries compact and descriptive @etraut-openai
- #46117 Add opt-in automatic background server startup @etraut-openai
- #46122 Route filesystem reads and writes by their own sandbox permissions @anp-oai
- #46123 Allow model catalogs to override the V2 `spawn_agent` description @rhan-oai
- #46125 Fix daemon socket isolation checks for private tmp mounts @open-matt
- #46126 Record daemon startup and update telemetry with consent handling @etraut-openai
- #46179 Include sender user messages in Guardian delegation reviews @jif-oai
- #46230 Preserve configured Flex tiers without catalog or fast-mode support @sdcoffey
- #46237 Improve Windows sandbox error details and registry cleanup @chess-oai
- #46239 Prefer the provisioning service for automatic Windows sandbox setup @zm-oai
- #46241 Repair Windows sandbox access to existing runtime children @chess-oai
- #46245 Publish Guardian cached scores and coverage atomically @felixxia-oai
- #46258 Preserve uploaded image file IDs in user message display history @kchainani-oai
- #46264 Relax delegation guidance in the v2 `spawn_agent` description @surajs-oai
- #46266 Expand Unicode math rendering with accents, symbols, and delimiters @etraut-openai
- #46268 Add filesystem accessors bound to environment permissions @anp-oai
- #46271 Enable MXC selection through Windows sandbox configuration @iceweasel-oai
- #46278 Reduce R2 release upload concurrency and enable standard retries @anp-oai
- #46279 Preserve Guardian's reusable history prefix across approval requests @jif-oai
- #46281 Connect app-server workspace discovery to model request routing @acrognale-oai
- #46288 Add opt-in overhead timing to code-mode responses @cassirer-openai
- #46291 Filter saved reasoning overrides from requests when disabled @felixxia-oai
- #46292 Preserve selected reasoning effort for synchronous Guardian reviews @felixxia-oai
- #46293 Route skill discovery and loading through `EnvironmentAccess` @anp-oai
- #46294 Separate thread startup metadata from replay history @charliemarsh-oai
- #46297 Support catalog descriptions for all multi-agent V2 tools @rhan-oai
- #46300 Centralize OAuth login and refresh handling with safer diagnostics @alexsong-oai
- #46302 Validate network socket policies using the executor OS @seanh-oai
- #46303 Serialize release asset uploads to avoid secondary rate limits @imac-oai
- #46305 Avoid cloning turn items for app-server active turn lookups @charliemarsh-oai
- #46306 Preserve bio policy errors as a distinct non-retryable error @rennie-openai
- #46309 Preserve plugin caches across display metadata refreshes @vkg-oai
- #46310 Defer environment selection changes until the next turn @sayan-oai
- #46318 Add OAuth credential management for model provider gateways @alexsong-oai
- #46319 Preserve web search actions and results in exec JSON output @etraut-openai
- #46322 Set the Windows sandbox type in the pending environment test @sayan-oai
- #46323 Record active plugin inventory in turn analytics @marksteinbrick-oai
- #46324 Broaden compaction fallback to the current model @aibrahim-oai
- #46328 Avoid persisting project trust for projectless directories @viyatb-oai
- #46330 Move retry backoff into `codex-async-utils` @bolinfest
- #46331 Defer environment network policy validation until after composition @seanh-oai
- #46332 Dim conversation recaps in the TUI @etraut-openai
- #46333 Handle disabled Windows sandbox accounts during cleanup @chess-oai
- #46334 Share platform identity across path, network, and sandbox configuration @seanh-oai
- #46335 Keep MCP policy evaluation consistent with turn environments @sayan-oai
- #46482 Handle unknown error classifications and configure gateway OAuth @etraut-openai
- #46486 Make TUI async question replies compatible with desktop @etraut-openai
- #46487 Keep TUI exploration grouped across reasoning and nonzero exits @etraut-openai
- #46488 Split analytics tests into focused suites @rhan-oai
- #46490 Compose gateway OAuth with primary provider authentication @alexsong-oai
- #46492 Unify TUI tool output previews with a three-row limit @etraut-openai
- #46493 Allow `/review` during MCP startup @etraut-openai
- #46494 Keep remote workspace roots under server control @etraut-openai
- #46495 Preserve the provisioned macOS CLI's code-signing identity @riley-oai
- #46498 Allow worktree sessions to use an existing local daemon @etraut-openai
- #46499 Allow approved escalation with environment-owned network policies @sayan-oai
- #46500 Block mutating fcntls in restricted macOS Seatbelt policies @nornagon-openai
- #46501 Add configuration and feature diagnostics to report metadata @pakrym-oai
- #46503 Use catalog model display names throughout the TUI @etraut-openai
- #46504 Add six bundled TUI themes and theme-aware accents @etraut-openai
- #46505 Support catalog parameter schemas for Multi-Agent V2 tools @rhan-oai
- #46506 Share ChatGPT cookies between HTTP and WebSocket transports @jif-oai
- #46507 Run Windows sandbox tests exclusively when local @jif-oai
- #46508 Refresh the model catalog before turns after auth changes @jif-oai
- #46509 Flush completed Guardian reviews before delivering decisions @jif-oai
- #46510 Avoid cloning active turn items for metadata-only thread resumes @charliemarsh-oai
- #46511 Avoid cloning excluded turn items during thread resume @charliemarsh-oai
- #46512 Capture Guardian review checkpoints from live context @jif-oai
- #46513 Rename `AgentControl` to `LocalAgentControl` @jif-oai
- #46514 Replay guardian checkpoints into a fresh session in tests @jif-oai
- #46516 Handle completion timing in the multi-agent resume test @jif-oai
- #46517 Stabilize the TUI exit interruption test @jif-oai
- #46518 Handle delayed process startup in the Guardian network approval test @jif-oai
- #46519 Use paused time in sampler and model catalog timeout tests @jif-oai
- #46521 Use macOS member fallback in shared process-group termination helpers @jif-oai
- #46522 Enable Guardian parent-compaction reuse by default @felixxia-oai
- #46523 Default local binding to true for MXC managed networking @iceweasel-oai
- #46524 Retry busy executable launches in packaged daemon tests @felixxia-oai
- #46527 Pin WinGet publishing dependencies in the release workflow @imac-oai
- #46528 Bind executor plugin measurements to the trusted plugin version @papayo-oai
- #46529 Allow compatible feature overrides when starting the shared daemon @etraut-openai
- #46530 Gate reasoning effort updates on explicit model support @felixxia-oai
- #46531 Preserve request-level reasoning effort for memory and title workers @felixxia-oai
- #46532 Remove `com.apple.runningboard` from Seatbelt platform defaults @nornagon-openai
- #46533 Disable reasoning summaries by default for new TUI threads @celia-oai
- #46534 Support `env_inherit` in `workspace_root_test` @bolinfest
- #46535 Allow unrelated namespace mounts in Linux sandbox socket checks @pash-openai
- #46539 Add a command-start callback for tool lifecycle extensions @papayo-oai
- #46540 Centralize retry decisions and delays in `CodexErr` @anp-oai
- #46541 Add opt-in compaction after final responses @hlevy-openai
- #46542 Add authenticated remote plugin measurement references @papayo-oai
- #46543 Add bounded filesystem path diagnostics to `codex doctor` @etraut-openai
- #46544 Expose declared onboarding skills in plugin details @victor-openai
- #46546 Skip skill discovery when injecting items into initialized threads @hlevy-openai
- #46547 Expose a backend-independent agent control contract @jif-oai
- #46548 Advertise the control socket's WebSocket message size limit @konsti-openai
- #46551 Add a composite action to build and smoke-test Codex packages @anp-oai
- #46552 Move child completion routing into the agent controller @jif-oai
- #46553 Return `LiveAgent` records from agent listing @jif-oai
- #46554 Always use private desktops for legacy Windows sandboxes @iceweasel-oai
- #46555 Track executor registrations across connection refresh and recovery @viyatb-oai
- #46556 Keep step settings and approval environments consistent @sayan-oai
- #46557 Fix active-turn environment selection lookup @sayan-oai
- #46558 Add shared plugin catalog discovery APIs @TAFOYA-OAI
- #46559 Encapsulate rollout budget accounting in `LocalAgentControl` @jif-oai
- #46560 Fix stale environment config in the network approval test @sayan-oai
- #46561 Support explicit provider model catalog URLs @andrewgu-oai
- #46562 Add system proxy fallback for login and startup requests @abhinav-oai
- #46564 Rename plugin MCP and app extension APIs @TAFOYA-OAI
- #46565 Preserve reasoning order in TUI activity groups @etraut-openai
- #46566 Allow recovery commands when the current thread is unavailable @etraut-openai
- #46567 Separate plugin catalog listing from package resolution @TAFOYA-OAI
- #46568 Use captured environment state for permissions and daemon recovery @sayan-oai
- #46569 Set explicit turn triggers for exec and TUI requests @eddie-openai
- #46570 Tag remote model fetch duration by authentication mode @andrewgu-oai
- #46571 Preserve macOS Seatbelt exclusions in scratch directories @nornagon-openai
- #46572 Add turn-start cloud plugin discovery to the MCP extension @TAFOYA-OAI
- #46573 Add a standalone network proxy binary with JSON configuration @viyatb-oai
- #46574 Notify users when asynchronous questions arrive in the TUI @etraut-openai
- #46575 Preserve Windows package identity for sandboxed descendants @zm-oai
- #46577 Allow thread instruction providers to share updates with subagents @vinh-gpt
- #46578 Fix standalone network proxy policy initialization @etraut-openai
- #46579 Limit the agent command center to 10 recent sessions on startup @etraut-openai
- #46580 Keep Guardian reviews on the applied instruction snapshot @jif-oai
- #46583 Deny XPC service lookups in macOS Seatbelt profiles @nornagon-openai
- #46659 Move local child-process spawning into `codex-utils-pty` @charliemarsh-oai
- #46660 Make local child process launch settings explicit @charliemarsh-oai
- #46661 Avoid fork when spawning macOS filesystem helpers @charliemarsh-oai
- #46673 Extend server version notices to prerelease and local clients @etraut-openai
- #46680 Improve TUI contrast, keyboard hints, and picker layouts @etraut-openai
- #46691 Standardize TUI picker presentation and fix wrapping boundaries @etraut-openai
- #46692 Unify TUI picker styling and improve compact layouts @etraut-openai
- #46694 Unify TUI completion popup styling and preserve result identity @etraut-openai
- #46695 Unify TUI prompts with shared picker styling and layouts @etraut-openai
- #46697 Unify TUI picker styling and improve compact session layouts @etraut-openai
- #46708 Preserve logical source text and styles across TUI wrapping @etraut-openai
- #46709 Add compact activity rendering and preserve transcript source text @etraut-openai
- #46710 Restore rich tool details in persisted TUI transcripts @etraut-openai
- #46711 Align persisted TUI activity groups and reasoning with live output @etraut-openai
- #46712 Recover executed tool call metadata under recorder capacity pressure @ningyi-oai
- #46714 Skip polling delays in the external queue lifecycle test @charliemarsh-oai
- #46715 Split shell snapshot credential tests into focused cases @charliemarsh-oai
- #46719 Extract the TUI transcript overlay into its own module @etraut-openai
- #46720 Cache transcript layouts across measurement and rendering @etraut-openai
- #46721 Anchor transcript scrolling to entries and bound viewport rendering @etraut-openai
- #46722 Cancel pending transcript Home jumps on subsequent navigation @etraut-openai
- #46731 Render dynamic tool activity and preserve TUI history ordering @etraut-openai
- #46732 Add selection and copying to the transcript viewer @etraut-openai
- #46733 Integrate the interactive transcript into the alternate-screen TUI @etraut-openai
- #46734 Add transcript search and per-activity detail controls @etraut-openai
- #46739 Add compact transcript browsing and prompt navigation to the TUI @etraut-openai
- #46749 Stabilize transcript and composer interactions in the TUI @etraut-openai
- #46750 Preserve startup drafts and submit them when the session is ready @etraut-openai
- #46751 Add a warning footer and dedicated warnings viewer to the TUI @etraut-openai
- #46752 Add an animated Codex logo to fresh conversations and onboarding @etraut-openai
- #46832 Add independent controls for TUI visual effects @etraut-openai
- #46835 Respect reduced motion in the voice UI @etraut-openai
- #46837 Improve agent command center rows and page navigation @etraut-openai
- #46838 Refine the agent command center layout and metadata editing @etraut-openai
- #46839 Add status filter tabs to the agent command center @etraut-openai
- #46840 Simplify agent command center hints and back navigation @etraut-openai
- #46844 Select read-only permissions for temporary structured threads @etraut-openai
- #46845 Honor the system clock preference in TUI completion timestamps @etraut-openai
- #46849 Move fullscreen transcript control to TUI configuration @etraut-openai
- #46855 Increase the default terminal probe timeout from 100 ms to 250 ms @etraut-openai
- #46856 Support stadium nodes in Mermaid terminal diagrams @etraut-openai
- #46857 Extract shared text selection helpers for the TUI @etraut-openai
- #46858 Add mouse selection and editing to the fullscreen composer @etraut-openai
- #46859 Limit the welcome logo animation to onboarding @etraut-openai
- #46861 Remove analytics TUI snapshots @etraut-openai
- #46862 Refresh analytics on identity changes and compact usage menus @etraut-openai
- #46863 Stabilize usage dashboard navigation and add keyboard help @etraut-openai
- #46864 Improve usage report layouts and preserve reading positions @etraut-openai
- #46866 Enable mouse navigation in the TUI usage view @etraut-openai
- #46867 Preserve streamed answers when subagents finish @fcoury-oai
- #46877 Allow subagents to request MCP elicitation input @rennie-openai
- #46879 Count TUI launches by fullscreen transcript configuration @etraut-openai
- #46880 Preserve voice playback across pauses and packet bursts @etraut-openai
- #46882 Streamline agent command-center shortcuts and layout @etraut-openai
- #46883 Add `/tui` to choose the terminal UI mode for the next launch @fcoury-oai
- #46884 Enable plain clicks on transcript links and style bare URLs @etraut-openai
- #46895 Add right-click copying for transcript and composer selections @fcoury-oai
- #46897 Honor the effective terminal color level in activity charts @etraut-openai
- #46899 Make transcript list spacing uniform after streaming @fcoury-oai
- #46902 Hide Back to bottom when the current transcript tail is visible @fcoury-oai
- #46905 Identify local background servers in `/status` @etraut-openai
- #46910 Preserve transcript position when opening settings pickers @etraut-openai
- #46912 Keep quota warnings visible in the TUI @fcoury-oai
- #46917 Enforce current provider requirements for the model catalog @alexsong-oai
- #46922 Fix realtime V3 transcript reconciliation for handoffs @etraut-openai
- #46929 Remove the `Error` prefix from TUI `config.toml` load errors @etraut-openai
- #46931 Use shared, keymap-aware tips in the fullscreen composer @etraut-openai
- #46938 Add independent TUI rendering toggles for Mermaid, math, and tables @etraut-openai
- #46946 Populate the agents overview from background tool responses @etraut-openai
- #46952 Preserve metadata in native user verification requests @teddywyly-oai
- #46959 Add shared agent message-board extension interfaces @jif-oai
- #46962 Avoid exposing config values in `codex doctor` errors @jif-oai
- #46966 Add SQLite storage for local agent message boards @jif-oai
- #46978 Implement paginated queries for the local agent message board @jif-oai
- #46979 Index channel posts by timestamp for latest-message lookups @jif-oai
- #46981 Canonicalize the workspace trust key in the doctor config test @jif-oai
- #46985 Add collaboration tools for the agent message board @jif-oai
- #46989 Expand agent message board tool integration coverage @jif-oai
- #46993 Clarify Bazel lockfile verification failures @jif-oai
- #46994 Route agent delivery through captured send requests @jif-oai
- #46999 Decouple tool restrictions from session identity with `ToolPolicy` @felixxia-oai
- #47010 Add agent inspection without restoring unloaded runtimes @jif-oai
- #47017 Wire agent message boards into persistent multi-agent runtimes @jif-oai
- #47026 Add diagnostics for rollout compression metadata failures @jif-oai
- #47028 Align message-board tools with the multi-agent namespace @jif-oai
- #47029 Delete persisted message boards with their root threads @jif-oai
- #47030 Preserve ordered assistant context in Guardian reviews @felixxia-oai
- #47035 Defer extension tool history materialization until first access @charliemarsh-oai
- #47036 Share stored JSON payloads across code mode cells with `Arc` @charliemarsh-oai
- #47038 Cache OS discovery for user agents and telemetry @charliemarsh-oai
- #47039 Preserve delivered messages through post-tool hook failures @felixxia-oai
- #47042 Recover corrupt message-board storage during thread deletion @jif-oai
- #47049 Share SQLite pools across local agent message-board handles @jif-oai
- #47050 Batch message-board subscriber reads into one SQLite result @jif-oai
- #47055 Fetch local message board thread summaries in one query @jif-oai
2026-09-22 11:39:30 -07:00

637 lines
19 KiB
TOML

[workspace]
members = [
"aws-auth",
"analytics",
"agent-graph-store",
"agent-identity",
"agent-roles",
"backend-client",
"bwrap",
"build-info",
"ansi-escape",
"attachment-store",
"async-utils",
"app-server",
"app-server-transport",
"app-server-daemon",
"app-server-client",
"app-server-protocol",
"app-server-protocol-noop-macros",
"app-server-test-client",
"apply-patch",
"arg0",
"feedback",
"features",
"install-context",
"codex-backend-openapi-models",
"code-mode",
"code-mode-host",
"code-mode-protocol",
"code-mode-runtime",
"codex-home",
"cloud-config",
"cloud-tasks",
"cloud-tasks-client",
"cloud-tasks-mock-client",
"cli",
"collaboration-mode-templates",
"connectors",
"config",
"config-schema",
"context-fragments",
"shell-command",
"shell-escalation",
"skills",
"core",
"core-api",
"core-plugins",
"diagnostics",
"guardian-context",
"hooks",
"history",
"http-client",
"secrets",
"exec",
"file-system",
"exec-server-protocol",
"exec-server",
"exec-server/tests/support",
"execpolicy",
"ext/agent",
"ext/agent-message-board",
"ext/connectors",
"ext/extension-api",
"ext/goal",
"ext/git-attribution",
"ext/guardian-reviewer",
"ext/guardian-v2",
"ext/history-notes",
"ext/image-generation",
"ext/items",
"ext/memories",
"ext/mcp",
"ext/queue",
"ext/skills",
"ext/web-search",
"external-agent-migration",
"keyring-store",
"file-search",
"file-watcher",
"linux-sandbox",
"lmstudio",
"login",
"codex-mcp",
"memories/read",
"memories/write",
"mermaid",
"model-provider-info",
"mxc-sandbox",
"models-manager",
"network-proxy",
"ollama",
"process-hardening",
"realtime-webrtc",
"voice-host",
"protocol",
"prompts",
"rollout",
"rollout-trace",
"rmcp-client",
"responses-api-proxy",
"response-debug-context",
"sandboxing",
"stdio-to-uds",
"otel",
"otel-trace-websocket",
"tcp-tunnel",
"tui",
"user-verification",
"tools",
"v8-poc",
"websocket-client",
"windows-sandbox-service",
"worktree",
"workload-identity",
"utils/absolute-path",
"utils/audio",
"utils/path-uri",
"utils/cargo-bin",
"git-utils",
"utils/cache",
"utils/git-discovery",
"utils/image",
"utils/json-to-toml",
"utils/home-dir",
"utils/pty",
"utils/readiness",
"utils/redacted-string",
"utils/rustls-provider",
"utils/string",
"utils/cli",
"utils/elapsed",
"utils/sandbox-summary",
"utils/sleep-inhibitor",
"utils/approval-presets",
"utils/oss",
"utils/output-truncation",
"utils/path-utils",
"utils/plugins",
"utils/fuzzy-match",
"utils/stream-parser",
"utils/template",
"codex-client",
"codex-api",
"state",
"terminal-detection",
"test-binary-support",
"thread-manager-sample",
"thread-store",
"uds",
"codex-experimental-api-macros",
"plugin",
"model-provider",
]
resolver = "2"
[workspace.package]
version = "0.156.0"
# Track the edition for all workspace crates in one place. Individual
# crates can still override this value, but keeping it here means new
# crates created with `cargo new -w ...` automatically inherit the 2024
# edition.
edition = "2024"
license = "Apache-2.0"
[workspace.dependencies]
# Internal
codex-realtime-webrtc = { path = "realtime-webrtc" }
app_test_support = { path = "app-server/tests/common" }
codex-analytics = { path = "analytics" }
codex-agent-graph-store = { path = "agent-graph-store" }
codex-agent-identity = { path = "agent-identity" }
codex-agent-roles = { path = "agent-roles" }
codex-ansi-escape = { path = "ansi-escape" }
codex-api = { path = "codex-api" }
codex-attachment-store = { path = "attachment-store" }
codex-aws-auth = { path = "aws-auth" }
codex-app-server = { path = "app-server" }
codex-app-server-transport = { path = "app-server-transport" }
codex-app-server-daemon = { path = "app-server-daemon" }
codex-app-server-client = { path = "app-server-client" }
codex-app-server-protocol = { path = "app-server-protocol" }
codex-app-server-protocol-noop-macros = { path = "app-server-protocol-noop-macros" }
codex-app-server-test-client = { path = "app-server-test-client" }
codex-apply-patch = { path = "apply-patch" }
codex-arg0 = { path = "arg0" }
codex-async-utils = { path = "async-utils" }
codex-backend-client = { path = "backend-client" }
codex-build-info = { path = "build-info" }
codex-chatgpt = { path = "chatgpt" }
codex-client = { path = "codex-client" }
codex-collaboration-mode-templates = { path = "collaboration-mode-templates" }
codex-cloud-config = { path = "cloud-config" }
codex-cloud-tasks-client = { path = "cloud-tasks-client" }
codex-cloud-tasks-mock-client = { path = "cloud-tasks-mock-client" }
codex-code-mode = { path = "code-mode" }
codex-code-mode-protocol = { path = "code-mode-protocol" }
codex-code-mode-runtime = { path = "code-mode-runtime" }
codex-home = { path = "codex-home" }
codex-http-client = { path = "http-client" }
codex-websocket-client = { path = "websocket-client" }
codex-config = { path = "config" }
codex-connectors = { path = "connectors" }
codex-agent-extension = { path = "ext/agent" }
codex-agent-message-board-extension = { path = "ext/agent-message-board" }
codex-connectors-extension = { path = "ext/connectors" }
codex-context-fragments = { path = "context-fragments" }
codex-core = { path = "core" }
codex-core-api = { path = "core-api" }
codex-core-plugins = { path = "core-plugins" }
codex-diagnostics = { path = "diagnostics" }
codex-exec = { path = "exec" }
codex-file-system = { path = "file-system" }
codex-exec-server-protocol = { path = "exec-server-protocol" }
codex-exec-server = { path = "exec-server" }
codex-exec-server-test-support = { path = "exec-server/tests/support" }
codex-execpolicy = { path = "execpolicy" }
codex-extension-api = { path = "ext/extension-api" }
codex-extension-items = { path = "ext/items" }
codex-goal-extension = { path = "ext/goal" }
codex-git-attribution = { path = "ext/git-attribution" }
codex-guardian-reviewer = { path = "ext/guardian-reviewer" }
codex-guardian-v2 = { path = "ext/guardian-v2" }
codex-history-notes-extension = { path = "ext/history-notes" }
codex-image-generation-extension = { path = "ext/image-generation" }
codex-external-agent-migration = { path = "external-agent-migration" }
codex-experimental-api-macros = { path = "codex-experimental-api-macros" }
codex-features = { path = "features" }
codex-feedback = { path = "feedback" }
codex-install-context = { path = "install-context" }
codex-file-search = { path = "file-search" }
codex-file-watcher = { path = "file-watcher" }
codex-git-utils = { path = "git-utils" }
codex-guardian-context = { path = "guardian-context" }
codex-hooks = { path = "hooks" }
codex-history = { path = "history" }
codex-keyring-store = { path = "keyring-store" }
codex-linux-sandbox = { path = "linux-sandbox" }
codex-lmstudio = { path = "lmstudio" }
codex-login = { path = "login" }
codex-mermaid = { path = "mermaid" }
codex-message-history = { path = "message-history" }
codex-memories-extension = { path = "ext/memories" }
codex-web-search-extension = { path = "ext/web-search" }
codex-memories-read = { path = "memories/read" }
codex-memories-write = { path = "memories/write" }
codex-mcp = { path = "codex-mcp" }
codex-mcp-extension = { path = "ext/mcp" }
codex-model-provider-info = { path = "model-provider-info" }
codex-models-manager = { path = "models-manager" }
codex-mxc-sandbox = { path = "mxc-sandbox" }
codex-network-proxy = { path = "network-proxy" }
codex-ollama = { path = "ollama" }
codex-otel = { path = "otel" }
codex-otel-trace-websocket = { path = "otel-trace-websocket" }
codex-plugin = { path = "plugin" }
codex-model-provider = { path = "model-provider" }
codex-process-hardening = { path = "process-hardening" }
codex-protocol = { path = "protocol" }
codex-prompts = { path = "prompts" }
codex-queue-extension = { path = "ext/queue" }
codex-responses-api-proxy = { path = "responses-api-proxy" }
codex-response-debug-context = { path = "response-debug-context" }
codex-rmcp-client = { path = "rmcp-client" }
codex-rollout = { path = "rollout" }
codex-rollout-trace = { path = "rollout-trace" }
codex-sandboxing = { path = "sandboxing" }
codex-secrets = { path = "secrets" }
codex-shell-command = { path = "shell-command" }
codex-shell-escalation = { path = "shell-escalation" }
codex-skills-extension = { path = "ext/skills" }
codex-skills = { path = "skills" }
codex-state = { path = "state" }
codex-stdio-to-uds = { path = "stdio-to-uds" }
codex-terminal-detection = { path = "terminal-detection" }
codex-test-binary-support = { path = "test-binary-support" }
codex-thread-store = { path = "thread-store" }
codex-tools = { path = "tools" }
codex-tcp-tunnel = { path = "tcp-tunnel" }
codex-tui = { path = "tui" }
codex-uds = { path = "uds" }
codex-utils-absolute-path = { path = "utils/absolute-path" }
codex-utils-approval-presets = { path = "utils/approval-presets" }
codex-utils-audio = { path = "utils/audio" }
codex-utils-cache = { path = "utils/cache" }
codex-utils-cargo-bin = { path = "utils/cargo-bin" }
codex-utils-cli = { path = "utils/cli" }
codex-utils-elapsed = { path = "utils/elapsed" }
codex-utils-fuzzy-match = { path = "utils/fuzzy-match" }
codex-utils-git-discovery = { path = "utils/git-discovery" }
codex-utils-home-dir = { path = "utils/home-dir" }
codex-utils-image = { path = "utils/image" }
codex-utils-json-to-toml = { path = "utils/json-to-toml" }
codex-utils-oss = { path = "utils/oss" }
codex-utils-output-truncation = { path = "utils/output-truncation" }
codex-utils-path = { path = "utils/path-utils" }
codex-utils-path-uri = { path = "utils/path-uri" }
codex-utils-plugins = { path = "utils/plugins" }
codex-utils-pty = { path = "utils/pty" }
codex-utils-redacted-string = { path = "utils/redacted-string" }
codex-utils-rustls-provider = { path = "utils/rustls-provider" }
codex-utils-sandbox-summary = { path = "utils/sandbox-summary" }
codex-worktree = { path = "worktree" }
codex-utils-sleep-inhibitor = { path = "utils/sleep-inhibitor" }
codex-utils-stream-parser = { path = "utils/stream-parser" }
codex-utils-string = { path = "utils/string" }
codex-utils-template = { path = "utils/template" }
codex-user-verification = { path = "user-verification" }
codex-v8-poc = { path = "v8-poc" }
codex-workload-identity = { path = "workload-identity" }
codex-windows-sandbox = { path = "windows-sandbox-rs" }
core_test_support = { path = "core/tests/common" }
# External
learning_mode_windows = { git = "https://github.com/microsoft/mxc", rev = "6cd3d58f05d3447e67109cfb75e042803b843ca4" }
wxc_common = { git = "https://github.com/microsoft/mxc", rev = "6cd3d58f05d3447e67109cfb75e042803b843ca4" }
age = "0.11.1"
ansi-to-tui = "8.0.1"
anyhow = "1"
appcontainer_common = { git = "https://github.com/microsoft/mxc", rev = "6cd3d58f05d3447e67109cfb75e042803b843ca4" }
arboard = { version = "3", features = ["wayland-data-control"] }
arc-swap = "1.9.0"
assert_cmd = "2"
assert_matches = "1.5.0"
async-channel = "2.3.1"
async-io = "2.6.0"
async-stream = "0.3.6"
aws-config = "1"
aws-credential-types = "1"
aws-sigv4 = "1"
aws-types = "1"
axum = { version = "0.8", default-features = false }
base64 = "0.22.1"
bitflags = "2.13.1"
blake3 = "1.8.2"
bm25 = "2.3.2"
bytes = "1.10.1"
caseless = "0.2.2"
chardetng = "0.1.17"
chrono = "0.4.43"
clap = "4"
clap_complete = "4"
clatter = { version = "2.2.0", default-features = false, features = [
"alloc",
"getrandom",
"use-25519",
"use-aes-gcm",
"use-rust-crypto-ml-kem",
"use-sha",
] }
color-eyre = "0.6.3"
constant_time_eq = "0.3.1"
crossbeam-channel = "0.5.15"
crypto_box = { version = "0.9.1", features = ["seal"] }
crossterm = "0.29.0"
ctor = "0.6.3"
deno_core_icudata = "0.77.0"
derive_more = "2"
diffy = "0.4.2"
dirs = "6"
divan = "0.1.21"
dns-lookup = "3.0.1"
dotenvy = "0.15.7"
dunce = "1.0.4"
ed25519-dalek = { version = "2.2.0", features = ["pkcs8"] }
encoding_rs = "0.8.35"
eventsource-stream = "0.2.3"
flate2 = "1.1.8"
futures = { version = "0.3", default-features = false }
gethostname = "1.1.0"
gix = { version = "0.81.0", default-features = false, features = ["sha1"] }
gix-url = "0.35.2"
glob = "0.3"
globset = "0.4"
hmac = "0.12.1"
http = "1.3.1"
httpdate = "1.0.3"
iana-time-zone = "0.1.64"
icu_decimal = "2.1"
icu_locale_core = "2.1"
icu_provider = { version = "2.1", features = ["sync"] }
ignore = "0.4.23"
image = { version = "^0.25.9", default-features = false }
include_dir = "0.7.4"
indexmap = "2.12.0"
insta = "1.46.3"
inventory = "0.3.19"
itertools = "0.14.0"
jsonptr = { version = "0.7.1", default-features = false }
jsonwebtoken = "9.3.1"
keyring = { version = "3.6", default-features = false }
landlock = "0.4.4"
lazy_static = "1"
libc = "0.2.182"
# Keep SQLx's bundled SQLite on a version containing the WAL-reset corruption fix:
# https://www.sqlite.org/wal.html#the_wal_reset_bug
libsqlite3-sys = { version = "0.37", default-features = false }
log = "0.4"
lru = "0.18.2"
maplit = "1.0.2"
memchr = "2.7.6"
mime_guess = "2.0.5"
multimap = "0.10.0"
notify = "8.2.0"
nucleo = { git = "https://github.com/helix-editor/nucleo.git", rev = "4253de9faabb4e5c6d81d946a5e35a90f87347ee" }
once_cell = "1.20.2"
openssl-sys = "*"
opentelemetry = "0.31.0"
opentelemetry-appender-tracing = "0.31.0"
opentelemetry-otlp = "0.31.0"
opentelemetry-semantic-conventions = "0.31.0"
opentelemetry_sdk = "0.31.0"
os_info = "3.12.0"
owo-colors = "4.3.0"
pathdiff = "0.2"
portable-pty = "0.9.0"
predicates = "3"
pretty_assertions = "1.4.1"
pulldown-cmark = { version = "0.10", default-features = false }
quick-xml = "0.41.0"
rand = "0.9"
rand_regex = "0.18.1"
ratatui = { version = "0.30.2", default-features = false, features = [
"crossterm",
"layout-cache",
"underline-color",
] }
ratatui-macros = "0.7.2"
rcgen = { version = "0.14.7", default-features = false, features = [
"aws_lc_rs",
"pem",
] }
regex = "1.12.3"
regex-automata = { version = "0.4.13", default-features = false, features = ["std", "syntax", "unicode", "nfa-pikevm"] }
regex-lite = "0.1.8"
regex-syntax = "0.8.8"
reqwest = { version = "0.12", features = ["cookies"] }
rmcp = { version = "=3.2.0", default-features = false }
runfiles = { git = "https://github.com/dzbarsky/rules_rust", rev = "b56cbaa8465e74127f1ea216f813cd377295ad81" }
rustix = { version = "1.1.4", features = ["net"] }
rustls = { version = "0.23.45", default-features = false, features = [
"aws_lc_rs",
"std",
] }
rustls-native-certs = "0.8.3"
rustls-pki-types = "1.14.0"
schemars = "0.8.22"
seccompiler = "0.5.0"
semver = "1.0"
sentry = "0.46.0"
serde = { version = "1", features = ["rc"] }
serde_ignored = "0.1.14"
serde_json = "1"
serde_path_to_error = "0.1.20"
serde_with = "3.17"
serde_yaml = "0.9"
serial_test = "3.2.0"
sha1 = "0.10.6"
scopeguard = "1.2.0"
sha2 = "0.10"
shlex = "1.3.0"
signal-hook = "0.3.18"
similar = "2.7.0"
symphonia = { version = "0.6.0", default-features = false, features = [
"isomp4",
"mkv",
"mp3",
"ogg",
"wav",
] }
socket2 = "0.6.1"
# When bumping sqlx, audit the SQLite constructor deny list in clippy.toml.
sqlx = { version = "0.9.0", default-features = false, features = [
"chrono",
"json",
"macros",
"migrate",
"runtime-tokio",
"tls-rustls",
"sqlite-bundled",
"time",
"uuid",
] }
starlark = { version = "0.14.2", default-features = false }
strum = "0.27.2"
strum_macros = "0.28.0"
supports-color = "3.0.2"
syntect = "5"
sys-locale = "0.3.2"
system-configuration = "0.7"
tar = { version = "=0.4.45", default-features = false }
tempfile = "3.23.0"
test-log = "0.2.19"
textwrap = "0.16.2"
thiserror = "2.0.17"
tikv-jemallocator = "=0.7.0"
time = "0.3.47"
tiny_http = "0.12"
tokio = "1"
tokio-rustls = "0.26.4"
tokio-stream = "0.1.18"
tokio-test = "0.4"
tokio-tungstenite = { version = "0.28.0", features = [
"proxy",
"rustls-tls-native-roots",
] }
tokio-util = "0.7.18"
toml = "0.9.5"
toml_edit = "0.24.0"
tracing = "0.1.44"
tracing-appender = "0.2.3"
tracing-opentelemetry = "0.32.0"
tracing-subscriber = "0.3.22"
tracing-test = "0.2.5"
tonic = { version = "0.14.3", default-features = false, features = ["channel", "codegen"] }
tonic-prost = "0.14.3"
tree-sitter = "0.25.10"
tree-sitter-bash = "0.25"
tree-sitter-powershell = "=0.26.4"
ts-rs = "11"
tungstenite = { version = "0.27.0", features = ["deflate", "proxy"] }
uds_windows = "1.1.0"
unicode-segmentation = "1.12.0"
unicode-width = "0.2"
url = "2"
urlencoding = "2.1"
uuid = "1"
v8 = "=150.4.0"
vt100 = "0.16.2"
walkdir = "2.5.0"
webbrowser = "1.2.2"
which = "8"
whoami = "1.6.1"
wildmatch = "2.6.1"
winapi-util = "0.1.11"
zip = "2.4.2"
zstd = "0.13"
wiremock = "0.6"
zeroize = "1.8.2"
[workspace.lints]
rust = {}
[workspace.lints.clippy]
await_holding_invalid_type = "deny"
await_holding_lock = "deny"
disallowed_methods = "deny"
expect_used = "deny"
identity_op = "deny"
manual_clamp = "deny"
manual_filter = "deny"
manual_find = "deny"
manual_flatten = "deny"
manual_map = "deny"
manual_memcpy = "deny"
manual_non_exhaustive = "deny"
manual_ok_or = "deny"
manual_range_contains = "deny"
manual_retain = "deny"
manual_strip = "deny"
manual_try_fold = "deny"
manual_unwrap_or = "deny"
needless_borrow = "deny"
needless_borrowed_reference = "deny"
needless_collect = "deny"
needless_late_init = "deny"
needless_option_as_deref = "deny"
needless_question_mark = "deny"
needless_update = "deny"
redundant_clone = "deny"
redundant_closure = "deny"
redundant_closure_for_method_calls = "deny"
redundant_static_lifetimes = "deny"
trivially_copy_pass_by_ref = "deny"
uninlined_format_args = "deny"
unnecessary_filter_map = "deny"
unnecessary_lazy_evaluations = "deny"
unnecessary_sort_by = "deny"
unnecessary_to_owned = "deny"
unwrap_used = "deny"
# cargo-shear cannot see the platform-specific openssl-sys usage, so we
# silence the false positive here instead of deleting a real dependency.
[workspace.metadata.cargo-shear]
ignored = [
"icu_provider",
"openssl-sys",
"codex-v8-poc",
]
[profile.dev]
# Keep line tables/backtraces while avoiding expensive full variable debug info
# across local dev builds.
debug = "limited"
[profile.dev-small]
inherits = "dev"
opt-level = 0
debug = "none"
strip = "symbols"
[profile.release]
lto = "thin"
debug = "line-tables-only"
split-debuginfo = "off"
# Keep release binaries symbolicateable until packaging has archived the
# sidecar symbols and stripped the binaries.
strip = false
# Balance parallel release code generation against binary size.
codegen-units = 4
[profile.profiling]
inherits = "release"
debug = "full"
lto = false
strip = false
[profile.ci-test]
# Reduce binary size to reduce disk pressure.
debug = "limited"
inherits = "test"
opt-level = 0
[patch.crates-io]
# Uncomment to debug local changes.
# ratatui = { path = "../../ratatui" }
crossterm = { git = "https://github.com/openai-oss-forks/crossterm", rev = "45fecb9508105988f42fe6ff0441783ed3717f92" }
tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "0e5b2d73aa18dd9f0a50ee9ff199d5aef7594186" }
tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "4fffad30fe373adbdcffab9545e9e9bf4f2fc19f" }
# Uncomment to debug local changes.
# rmcp = { path = "../../rust-sdk/crates/rmcp" }
[patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"]
tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "4fffad30fe373adbdcffab9545e9e9bf4f2fc19f" }