rhan-oai 41e22fee98 ## New Features
- Vim mode now supports undo with `u` and redo with `Ctrl+R`, preserving complete drafts including pasted content and attachments. ([#41941](https://github.com/openai/codex/pull/41941), [#42140](https://github.com/openai/codex/pull/42140))
- The plugin CLI can list, install, and remove plugins from remote marketplaces. ([#42150](https://github.com/openai/codex/pull/42150))
- Set `tui.auto_recap = false` to disable automatic recaps while keeping manual `/recap` available. ([#42101](https://github.com/openai/codex/pull/42101))
- TUI history shows complete patches, input sent to background terminals, and individual completed commands. ([#41893](https://github.com/openai/codex/pull/41893), [#42107](https://github.com/openai/codex/pull/42107))
- Plus and Team users receive an earlier warning when less than half of their allowance remains in an approximately five-hour usage window. ([#42142](https://github.com/openai/codex/pull/42142))

## Bug Fixes

- TUI sessions reconnect after an external app-server connection drops, preserving drafts and transcripts while keeping uncertain or queued submissions paused for review. ([#41911](https://github.com/openai/codex/pull/41911), [#41916](https://github.com/openai/codex/pull/41916), [#41918](https://github.com/openai/codex/pull/41918))
- Full Access skips Guardian reviews for confirmation-only actions. User approval mode skips background Guardian scoring and prewarming, while sensitive-action checks and requests for user input retain their existing handling. ([#42147](https://github.com/openai/codex/pull/42147), [#42256](https://github.com/openai/codex/pull/42256))
- Guardian review history survives compaction, restarts, and user-created forks while respecting rollback boundaries and isolating subagent history. ([#41879](https://github.com/openai/codex/pull/41879), [#42065](https://github.com/openai/codex/pull/42065))
- Remembered MCP tool approvals are scoped to the selected app account, and relative MCP executable paths start more reliably on macOS. ([#42133](https://github.com/openai/codex/pull/42133), [#42117](https://github.com/openai/codex/pull/42117))
- Rollout compression includes shared histories, `codex exec resume` handles compressed rollouts when selecting by working directory, and thread forks work with symlinked session roots. ([#42039](https://github.com/openai/codex/pull/42039), [#42135](https://github.com/openai/codex/pull/42135))

## Configuration and API Updates

- App-server thread metadata includes nullable `model` and `reasoningEffort` fields. Structured asynchronous questions are supported through `request_user_input_async` when enabled by the model catalog. ([#42151](https://github.com/openai/codex/pull/42151), [#42178](https://github.com/openai/codex/pull/42178))
- `tui.disable_paste_burst` replaces the top-level setting, which remains supported as a fallback. ([#41976](https://github.com/openai/codex/pull/41976))
- Adds the disabled-by-default `features.context_management.experimental_mode` configuration. When enabled for eligible ChatGPT Plus, Pro, or Pro Lite sessions using the Codex backend, it activates token-budget context, history notes, and the `new_context` tool. API-key sessions, custom providers, and temporary structured threads remain excluded. ([#42385](https://github.com/openai/codex/pull/42385))

## Changelog

[Full Changelog](https://github.com/openai/codex/compare/rust-v0.152.1...rust-v0.153.0)

- [#41870](https://github.com/openai/codex/pull/41870) Use shared transcript collection for Guardian reviews
- [#41879](https://github.com/openai/codex/pull/41879) Preserve Guardian review evidence across compaction
- [#41884](https://github.com/openai/codex/pull/41884) Add pinned native voice source preparation
- [#41890](https://github.com/openai/codex/pull/41890) Add native voice dependency build recipe
- [#41892](https://github.com/openai/codex/pull/41892) Retain the MCP client for event streams
- [#41893](https://github.com/openai/codex/pull/41893) Show successful TUI commands individually
- [#41894](https://github.com/openai/codex/pull/41894) Fix Windows native voice dependency builds
- [#41897](https://github.com/openai/codex/pull/41897) Add the voice helper lifecycle foundation
- [#41899](https://github.com/openai/codex/pull/41899) Keep MCP event subscriptions alive after task unloading
- [#41901](https://github.com/openai/codex/pull/41901) Load bounded context after empty wake turns
- [#41902](https://github.com/openai/codex/pull/41902) Add installed voice host lifecycle support
- [#41906](https://github.com/openai/codex/pull/41906) Add a manager for MCP event streams
- [#41908](https://github.com/openai/codex/pull/41908) Avoid scanning archived rollouts when archiving threads
- [#41909](https://github.com/openai/codex/pull/41909) Make permission transforms aware of executor path context
- [#41911](https://github.com/openai/codex/pull/41911) Preserve TUI drafts after app-server disconnects
- [#41912](https://github.com/openai/codex/pull/41912) Persist response token usage in rollout history
- [#41913](https://github.com/openai/codex/pull/41913) Preserve TUI status timing when the status row is hidden
- [#41915](https://github.com/openai/codex/pull/41915) Move the config schema generator into a dedicated crate
- [#41916](https://github.com/openai/codex/pull/41916) Reconnect TUI app-server sessions automatically
- [#41917](https://github.com/openai/codex/pull/41917) Open the agents overview from an empty composer
- [#41918](https://github.com/openai/codex/pull/41918) Restore agent navigation after TUI reconnects
- [#41923](https://github.com/openai/codex/pull/41923) Allow per-call sideband endpoints for existing realtime calls
- [#41924](https://github.com/openai/codex/pull/41924) Record realtime conversation history in Core
- [#41925](https://github.com/openai/codex/pull/41925) Test repository-wide Rust formatter discovery
- [#41928](https://github.com/openai/codex/pull/41928) Use executor path context for permission preapproval
- [#41929](https://github.com/openai/codex/pull/41929) Open the agents overview directly in the reconnect test
- [#41933](https://github.com/openai/codex/pull/41933) Report configured sandbox policy consistently
- [#41934](https://github.com/openai/codex/pull/41934) Omit undersized WAV output from Code Mode
- [#41936](https://github.com/openai/codex/pull/41936) Attach failed Guardian reviews to diagnostic reports
- [#41937](https://github.com/openai/codex/pull/41937) Limit background terminal input previews
- [#41938](https://github.com/openai/codex/pull/41938) Clarify resume guidance in exit summaries
- [#41940](https://github.com/openai/codex/pull/41940) Preserve transcript layout caches during backtrack selection
- [#41941](https://github.com/openai/codex/pull/41941) Add Vim undo to the TUI composer
- [#41944](https://github.com/openai/codex/pull/41944) Emit turn cost telemetry for ChatGPT sessions
- [#41946](https://github.com/openai/codex/pull/41946) Expand extension permission regression coverage
- [#41949](https://github.com/openai/codex/pull/41949) Add plugin reconciliation app-server API
- [#41950](https://github.com/openai/codex/pull/41950) Improve tracing for nested tool calls and exec processes
- [#41953](https://github.com/openai/codex/pull/41953) Enforce marketplace source policy for curated plugins
- [#41974](https://github.com/openai/codex/pull/41974) Track TUI starts by app server mode
- [#41976](https://github.com/openai/codex/pull/41976) Move `disable_paste_burst` under `[tui]`
- [#41980](https://github.com/openai/codex/pull/41980) Preserve raw response usage metadata
- [#42003](https://github.com/openai/codex/pull/42003) Report turn trigger and source in turn analytics
- [#42031](https://github.com/openai/codex/pull/42031) Share Guardian user-message retention logic
- [#42033](https://github.com/openai/codex/pull/42033) Improve Guardian report diagnostics
- [#42039](https://github.com/openai/codex/pull/42039) Include shared histories in rollout compression
- [#42043](https://github.com/openai/codex/pull/42043) Tag Codex home size metrics with compression state
- [#42047](https://github.com/openai/codex/pull/42047) Add per-account approval settings for apps
- [#42054](https://github.com/openai/codex/pull/42054) Honor explicit account selectors for Apps tool calls
- [#42056](https://github.com/openai/codex/pull/42056) Honor app link settings for MCP tool approvals
- [#42065](https://github.com/openai/codex/pull/42065) Preserve Guardian history across thread reconstruction
- [#42066](https://github.com/openai/codex/pull/42066) Remove selected core test cases
- [#42068](https://github.com/openai/codex/pull/42068) Detect standalone installs from the macOS CLI bundle
- [#42069](https://github.com/openai/codex/pull/42069) Remove redundant test coverage
- [#42071](https://github.com/openai/codex/pull/42071) Detect Vite+-managed Codex installs
- [#42076](https://github.com/openai/codex/pull/42076) Unify Guardian context section collection
- [#42082](https://github.com/openai/codex/pull/42082) Attribute nested REPL reviews to their tool calls
- [#42085](https://github.com/openai/codex/pull/42085) Centralize Guardian context composition
- [#42086](https://github.com/openai/codex/pull/42086) Attribute Guardian reviews to OpenAI app tools
- [#42094](https://github.com/openai/codex/pull/42094) Record Windows MXC availability
- [#42096](https://github.com/openai/codex/pull/42096) Make diagnostic report uploads resilient to slow networks
- [#42100](https://github.com/openai/codex/pull/42100) Prefer remote Sites over the bundled plugin
- [#42101](https://github.com/openai/codex/pull/42101) Add a TUI setting to disable automatic recaps
- [#42102](https://github.com/openai/codex/pull/42102) Extract OTEL trace WebSocket into a reusable crate
- [#42104](https://github.com/openai/codex/pull/42104) Show recent sessions in the agent command center
- [#42107](https://github.com/openai/codex/pull/42107) Show full patches and terminal input in TUI history
- [#42109](https://github.com/openai/codex/pull/42109) Format Python scripts across the repository
- [#42110](https://github.com/openai/codex/pull/42110) Treat bundled cleanup hooks as built-ins
- [#42113](https://github.com/openai/codex/pull/42113) Apply remote platform semantics to exec safety checks
- [#42114](https://github.com/openai/codex/pull/42114) Centralize remote plugin mutations in `PluginsManager`
- [#42117](https://github.com/openai/codex/pull/42117) Fix relative MCP server spawning on macOS
- [#42118](https://github.com/openai/codex/pull/42118) Refine hook activity rendering in the TUI
- [#42121](https://github.com/openai/codex/pull/42121) Allow updating the approval reviewer for active turns
- [#42123](https://github.com/openai/codex/pull/42123) Preserve descriptive labels on local file links
- [#42126](https://github.com/openai/codex/pull/42126) Ignore non-JSON files in plugin catalog test helpers
- [#42128](https://github.com/openai/codex/pull/42128) Prepare MCP connections for coordinated OAuth refresh
- [#42132](https://github.com/openai/codex/pull/42132) Bound Git root discovery for metadata enrichment
- [#42133](https://github.com/openai/codex/pull/42133) Scope session MCP approvals to app account links
- [#42134](https://github.com/openai/codex/pull/42134) Include app link metadata in MCP approval elicitations
- [#42135](https://github.com/openai/codex/pull/42135) Support thread forks from symlinked session roots
- [#42137](https://github.com/openai/codex/pull/42137) Prewarm shell snapshots for eligible turns
- [#42140](https://github.com/openai/codex/pull/42140) Add redo support to Vim composer history
- [#42142](https://github.com/openai/codex/pull/42142) Add early rate-limit warnings for Plus and Team plans
- [#42144](https://github.com/openai/codex/pull/42144) Add Guardian V2 analytics events
- [#42146](https://github.com/openai/codex/pull/42146) Resolve permission requests in the executor context
- [#42147](https://github.com/openai/codex/pull/42147) Skip Guardian reviews in Full Access
- [#42149](https://github.com/openai/codex/pull/42149) Upgrade Git marketplaces from merged configuration
- [#42150](https://github.com/openai/codex/pull/42150) Support remote marketplaces in the plugin CLI
- [#42151](https://github.com/openai/codex/pull/42151) Expose model settings in app-server thread metadata
- [#42161](https://github.com/openai/codex/pull/42161) Split tool JSON Schema code into focused modules
- [#42164](https://github.com/openai/codex/pull/42164) Record result sources in app tool analytics
- [#42173](https://github.com/openai/codex/pull/42173) Support header injections in network requirements
- [#42174](https://github.com/openai/codex/pull/42174) Add a cacheable Bazel app-server schema bundle
- [#42178](https://github.com/openai/codex/pull/42178) Add structured asynchronous user input requests
- [#42256](https://github.com/openai/codex/pull/42256) Skip Guardian scoring in User approval mode
- [#42385](https://github.com/openai/codex/pull/42385) Add experimental context management activation
2026-09-02 17:52:46 -07:00
2026-09-02 17:52:46 -07:00
2026-04-24 17:49:29 -07:00
2025-04-16 12:56:08 -04:00
2025-04-16 12:56:08 -04:00
2026-04-24 17:49:29 -07:00
2026-08-21 16:45:05 +00:00

Codex CLI is a coding agent from OpenAI that runs locally on your computer.

Codex CLI splash


If you want Codex in your code editor (VS Code, Cursor, Windsurf), install in your IDE.
If you want the desktop app experience, run codex app or visit the Codex App page.
If you are looking for the cloud-based agent from OpenAI, Codex Web, go to chatgpt.com/codex.


Quickstart

Installing and running Codex CLI

Run the following on Mac or Linux to install Codex CLI:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

Run the following on Windows to install Codex CLI:

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

The standalone installers download from https://releases.openai.com/codex by default and fall back to GitHub Releases if a metadata or asset download is unavailable. To force GitHub Releases, set CODEX_INSTALLER_USE_RELEASES_OPENAI_COM to false (0 and no are also accepted):

curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh
$env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false'; irm https://chatgpt.com/codex/install.ps1 | iex

Codex CLI can also be installed via the following package managers:

# Install using npm
npm install -g @openai/codex
# Install using Homebrew
brew install --cask codex

Then simply run codex to get started.

You can also go to the latest GitHub Release and download the appropriate binary for your platform.

Each GitHub Release contains many executables, but in practice, you likely want one of these:

  • macOS
    • Apple Silicon/arm64: codex-aarch64-apple-darwin.tar.gz
    • x86_64 (older Mac hardware): codex-x86_64-apple-darwin.tar.gz
  • Linux
    • x86_64: codex-x86_64-unknown-linux-musl.tar.gz
    • arm64: codex-aarch64-unknown-linux-musl.tar.gz

Each archive contains a single entry with the platform baked into the name (e.g., codex-x86_64-unknown-linux-musl), so you likely want to rename it to codex after extracting it.

Using Codex with your ChatGPT plan

Run codex and select Sign in with ChatGPT. We recommend signing into your ChatGPT account to use Codex as part of your Plus, Pro, Business, Edu, or Enterprise plan. Learn more about what's included in your ChatGPT plan.

You can also use Codex with an API key, but this requires additional setup.

Docs

This repository is licensed under the Apache-2.0 License.

S
Description
pinned at tag rust-v0.124.0 by vibe-kanban crates/executors
Readme Apache-2.0
1.6 GiB
Languages
Rust 96.8%
Python 2.4%
Starlark 0.2%
Shell 0.2%
TypeScript 0.1%
Other 0.1%