Primary navigation

Codex changelog

  • Codex is now GA

    Codex is now generally available with 3 new features — @Codex in Slack, Codex SDK, and new admin tools.

    @Codex in Slack

    You can now questions and assign tasks to Codex directly from Slack. See the Slack guide to get started.

    Codex SDK

    Integrate the same agent that powers the Codex CLI inside your own tools and workflows with the Codex SDK in Typescript. With the new Codex GitHub Action, you can easily add Codex to CI/CD workflows. See the Codex SDK guide to get started.

    import { Codex } from "@openai/codex-sdk";
    
    const agent = new Codex();
    const thread = await agent.startThread();
    
    const result = await thread.run("Explore this repo");
    console.log(result);
    
    const result2 = await thread.run("Propose changes");
    console.log(result2);

    New admin controls and analytics

    ChatGPT workspace admins can now edit or delete Codex Cloud environments. With managed config files, they can set safe defaults for CLI and IDE usage and monitor how Codex uses commands locally. New analytics dashboards help you track Codex usage and code review feedback. Learn more in the enterprise admin guide.

    Availability and pricing updates

    The Slack integration and Codex SDK are available to developers on ChatGPT Plus, Pro, Business, Edu, and Enterprise plans starting today, while the new admin features will be available to Business, Edu, and Enterprise. Beginning October 20, Codex Cloud tasks will count toward your Codex usage. Review the Codex pricing guide for plan-specific details.

  • Codex CLI Release: 0.45.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Highlights:

    • #4517 Experimental support for OAuth MCP server authentication

    Full list of merged PRs:

    • #4636 Replace --api-key with --with-api-key for logging into the CLI with an API key
    • #4644 Only write the final message to stdout for codex exec
    • #4676 Default to gpt-5 for Windows users who have not set a default model
    • #4689 Remove the requirement to use experimental_use_rmcp_client for streamable HTTP MCP servers that don't require OAuth
    • #4673 Fix colors when refocusing the terminal after a system theme update
    • #4694 Fix reasoning effort title
    • #4616 Updated device code login copy
    • #4706 Fix command output truncation that sometimes used too much of the context window
    • #4663 Initial parallel tool call support
    • #4736 Pulsing dot loading state

    View full release on GitHub

  • Codex CLI Release: 0.44.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Highlights:

    • New UI refresh! Updated chat composer, bottom pane, model picker, and upgrade nudge (#4240, #4316, #4178, #4405)
    • Custom prompts now support named & positional arguments (#4474, #4470)
    • Add support for streamable HTTP MCP servers (#4317)
    • (experimental) Reduce repetitive approval for read-only commands on Windows (#4269)
    • (very experimental) Manage cloud tasks with codex cloud (#3197)
    • many more fixes and improvements

    Full list of merged PRs:

    • #4642 Nit: Pop model effort picker on esc
    • #4641 Move gpt-5-codex to top
    • #4639 Fix tab+enter regression on slash commands
    • #4619 feat: add file name to fuzzy search response
    • #4629 tui: • Working, 100% context dim
    • #4633 Use supports_color in codex exec
    • #4636 Enable codex workflows
    • #4638 Update issue-deduplicator.yml
    • #4571 feat: write pid in addition to port to server info
    • #4635 Deduplicator fixes
    • #4627 fix false "task complete" state during agent message
    • #4634 Bump codex version in actions to latest
    • #4610 Rename assistant message to agent message and fix item type field naming
    • #4630 Use GH cli to fetch current issue
    • #4622 tui: tweaks to dialog display
    • #4628 Add issue deduplicator workflow
    • #4585 Minor cleanup of codex exec output
    • #4626 Revert "chore: sandbox extraction"
    • #4621 Add issue labeler workflow
    • #4583 Add a separate exec doc
    • #4612 Separate interactive and non-interactive sessions
    • #4178 Make model switcher two-stage
    • #4475 show "Viewed Image" when the model views an image
    • #4586 normalize key hints
    • #4584 Fix status usage ratio
    • #4454 fix: handle JSON Schema in additionalProperties for MCP tools
    • #4615 Support CODEX_API_KEY for codex exec
    • #4569 fix: update the gpt-5-codex prompt to be more explicit that it should always used fenced code blocks info tags
    • #4579 Store settings on the thread instead of turn
    • #4572 Include request ID in the error message
    • #4577 canonicalize display of Agents.md paths on Windows.
    • #4573 rework patch/exec approval UI
    • #4513 Add initial set of doc comments to the SDK
    • #4576 Revert "chore: prompt update to enforce good usage of apply_patch"
    • #4567 Explicit node imports
    • #4568 Fix hang on second oauth login attempt
    • #4575 fix: use number instead of bigint for the generated TS for RequestId
    • #4566 fix ctr-n hint
    • #4556 feat: add --emergency-version-override option to create_github_release script
    • #4563 SDK: support working directory and skipGitRepoCheck options
    • #4544 Fall back to configured instruction files if AGENTS.md isn't available
    • #4536 Show context window usage while tasks run
    • #4509 Show placeholder for commands with no output
    • #4468 Add Updated at time in resume picker
    • #4559 Handle trailing backslash properly
    • #4269 implement command safety for PowerShell commands
    • #4555 fix: pnpm/action-setup@v4 should run before actions/setup-node@v5
    • #4543 chore: introduce publishing logic for @openai/codex-sdk
    • #4286 chore: sanbox extraction
    • #4533 Fix Callback URL for staging and prod environments
    • #4537 fix: remove mcp-types from app server protocol
    • #4532 Add executable detection and export Codex from the SDK
    • #4529 fix: use macros to ensure request/response symmetry
    • #4525 Remove legacy codex exec --json format
    • #4506 wrap markdown at render time
    • #4520 Delete codex proto
    • #4521 fix: enable process hardening in Codex CLI for release builds
    • #4518 fix: clean up TypeScript exports
    • #4512 fix: ensure every variant of ClientRequest has a params field
    • #4511 Wire up web search item
    • #4508 [SDK] Test that a tread can be continued with extra params
    • #3846 chore: prompt update to enforce good usage of apply_patch
    • #4474 Named args for custom prompts
    • #4503 Support model and sandbox mode in the sdk
    • #3197 Add cloud tasks
    • #4471 fix: separate codex mcp into codex mcp-server and codex app-server
    • #4422 Update MCP docs to reference experimental RMCP client
    • #4486 Move PR-style review to top
    • #4483 SDK CI
    • #4485 Set originator for codex exec
    • #4482 Rename conversation to thread in codex exec
    • #4481 Add MCP tool call item to codex exec
    • #4472 Add some types and a basic test to the SDK
    • #3531 Rakesh/support device auth
    • #4478 Add turn.failed and rename session created to thread started
    • #4476 Custom prompts begin with /prompts:
    • #4458 Fixes
    • #4364 reintroduce "? for shortcuts"
    • #4470 Custom prompt args (numeric)
    • #4469 no background for /command or @file popup
    • #4467 render • as dim
    • #4461 [Core]: add tail in the rollout data
    • #4455 TypeScript SDK scaffold
    • #4456 Parse out frontmatter for custom prompts
    • #2677 [mcp-server] Expose fuzzy file search in MCP
    • #2103 OpenTelemetry events
    • #4447 fix clear-to-end being emitted at the end of a row
    • #4419 [CODEX-3595] Remove period when copying highlighted text in iTerm
    • #4417 feat: introduce npm module for codex-responses-api-proxy
    • #4416 Add /review to main commands
    • #4408 fix: clean up some minor issues with .github/workflows/ci.yml
    • #4406 feat: build codex-responses-api-proxy for all platforms as part of the GitHub Release
    • #4404 chore: remove responses-api-proxy from the multitool
    • #4412 chore: lower logging level from error to info for MCP startup
    • #4403 chore: move pre_main_hardening() utility into its own crate
    • #4405 Improve update nudge
    • #4332 chore: remove model upgrade popup
    • #4362 fix(tui): make ? work again
    • #4336 fix: remove default timeout of 30s in the proxy
    • #4330 Edit the spacing in shortcuts
    • #4324 tui: separator above final agent message
    • #4335 fix: set gpt-5-codex medium preset reasoning
    • #4333 docs: refresh README under codex-rs
    • #4316 Add "? for shortcuts"
    • #4317 [MCP] Add support for streamable HTTP MCP servers
    • #4240 update composer + user message styling
    • #4309 Add turn started/completed events and correct exit code on error
    • #4307 reject dangerous commands for AskForApproval::Never

    View full release on GitHub

  • Codex CLI Release: 0.42.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Notable Changes

    • Experimental Rust SDK–based MCP client introduced (#4252)
    • New responses-api-proxy component to simplify and secure response handling/proxying (#4246)
    • Added secure mode: CODEX_SECURE_MODE=1 to restrict process observability (#4220)
    • More explicit codex exec events, including item.started and improved output display (#4177, #4250, #4113)
    • Safer command execution: dangerous command checks in core and Windows-specific safety (#4211, #4119)
    • UX improvements: revamped /status with clearer presentation and details, pageless session list, approvals moved to ListSelectionView, better MCP tool call styling, and hiding status indicator during streaming (#3194, #4275, #3871, #4101, #4196)
    • Stability and correctness: token usage fix for compaction, SSE mounting reliability, and improving bugs on editing previous conversations (#4281, #4264, #4237)
    • IDE extension reliability: fix login with API key when .codex directory is missing (#4258)
    • Internal cleanup and refactors for state, footer logic, and unused code (#4174, #4259, #4310)

    Merged PRs

    • [#4304] /status followup (#4304)
    • [#4310] chore: dead code removal; remove frame count and stateful render helpers (#4310)
    • [#4252] [MCP] Introduce an experimental official rust sdk based mcp client (#4252)
    • [#4255] Add todo-list tool support (#4255)
    • [#4246] feat: introduce responses-api-proxy (#4246)
    • [#4281] fix: token usage for compaction (#4281)
    • [#4113] Show exec output on success with trimmed display (#4113)
    • [#4275] Move approvals to use ListSelectionView (#4275)
    • [#4259] Refactor the footer logic to a new file (#4259)
    • [#4229] ref: state - 2 (#4229)
    • [#4211] core: add potentially dangerous command check (#4211)
    • [#4264] Actually mount sse once (#4264)
    • [#4254] Add codex exec testing helpers (#4254)
    • [#4258] Fixed login failure with API key in IDE extension when a .codex directory doesn't exist (#4258)
    • [#4256] fix typo in sandbox doc (#4256)
    • [#4250] [codex exec] Add item.started and support it for command execution (#4250)
    • [#4251] fix (#4251)
    • [#4248] fix bug when resizing to a smaller width (#4248)
    • [#4067] make tests pass cleanly in sandbox (#4067)
    • [#4204] Fix error message (#4204)
    • [#4177] Add explicit codex exec events (#4177)
    • [#4194] chore: refactor attempt_stream_responses() out of stream_responses() (#4194)
    • [#4237] fix: esc w/ queued messages overwrites draft in composer (#4237)
    • [#4220] feat: add support for CODEX_SECURE_MODE=1 to restrict process observability (#4220)
    • [#4196] revamp /status (#4196)
    • [#4174] ref: full state refactor (#4174)
    • [#4205] github: update codespell action to v2.1 in workflow (#4205)
    • [#4195] Send text parameter for non-gpt-5 models (#4195)
    • [#4188] chore: drop unused values from env_flags (#4188)
    • [#4119] adds a windows-specific method to check if a command is safe (#4119)
    • [#3194] pageless session list (#3194)
    • [#3871] improve MCP tool call styling (#3871)
    • [#4101] hide the status indicator when the answer stream starts (#4101)
    • [#4160] Simplify tool implemetations (#4160)

    View full release on GitHub

  • Codex CLI Release: 0.41.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Highlights:

    • Rate limits visibility: You can see when is your limits resetting (#4111) and see your usage when rate limited (#4102)
    • You can specify output schema in exec mode using output-schema. (#4079)
    • Ripgrep (rg) is now vendored into the npm release (#3660), which should fix issues such as #3842 where the postinstall step of @vscode/ripgrep would sometimes fail when installing codex via npm.

    Merged PRs:

    #4090 feat: readiness tool
    #4088 chore: compact do not modify instructions
    #4069 refactor codex card layout
    #4105 Use anyhow::Result in tests for error propagation
    #4079 Add exec output-schema parameter
    #4102 Send limits when getting rate limited
    #3461 [exec] add include-plan-tool flag and print it nicely
    #3660 fix: vendor ripgrep in the npm module
    #4112 fix: npm publish --tag alpha when building an alpha release
    #4031 chore(deps): bump serde from 1.0.224 to 1.0.226 in /codex-rs
    #4027 chore(deps): bump log from 0.4.27 to 0.4.28 in /codex-rs
    #4030 chore(deps): bump tempfile from 3.20.0 to 3.22.0 in /codex-rs
    #4135 nit: update auto compact to 250k
    #4137 nit: drop instruction override for auto-compact
    #4140 chore: extract readiness in a dedicated utils crate
    #4111 Add Reset in for rate limits
    #4156 nit: 350k tokens
    #4124 chore: upgrade to Rust 1.90
    #4162 fix: add tolerance for ambiguous behavior in gh run list
    #4154 chore: remove once_cell dependency from multiple crates
    #2156 chore(deps): bump unicode-width from 0.1.14 to 0.2.1 in /codex-rs
    #4028 chore(deps): bump chrono from 0.4.41 to 0.4.42 in /codex-rs

    View full release on GitHub

  • GPT-5-Codex in the API

    GPT-5-Codex is now available in the Responses API, and you can also use it with your API Key in the Codex CLI. We plan on regularly updating this model snapshot. It is available at the same price as GPT-5. You can learn more about pricing and rate limits for this model on our model page.

  • Codex CLI Release: 0.40.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Notable Changes

    • Default model is now gpt-5-codex (#4076)
    • Autocompaction is triggered automatically for gpt-5-codex when hitting 220k tokens (#4093)
    • Usage limits are now visible in /status (#4053)
    • New /review commands (review specific commit, against a base branch, or custom instructions) (#3961)
    • The default timeout for MCP tool calls is 60s and can be overridden in config.toml by setting tool_timeout_sec for an individual MCP server. (#3959)

    Merged PRs

    • [#3881] fix: update try_parse_word_only_commands_sequence() to return commands in order (#3881)
    • [#3814] Use a unified shell tell to not break cache (#3814)
    • [#3878] Move responses mocking helpers to a shared lib (#3878)
    • [#3888] Use helpers instead of fixtures (#3888)
    • [#3937] fix alignment in slash command popup (#3937)
    • [#3925] don't clear screen on startup (#3925)
    • [#3950] Cache keyboard enhancement detection before event streams (#3950)
    • [#3965] Forward Rate limits to the UI (#3965)
    • [#3977] Tui: Rate limits (#3977)
    • [#3961] feat: Add more /review options (#3961)
    • [#3880] Add non_sandbox_test helper (#3880)
    • [#4044] chore: unify cargo versions (#4044)
    • [#4057] chore: more clippy rules 2 (#4057)
    • [#3959] timeouts for mcp tool calls (#3959)
    • [#4053] Add limits to /status (#4053)
    • [#3928] simplify StreamController (#3928)
    • [#4020] Tui: fix backtracking (#4020)
    • [#4055] Remove /limits after moving to /status (#4055)
    • [#4026] feat: Add view stack to BottomPane (#4026)
    • [#4059] Change limits warning copy (#4059)
    • [#4058] chore: clippy on redundant closure (#4058)
    • [#4061] Fix branch mode prompt for /review (#4061)
    • [#4060] Change headers and struct of rate limits (#4060)
    • [#3952] Fix pager overlay clear between pages (#3952)
    • [#3957] fix codex resume message at end of session (#3957)
    • [#4068] Truncate potentially long user messages in compact message. (#4068)
    • [#4076] feat: update default (#4076)
    • [#4064] Add notifier tests (#4064)
    • [#4093] chore: enable auto-compaction for gpt-5-codex (#4093)
    • [#4096] Use TestCodex builder in stream retry tests (#4096)
    • [#3914] feat: git tooling for undo (#3914)
    • [#4082] fix: usage data tweaks (#4082)
    • [#4075] Rate limits warning (#4075)

    View full release on GitHub

  • Codex CLI Release: 0.39.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    New Features

    • new /review command introduced in #3774

    Merged PRs:

    • [#3874] fix: ensure cwd for conversation and sandbox are separate concerns (#3874)
    • [#3774] feat: /review (#3774)
    • [#3753] Reland "refactor transcript view to handle HistoryCells" (#3753)
    • [#3867] fix error on missing notifications in [tui] (#3867)
    • [#3850] chore: use tokio mutex and async function to prevent blocking a worker (#3850)
    • [#3849] fix: some nit Rust reference issues (#3849)
    • [#3757] hint for codex resume on tui exit (#3757)
    • [#3857] Make ESC button work when auto-compaction (#3857)
    • [#3729] Unify animations (#3729)
    • [#3819] Switch to uuid_v7 and tighten ConversationId usage (#3819)
    • [#3777] bug: Ignore tests for now (#3777)
    • [#3822] chore: update "Codex CLI harness, sandboxing, and approvals" section (#3822)
    • [#3756] Use agent reply text in turn notifications (#3756)
    • [#3807] AGENTS.md: Add instruction to install missing commands (#3807)

    View full release on GitHub

  • Codex CLI Release: 0.38.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    This release includes only one change on top of 0.37.0, which is a fix to the npm-publish step in the release process (#3806). Updating npm with the latest release is now fully automated, and if you visit https://www.npmjs.com/package/@openai/codex#provenance-details-header, you should now see this special Provenance badge:

    Screenshot 2025-09-17 at 11 24 50 AM

    Merged PRs:

    • [#3806] fix: specify --repo when calling gh (#3806)

    View full release on GitHub

  • Codex CLI Release: 0.37.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Mostly small quality-of-life fixes in this release.

    Highlights

    Updated the npm release process to use "trusted publishing" (#3431). Though apparently there was a bug, so we may not see the benefit until 0.38.0. Fix is in #3806.

    Merged PRs

    • [#3329] notifications on approvals and turn end (#3329)
    • [#3659] chore: restore prerelease logic in rust-release.yml (#3659)
    • [#3617] chore(deps): bump serde_json from 1.0.143 to 1.0.145 in /codex-rs (#3617)
    • [#3664] chore: simplify dep so serde=1 in Cargo.toml (#3664)
    • [#3618] chore(deps): bump serde from 1.0.219 to 1.0.223 in /codex-rs (#3618)
    • [#3619] chore(deps): bump wildmatch from 2.4.0 to 2.5.0 in /codex-rs (#3619)
    • 45bccd36 fix permissions alignment
    • [#3673] fix: read-only escalations (#3673)
    • [#3680] Update azure model provider example (#3680)
    • [#3745] Persist search items (#3745)
    • [#3678] fix: Record EnvironmentContext in SendUserTurn (#3678)
    • [#3701] Review mode core updates (#3701)
    • [#3755] restyle thinking outputs (#3755)
    • [#3758] Add dev message upon review out (#3758)
    • [#3431] fix: make GitHub Action publish to npm using trusted publishing (#3431)
    • [#3763] fix: ensure pnpm is installed before running npm install (#3763)
    • [#3767] fix: make publish-npm its own job with specific permissions (#3767)
    • [#3806] fix: specify --repo when calling gh (#3806)

    View full release on GitHub

  • Introducing GPT-5-Codex

    New model: GPT-5-Codex

    codex-switch-model

    GPT-5-Codex is a version of GPT-5 further optimized for agentic coding in Codex. It’s available in the IDE extension and CLI when you sign in with your ChatGPT account. It also powers the cloud agent and Code Review in GitHub.

    To learn more about GPT-5-Codex and how it performs compared to GPT-5 on software engineering tasks, see our announcement blog post.

    Image outputs

    codex-image-outputs

    When working in the cloud on front-end engineering tasks, GPT-5-Codex can now display screenshots of the UI in Codex web for you to review. With image output, you can iterate on the design without needing to check out the branch locally.

    New in Codex CLI

    • You can now resume sessions where you left off with codex resume.
    • Context compaction automatically summarizes the session as it approaches the context window limit.

    Learn more in the latest release notes

  • Codex CLI Release: 0.36.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Breaking change: OPENAI_API_KEY is no longer read from the environment

    API login is no longer implicit; we do not pick up OPENAI_API_KEY from the environment. To use an API key programmatically, run the following once:

    codex login --api-key "your-api-key-here"

    and this value will be stored in CODEX_HOME/auth.json.

    The next time you run codex, the API key stored in auth.json will be used automatically.

    To switch to ChatGPT login instead of using your API key, run codex login.

    Note that codex logout will remove whatever login credential is stored in auth.json (API key or ChatGPT auth token).

    Highlights

    Introducing our newest model GPT-5-Codex
    GPT-5-Codex works faster through easy tasks and harder on complex tasks, improves on code quality, and is more steerable with AGENTS.md. Learn More

    Resuming old sessions
    Resuming old conversations with codex resume (#3537, #3625).

    Unified execution and reliability
    Unified execution improvements (#3288, #3479) and race-condition fix (#3644); include command output on timeouts (#3576); do not execute when command parses as a patch (#3382); improved sandbox timeout handling (#3435); flaky test fixes (#3596, #3564).

    Auth and login experience

    • login polish (#3632); fix issue allowing to be both logged in and using API key simultaneously (#3611); fix stray login URL characters (#3639); fix get_auth_status for custom providers (#3581).

    JSON-RPC and MCP
    JSON-RPC: SetDefaultModel and None clears default (#3512, #3529), UserInfo (#3428), reasoning_effort in NewConversationResponse (#3506); initial MCP interface and docs (#3543, #3507, #3345); standardized shell description (#3514).

    TUI onboarding and polish
    New onboarding flow and animation (#3398, #3631, #3590, #3627), consistent headers on resume (#3615, #3592), improved spacing/padding (#3469, #3471, #3472, #3474), clearer interruption and status styling (#3470), numerous UX nits addressed (#3650, #3534).

    Core platform
    Experimental automatic context compaction (#3446); expanded default sandbox (#3483); Azure Responses API workaround (#3528); preserve more item IDs in Azure (#3542); logging and clippy improvements (#3488, #3489); just test via nextest (#3508).

    All merged PRs

    • fix: change MIN_ANIMATION_HEIGHT so show_animation is calculated correctly (#3656)
    • feat: tweak onboarding strings (#3650)
    • fix stray login url characters persisting in login (#3639)
    • Add file reference guidelines to gpt-5 prompt (#3651)
    • feat: skip animations on small terminals (#3647)
    • chore: rename (#3648)
    • fix: add references (#3633)
    • chore: set prerelease:true for now (#3645)
    • fix: race condition unified exec (#3644)
    • feat: update splash (#3631)
    • chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in /codex-rs (#3620)
    • chore(deps): bump slab from 0.4.10 to 0.4.11 in /codex-rs (#3635)
    • Login flow polish (#3632)
    • Fix codex resume so flags (cd, model, search, etc.) still work (#3625)
    • feat: tighten preset filter, tame storage load logs, enable rollout prompt by default (#3628)
    • Show abort in the resume (#3629)
    • Change animation frames (#3627)
    • initial mcp add interface (#3543)
    • chore: update prompts for gpt-5-code (#3624)
    • feat: add reasoning level to header (#3622)
    • Revert "refactor transcript view to handle HistoryCells" (#3614)
    • Show the header when resuming a conversation (#3615)
    • When logging in using ChatGPT, make sure to overwrite API key (#3611)
    • Don't show the model for apikey (#3607)
    • Fix get_auth_status response when using custom provider (#3581)
    • fix: model family and apply_patch consistency (#3603)
    • fix(tui): update full-auto to default preset (#3608)
    • fix(core): flaky test completed_commands_do_not_persist_sessions (#3596)
    • Skip frames files in codespell (#3606)
    • Add session header to chat widget (#3592)
    • Append full raw reasoning event text (#3605)
    • feat: UI animation (#3590)
    • Fix EventMsg Optional (#3604)
    • Single branch for gpt-5-code (#3601)
    • enable-resume (#3537)
    • feat: update model save (#3589)
    • Fix flaky windows test (#3564)
    • Fix gpt-5-code model selector (#3598)
    • Add per-model-family prompts (#3597)
    • Include command output when sending timeout to model (#3576)
    • Align user history message prefix width (#3467)
    • Gate model upgrade prompt behind ChatGPT auth (#3586)
    • chore: update output_lines() to take a struct instead of bools (#3591)
    • Add spacing before queued status indicator messages (#3474)
    • Handle resuming/forking after compact (#3533)
    • refactor transcript view to handle HistoryCells (#3538)
    • Default gpt-5-code models to experimental reasoning summaries (#3560)
    • Preserve IDs for more item types in azure (#3542)
    • Always request encrypted cot (#3539)
    • Review Mode (Core) (#3401)
    • fix: NIT None reasoning effort (#3536)
    • Fix NUX UI (#3534)
    • core: expand default sandbox (#3483)
    • Add Azure Responses API workaround (#3528)
    • if a command parses as a patch, do not attempt to run it (#3382)
    • Update interruption error message styling (#3470)
    • feat: context compaction (#3446)
    • Add spacing before composer footer hints (#3469)
    • Add spacing between dropdown headers and items (#3472)
    • feat: reasoning effort as optional (#3527)
    • feat: change the behavior of SetDefaultModel RPC so None clears the value. (#3529)
    • standardize shell description (#3514)
    • bug: fix model save (#3525)
    • Add spacing to timer duration formats (#3471)
    • MCP Documentation Changes Requests in Code Review (#3507)
    • chore: add just test, which runs cargo nextest (#3508)
    • feat: added SetDefaultModel to JSON-RPC server (#3512)
    • feat: include reasoning_effort in NewConversationResponse (#3506)
    • add(readme): IDE (#3494)
    • Log cf-ray header in client traces (#3488)
    • bug: default to image (#3501)
    • feat: TUI onboarding (#3398)
    • Use PlanType enum when formatting usage-limit CTA (#3495)
    • Add more detailed documentation on MCP server usage (#3345)
    • fix: improve handle_sandbox_error timeouts (#3435)
    • chore: enable clippy::redundant_clone (#3489)
    • Assign the entire gpt-5 model family same characteristics (#3490)
    • Clear composer on fork (#3445)
    • fix: use -F instead of -f for force=true in gh call (#3486)
    • Add Compact and Turn Context to the rollout items (#3444)
    • NIT unified exec (#3479)
    • Simplify auth flow and reconcile differences between ChatGPT and API Key auth (#3189)
    • apply-patch: sort replacements and add regression tests (#3425)
    • chore: rust-release.yml should update the latest-alpha-cli branch (#3458)
    • fix: add check to ensure output of generate_mcp_types.py matches codex-rs/mcp-types/src/lib.rs (#3450)
    • Change forking to read the rollout from file (#3440)
    • Unified execution (#3288)
    • feat: add UserInfo request to JSON-RPC server (#3428)
    • fix: ensure output of codex-rs/mcp-types/generate_mcp_types.py matches codex-rs/mcp-types/src/lib.rs (#3439)
    • fix trampling projects table when accepting trusted dirs (#3434)
    • put workspace roots in the environment context (#3375)

    View full release on GitHub

  • Codex CLI Release: 0.35.0

  • Codex CLI Release: 0.34.0

  • Codex CLI Release: 0.33.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Codex 0.33.0

    Key change is #3430, which reverts #3179 because it introduced a regression.

    New Features:

    • Try out the new Markdown renderer on #3396.

    Merged PRs

    • [#3394] alt+delete deletes the word to the right of the cursor (delete_forward_word) (#3394)
    • [#3380] Introduce rollout items (#3380)
    • [#3395] Set a user agent suffix when used as a mcp server (#3395)
    • [#3357] fix: remove unnecessary #[allow(dead_code)] annotation (#3357)
    • [#3422] Move initial history to protocol (#3422)
    • [#3400] Added images to UserMessageEvent (#3400)
    • [#3356] fix: remove empty file: chatwidget_stream_tests.rs (#3356)
    • [#2703] docs: fix codex exec heading typo (#2703)
    • [#2858] Remove a broken link to prompting_guide.md in docs/getting-started.md (#2858)
    • [#3427] Improved resiliency of two auth-related tests (#3427)
    • [#3396] replace tui_markdown with a custom markdown renderer (#3396)
    • [#3430] Back out "feat: POSIX unification and snapshot sessions (#3179)" (#3430)

    View full release on GitHub

  • Codex CLI Release: 0.32.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Codex 0.32.0

    • MCP: add UA suffix when acting as a server; a few stability/compat tweaks
    • OSS: Broader apply_patch OSS compatibility.
    • Rollouts: initial groundwork and rollout_path included in responses.
    • TUI: Alt+Delete deletes the next word.
    • Protocol/Types: ArchiveConversation request; small exports and TS type improvements.
    • CI/Build: faster tests with nextest, add shear; minor macOS permission adjustment.
    • Docs: clarified shell quoting in config.

    Merged PRs

    • [#3395] Set a user agent suffix when used as a mcp server
    • [#3394] alt+delete deletes the word to the right of the cursor (delete_forward_word)
    • [#3390] Do not send reasoning item IDs
    • [#3388] Replace config.responses_originator_header_internal_override with CODEX_INTERNAL_ORIGINATOR_OVERRIDE_ENV_VAR
    • [#3387] No fail fast
    • [#3380] Introduce rollout items
    • [#3374] tweak "failed to find expected lines" message in apply_patch
    • [#3357] fix: remove unnecessary #[allow(dead_code)] annotation
    • [#3353] feat: add ArchiveConversation to ClientRequest
    • [#3352] fix: include rollout_path in NewConversationResponse
    • [#3338] feat: Run cargo shear during CI
    • [#3334] allow mach-lookup for com.apple.system.opendirectoryd.libinfo
    • [#3323] chore: try switching to cargo nextest to speed up CI builds
    • [#3222] fix: LoginChatGptCompleteNotification does not need to be listed explicitly in protocol-ts
    • [#3270] feat(core): re-export InitialHistory from conversation_manager
    • [#3219] Generate more typescript types and return conversation id with ConversationSummary
    • [#3179] feat: POSIX unification and snapshot sessions
    • [#3169] Improve explanation of how the shell handles quotes in config.md
    • [#2811] Include apply_patch tool for oss models from gpt-oss providers with different naming convention (e.g. openai/gpt-oss-*)

    View full release on GitHub

  • Codex CLI Release: 0.31.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Codex 0.31.0

    • #3182 added support for a startup_timeout_ms option when declaring an MCP server (docs), which has been a highly requested feature, particularly for Windows users:
    • Thanks to @Bit-urd for adding more fault tolerance to MCP startup: #3243
    • #3211 fixes image pasting from Finder with ctrl+v on macOS

    Merged PRs

    • [#3217] Added logic to cancel pending oauth login to free up localhost port
    • [#3220] feat(tui): show minutes/hours in thinking timer
    • [#3223] Added CLI version to /status output
    • [#3176] [codex] respect overrides for model family configuration from toml file
    • [#3226] chore: rewrite codex-rs/scripts/create_github_release.sh in Python
    • [#3228] chore: change create_github_release to create a fresh clone in a temp directory
    • [#3230] chore: use gh instead of git to do work to avoid overhead of a local clone
    • [#3231] fix: change create_github_release to take either --publish-alpha or --publish-release
    • [#3221] Move token usage/context information to session level
    • [#3285] Clear non-empty prompts with ctrl + c
    • [#3282] Use ConversationId instead of raw Uuids
    • [#3300] docs: fix broken link to the "Memory with AGENTS.md" section in codex/README.md
    • [#3182] feat(mcp): per-server startup timeout
    • [#3294] chore(deps): bump insta from 1.43.1 to 1.43.2 in /codex-rs
    • [#3295] chore(deps): bump tree-sitter from 0.25.8 to 0.25.9 in /codex-rs
    • [#3296] chore(deps): bump clap from 4.5.45 to 4.5.47 in /codex-rs
    • [#3297] chore(deps): bump image from 0.25.6 to 0.25.8 in /codex-rs
    • [#3243] fix: improve MCP server initialization error handling #3196 #2346 #2555
    • [#3211] tui: paste with ctrl+v checks file_list
    • [#3316] chore: upgrade to actions/setup-node@v5
    • [#3320] Add a getUserAgent MCP method
    • [#3319] Highlight Proposed Command preview

    View full release on GitHub

  • Codex CLI Release: 0.30.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Codex 0.30.0

    • Breaking: Stop loading project .env files automatically.
    • Security/behavior: Never store requests; free port by canceling pending OAuth login.
    • Core/infra: Introduce rollout policy; shared HTTP client; improved remaining context size; refined reasoning summary config/handling; corrected sandboxed shell tool description; improved server notification serialization.
    • TUI/UX: Fix approval dialog for large commands; pause status timer during modals; pager auto‑scroll; bash syntax highlighting; mac key glyphs; avoid zero‑height panic; improved @ file search (hidden dirs).
    • DevEx/docs: Recommended VS Code extensions; AGENTS.md prompt and clarifications; updated API key guidance; CI fixes.
    • Deps: Bump uuid and wiremock.
    • Windows: no more asking for approvals on Full Access mode

    Merged PRs

    • [#3218] hide resume until it's complete
    • [#3217] Added logic to cancel pending oauth login to free up localhost port
    • [#3212] Never store requests
    • [#3193] chore: improve serialization of ServerNotification
    • [#3191] refactor: remove AttachImage tui event
    • [#3190] Correctly calculate remaining context size
    • [#3187] ZSH on UNIX system and better detection
    • [#3185] MCP: add session resume + history listing;
    • [#3184] [BREAKING] Stop loading project .env files
    • [#3172] chore: add rust-lang.rust-analyzer and vadimcn.vscode-lldb to the list of recommended extensions
    • [#3171] [codex] move configuration for reasoning summary format to model family config type
    • [#3170] fix: fix serde_as annotation and verify with test
    • [#3167] tui: pager pins scroll to bottom
    • [#3163] fix: use a more efficient wire format for ExecCommandOutputDeltaEvent.chunk
    • [#3146] fix: add callback to map before sending request to fix race condition
    • [#3143] Use ⌥⇧⌃ glyphs for key hints on mac
    • [#3142] syntax-highlight bash lines
    • [#3138] [codex] improve handling of reasoning summary
    • [#3135] TUI: Add session resume picker (--resume) and quick resume (--continue)
    • [#3134] [tui] Update /mcp output
    • [#3133] tui: avoid panic when active exec cell area is zero height
    • [#3132] AGENTS.md: clarify test approvals for codex-rs
    • [#3131] Pause status timer while modals are open
    • [#3130] Fix failing CI
    • [#3128] MCP sandbox call
    • [#3127] Dividing UserMsgs into categories to send it back to the tui
    • [#3123] Replay EventMsgs from Response Items when resuming a session with history.
    • [#3122] prompt to read AGENTS.md files
    • [#3121] remove bold the keyword from prompt
    • [#3118] [codex] document use_experimental_reasoning_summary toml key config
    • [#3117] Include originator in authentication URL parameters
    • [#3116] Introduce Rollout Policy
    • [#3112] Update guidance on API key permissions
    • [#3110] Add a common way to create HTTP client
    • [#3093] [mcp-server] Update read config interface
    • [#3087] tui: fix approval dialog for large commands
    • [#3069] core: correct sandboxed shell tool description (reads allowed anywhere)
    • [#3056] chore: Clean up verbosity config
    • [#2988] Auto-approve DangerFullAccess patches on non-sandboxed platforms
    • [#2981] Improve @ file search: include specific hidden dirs such as .github, .gitlab
    • [#2666] chore(deps): bump wiremock from 0.6.4 to 0.6.5 in /codex-rs
    • [#2493] chore(deps): bump uuid from 1.17.0 to 1.18.0 in /codex-rs

    View full release on GitHub

  • Codex CLI Release: 0.29.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Codex 0.29.0

    • Android/Termux support by gating arboard on unsupported targets.
    • Stable, cross‑platform file locking using std fs APIs.
    • Auth consolidation: CodexAuth and AuthManager moved into the core crate.
    • Rate‑limit handling restored for API‑key usage.
    • Core rollout refactor: extract rollout module, add listing API, return file heads.
    • Quality of life: support cd foo && ... in exec/apply_patch, fix TUI flicker, prefer ratatui Stylize.
    • Distribution: include Windows ARM64 executable in the npm package.
    • Switch to the latest search tool.

    Merged PRs

    • [#3086] Use the new search tool
    • [#1634] core(rollout): extract rollout module, add listing API, and return file heads
    • [#2895] Add Android/Termux support by gating arboard dependency
    • [#2894] Add stable file locking using std::fs APIs
    • [#3074] Move CodexAuth and AuthManager to the core crate
    • [#3070] Add back rate‑limit error handling when using API key
    • [#3083] Parse “cd foo && ...” for exec and apply_patch
    • [#3068] Prefer ratatui Stylize for constructing lines/spans
    • [#2918] TUI: fix occasional UI flicker
    • [#3061] Show loading state when @ search results are pending
    • [#2907] TUI: fix MCP docs hyperlink in empty_mcp_output
    • [#3067] Include arm64 Windows executable in npm module
    • [#2736] Unify history loading
    • [#3071] Use experimental reasoning summary
    • [#2461] Improve gpt‑oss compatibility
    • [#2651] apply‑patch: fix lark grammar
    • [#3089] Docs: update link to https://agents.md/
    • [#3082] Docs: fix typo of config.md
    • [#2667] Bump thiserror from 2.0.12 to 2.0.16 in codex‑rs

    View full release on GitHub

  • Codex CLI Release: 0.28.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]
    • [Highlights]
      • TUI polish and stability improvements: reduced typing lag, cleaner streamed message formatting, better error handling, and improved input behavior.
      • Better Windows ARM build reliability and faster release-time builds.
    • [TUI/UX]
      • Fix laggy typing (#2922)
      • Rework message styling for clarity (#2877)
      • Remove extra blank lines in streamed agent messages (#3065)
      • Hide “/init” suggestion when AGENTS.md exists (#3038)
      • Ignore Enter on empty input to avoid queuing blank messages (#3047)
      • Catch get_cursor_position errors to avoid crashes (#2870)
      • Remove extra quote from disabled-command message (#3035)
    • [Build & CI]
      • Leverage Windows 11 ARM for Windows ARM builds (#3062)
      • Install zstd on Windows 11 ARM image used for releases (#3066)
      • Populate Windows cache for release builds when PRs are opened (#2884)
    • [Docs]
      • Fix config reference table (#3063)
      • Update PR template link after docs refactor (#2982)
    • [Logging/Telemetry]
      • Add logs when users change the model (#3060)
    • [Dependencies]
      • Bump regex-lite to 0.1.7 in codex-rs (#3010)

    PRs merged

    • #3066 fix: install zstd on the windows-11-arm image used to cut a release
    • #3065 tui: fix extra blank lines in streamed agent messages
    • #3063 fix config reference table
    • #3062 fix: leverage windows-11-arm for Windows ARM builds
    • #3060 Add logs to know when we users are changing the model
    • #3047 Bug fix: ignore Enter on empty input to avoid queuing blank messages
    • #3038 tui: hide '/init' suggestion when AGENTS.md exists
    • #3035 remove extra quote from disabled-command message
    • #3010 chore(deps): bump regex-lite from 0.1.6 to 0.1.7 in /codex-rs
    • #2982 Fix: Adapt pr template with correct link following doc refacto
    • #2922 tui: fix laggy typing
    • #2884 fix: try to populate the Windows cache for release builds when PRs are put up for review
    • #2877 rework message styling
    • #2870 tui: catch get_cursor_position errors

    View full release on GitHub

  • Codex CLI Release: 0.27.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Codex 0.27.0

    • MCP stability: drop mutexes earlier and avoid lock ordering pitfalls.
    • Channel reliability: switch to unbounded channel to prevent stalls.
    • Performance/cleanup: remove unnecessary flush() calls.
    • CI: fix release build; specify --profile for cargo clippy.
    • Docs: safer Homebrew snippet; suggest just fix -p in AGENTS.md.

    Merged PRs

    • [#2881] Suggest just fix -p in agents.md
    • [#2878] fix: drop Mutexes earlier in MCP server
    • [#2876] fix: drop Mutex before calling tx_approve.send()
    • [#2874] fix: switch to unbounded channel
    • [#2873] fix: remove unnecessary flush() calls
    • [#2871] fix: specify --profile to cargo clippy in CI
    • [#2868] Bugfix: Prevents brew install codex in comment to be executed
    • [#2864] Fix CI release build

    View full release on GitHub

  • Codex CLI Release: 0.26.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Highlights:

    New Features

    • Custom /prompts loaded from ~/.codex/prompts (#2696)
    • New "View Image" tool to let Codex agentically view local images (#2723)
    • MCP GetConfig endpoint to inspect resolved settings (#2725)

    TUI

    • Fix image pasting in Windows + improve burst paste handling (#2683)
    • Prevent slash commands during an active task (#2792)
    • Fix cursor position when suspending (^Z) (#2690)
    • Reduce doubled lines and hanging list markers (#2789)

    Docs & Templates

    • Major README/docs refactor and navigation (#2724)
    • CHANGELOG now points to Releases page (#2780)
    • Add VS Code Extension issue template (#2853)

    Full list of merged PRs:

    • #2864 Fix CI release build
    • #2747 Bug fix: clone of incoming_tx can lead to deadlock
    • #2852 Following up on #2371 post commit feedback
    • #2696 Custom /prompts
    • #2762 UI: Make slash commands bold in welcome message
    • #2737 Changed OAuth success screen to use the string "Codex" rather than "Codex CLI"
    • #2853 Add a VS Code Extension issue template
    • #2683 burst paste edge cases
    • #2746 Race condition in compact
    • #2849 chore: print stderr from MCP server to test output using eprintln!
    • #2848 chore: try to make it easier to debug the flakiness of test_shell_command_approval_triggers_elicitation
    • #2845 chore: require uninlined_format_args from clippy
    • #2792 disallow some slash commands while a task is running
    • #2723 Add "View Image" tool
    • #2690 fix cursor after suspend
    • #2789 fix (most) doubled lines and hanging list markers
    • #2780 Point the CHANGELOG to the releases page
    • #2778 Added back codex-rs/config.md to link to new location
    • #2724 README / docs refactor
    • #2776 fix: for now, limit the number of deltas sent back to the UI
    • #2725 [mcp-server] Add GetConfig endpoint

    View full release on GitHub

  • Late August update

    IDE extension (Compatible with VS Code, Cursor, Windsurf)

    Codex now runs in your IDE with an interactive UI for fast local iteration. Easily switch between modes and reasoning efforts.

    Sign in with ChatGPT (IDE & CLI)

    One-click authentication that removes API keys and uses ChatGPT Enterprise credits.

    Move work between local ↔ cloud

    Hand off tasks to Codex web from the IDE with the ability to apply changes locally so you can delegate jobs without leaving your editor.

    Code Reviews

    Codex goes beyond static analysis. It checks a PR against its intent, reasons across the codebase and dependencies, and can run code to validate the behavior of changes.

  • Codex CLI Release: 0.25.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Highlights:

    New Features

    • Core: remove_conversation API for manual cleanup in long‑lived servers (#2613)
    • TUI: mouse wheel alternate scrolling in transcript/diff views (#2686)
    • TUI: Alt+Ctrl+H deletes the previous word (parity with Alt+Backspace) (#2717)
    • Execution: include context window on task_started events; model may vary per turn (#2752)

    TUI

    • Cache transcript line wraps to keep long transcripts responsive (#2739)
    • Fix transcript lines appending to diff while a turn is running (#2721)
    • Improve emoji rendering: proper spacing and ⌨️ emoji variant (#2735, #2728)
    • ESC with queued messages returns them to the composer (#2687)
    • Prevent crash when backspacing placeholders near multibyte text (#2674)

    Tools and execution

    • Don’t send Exec deltas on apply_patch (#2742)
    • Make git_diff_against_sha more robust (ignore custom drivers; handle dash‑prefixed files) (#2749)
    • Reduce test load when running interactively (#2707)

    Misc

    • Deduplicate assistant messages in history (#2758)
    • Remove the Codex GitHub Action for now (#2729)

    Full list of merged PRs:

    • #2758 [fix] Deduplicate assistant messages
    • #2752 [feat] Send context window with task started (model may change per turn)
    • #2749 [fix] Make git_diff_against_sha more robust
    • #2739 [perf] Cache transcript wraps
    • #2707 [feat] Decrease testing when running interactively
    • #2742 [fix] Don’t send Exec deltas on apply patch
    • #2674 [fix] Crash when backspacing placeholders adjacent to multibyte text
    • #2735 [fix] Emoji spacing
    • #2721 [fix] Transcript lines added to diff view during running turn
    • #2717 [feat] Alt+Ctrl+H deletes backward word
    • #2687 [feat] Esc with queued messages returns them to composer
    • #2728 [tui] Render keyboard icon with emoji variation selector (⌨️)
    • #2613 [feat(core)] Add remove_conversation to ConversationManager
    • #2729 [chore] Remove GitHub Action that runs Codex
    • #2686 [feat] Enable alternate scroll in transcript mode

    View full release on GitHub

  • Codex CLI Release: 0.24.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]

    Highlights:

    New Features

    • Queued messages (#2637)
    • Copy Paste / Drag & Drop image files (#2567)
    • Transcript mode (Ctrl+T) with scrolling ability (#2525)
    • Edit/resume conversation (esc-esc) from previous messages (#2607)
    • Web search when using explicit --search option (#2371)

    TUI

    • Hide CoT by default; show headers in status indicator (#2316)
    • Show diff output in pager (+ with hunk headers) (#2568)
    • Simplify command approval UI (#2708)
    • Unify Esc/Ctrl+C interrupt handling (#2661)
    • Fix windows powershell paste (#2544)

    Tools and execution

    • Add support for long-running shell commands exec_command/write_stdin (#2574)
    • Improve apply_patch reliability (#2646)
    • Cap retry counts (#2701)
    • Improve cache hit rate by sorting MCP tools deterministically (#2611)

    Misc

    • Add model_verbosity config for GPT-5 (#2108)
    • Read all AGENTS.md files up to git root (#2532)
    • Fix git root resolution in worktrees (#2585)
    • Improve error messages & handling (#2695, #2587, #2640, #2540)

    Full list of merged PRs:

    • #2708 [feat] Simplfy command approval UI
    • #2706 [chore] Tweak AGENTS.md so agent doesn't always have to test
    • #2701 Added caps on retry config settings
    • #2702 [fix] emoji padding
    • #2704 [feat] reduce bottom padding to 1 line
    • #2695 Improved user message for rate-limit errors
    • #2691 single control flow for both Esc and Ctrl+C
    • #2699 Fixed a bug that causes token refresh to not work in a seamless manner
    • #2587 do not show timeouts as "sandbox error"s
    • #2693 queued messages rendered italic
    • #2692 do not schedule frames for Tui::Draw events in backtrack
    • #2567 Copying / Dragging image files (MacOS Terminal + iTerm)
    • #2688 Add auth to send_user_turn
    • #2661 Fix esc
    • #2648 [exec] Clean up apply-patch tests
    • #2684 fix: use backslash as path separator on Windows
    • #2637 tui: queue messages
    • #2640 avoid error when /compact response has no token_usage (#2417)
    • #2678 Index file
    • #2665 chore(deps): bump toml_edit from 0.23.3 to 0.23.4 in /codex-rs
    • #2664 fix: Scope ExecSessionManager to Session instead of using global singleton
    • #2663 fix: build is broken on main; introduce ToolsConfigParams to help fix
    • #2611 Fix cache hit rate by making MCP tools order deterministic
    • #2649 fix: update gpt-5 stats
    • #2497 chore(deps): bump whoami from 1.6.0 to 1.6.1 in /codex-rs
    • #2646 feat: use the arg0 trick with apply_patch
    • #2643 [apply_patch] disable default freeform tool
    • #2633 test: faster test execution in codex-core
    • #2607 Resume conversation from an earlier point in history
    • #2371 Add web search tool
    • #2364 send-aggregated output
    • #2605 transcript hint
    • #2381 Add the ability to interrupt and provide feedback to the model
    • #2574 feat: StreamableShell with exec_command and write_stdin tools
    • #2575 fork conversation from a previous message
    • #2600 tui: fix resize on wezterm
    • #2590 tui: coalesce command output; show unabridged commands in transcript
    • #2592 tui: open transcript mode at the bottom
    • #2518 Fix typo in AGENTS.md
    • #2492 chore(deps): bump reqwest from 0.12.22 to 0.12.23 in /codex-rs
    • #2547 Fix flakiness in shell command approval test
    • #2498 chore(deps): bump serde_json from 1.0.142 to 1.0.143 in /codex-rs
    • #2595 Move models.rs to protocol
    • #2594 fix: prefer sending MCP structuredContent as the function call response, if available
    • #2586 test: simplify tests in config.rs
    • #2593 improve performance of 'cargo test -p codex-tui'
    • #2585 [config] Detect git worktrees for project trust
    • #2576 [apply_patch] freeform apply_patch tool
    • #2577 Add AuthManager and enhance GetAuthStatus command
    • #2544 Fix/tui windows multiline paste
    • #1695 ctrl+v image + @file accepts images
    • #2569 improve suspend behavior
    • #2108 feat(gpt5): add model_verbosity for GPT‑5 via Responses API
    • #2568 show diff output in the pager
    • #2539 [apply-patch] Clean up apply-patch tool definitions
    • #2571 [shell_tool] Small updates to ensure shell consistency
    • #2523 core: write explicit [projects] tables for trusted projects
    • #2533 tweak thresholds for shimmer on non-true-color terminals
    • #2564 Update README.md
    • #2562 tui: transcript mode updates live
    • #2536 refactor: move slash command handling into chatwidget
    • #2488 tui: show diff hunk headers to separate sections
    • #2532 read all AGENTS.md up to git root
    • #2535 scroll instead of clear on boot
    • #2540 Parse and expose stream errors
    • #2272 [prompt] xml-format EnvironmentContext
    • #2546 Add a serde tag to ParsedItem
    • #2496 Added new auth-related methods and events to mcp server
    • #2537 tui: show upgrade banner in history
    • #2538 show thinking in transcript
    • #2316 hide CoT by default; show headers in status indicator
    • #2525 add transcript mode
    • #2319 Bridge command generation to powershell when on Windows
    • #2534 fix: update build cache key in .github/workflows/codex.yml
    • #2516 tui: link docs when no MCP servers configured
    • #2528 Fix login for internal employees
    • #2524 refactor onboarding screen to a separate "app"
    • #2477 [apply-patch] Fix applypatch for heredocs
    • #2489 tui: switch to using tokio + EventStream for processing crossterm events
    • #2362 tui: tab-completing a command moves the cursor to the end
    • #2437 detect terminal and include in request headers
    • #2502 feat: copy tweaks

    View full release on GitHub

  • Mid August update

    Image inputs

    You can now attach images to your prompts in Codex web. This is great for asking Codex to implement frontend changes or follow up on whiteboarding sessions.

    Container caching

    Codex now caches containers to start new tasks and followups 90% faster, dropping the median start time from 48 seconds to 5 seconds. You can optionally configure a maintenance script to update the environment from its cached state to prepare for new tasks. See the docs for more.

    Automatic environment setup

    Now, environments without manual setup scripts automatically run the standard installation commands for common package managers like yarn, pnpm, npm, go mod, gradle, pip, poetry, uv, and cargo. This reduces test failures for new environments by 40%.

  • Codex CLI Release: 0.23.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/[email protected]
    • Highlights

      • New commands and controls: support /mcp in TUI (#2430) and a slash command /approvals to control approvals (#2474).
      • Reasoning controls: change reasoning effort and model at runtime (#2435) /model; add “minimal” effort for GPT‑5 models (#2326).
      • Auth improvements: show login options when not signed in with ChatGPT (#2440) and auto‑refresh ChatGPT auth token (#2484).
      • UI/UX polish: Ghostty Ctrl‑b/Ctrl‑f fallback (#2427), Ctrl+H as backspace (#2412), cursor position tweak after tab completion (#2442), color/accessibility updates (#2401, #2421).
      • Distribution/infra: zip archived binaries added to releases (#2438) and DotSlash entry for Windows x86_64 (#2361); upgraded to Rust 1.89 (#2465, #2467).
    • Full list of merged PRs

      • #2352 tui: skip identical consecutive entries in local composer history
      • #2355 fix: introduce codex-protocol crate
      • #2326 Fix #2296 Add "minimal" reasoning effort for GPT 5 models
      • #2357 Remove duplicated "Successfully logged in message"
      • #2337 color the status letter in apply patch summary
      • #2336 chore: remove duplicated lockfile
      • #2361 fix: include an entry for windows-x86_64 in the generated DotSlash file
      • #2245 Show progress indicator for /diff command
      • #2314 replace /prompts with a rotating placeholder
      • #2372 Added launch profile for attaching to a running codex CLI process
      • #2373 Added MCP server command to enable authentication using ChatGPT
      • #2388 fix: refactor login/src/server.rs so process_request() is a separate function
      • #2365 fix: introduce EventMsg::TurnAborted
      • #2360 remove mcp-server/src/mcp_protocol.rs and the code that depends on it
      • #2401 fix: clean up styles & colors and define in styles.md
      • #2411 chore(deps-dev): bump @types/node in /.github/actions/codex
      • #2421 fix: stop using ANSI blue
      • #2423 chore: move mcp-server/src/wire_format.rs to protocol/src/mcp_protocol.rs
      • #2424 chore: add TS annotation to generated mcp-types
      • #2428 consolidate reasoning enums into one
      • #2431 Add an operation to override current task context
      • #2425 protocol-ts
      • #2432 Add cache tests for UserTurn
      • #2412 Fix #2391 Add Ctrl+H as backspace keyboard shortcut
      • #2405 chore(deps): bump anyhow in /codex-rs
      • #2406 chore(deps): bump libc in /codex-rs
      • #2389 chore: prefer returning Err to expect()
      • #2393 fix: async-ify login flow
      • #2404 chore(deps): bump clap in /codex-rs
      • #2394 fix: change shutdown_flag from Arc<AtomicBool> to tokio::sync::Notify
      • #2438 Release zip archived binaries
      • #2395 fix: eliminate ServerOptions.login_timeout and use tokio::time::timeout()
      • #2396 fix: make ShutdownHandle a private field of LoginServer
      • #2398 fix: reduce references to Server in codex-login crate
      • #2399 fix: remove shutdown_flag param to run_login_server()
      • #2403 chore(deps): bump clap_complete in /codex-rs
      • #2440 Show login options when not signed in with ChatGPT
      • #2446 fix: exclude sysprompt etc from context left %
      • #2430 [tui] Support /mcp command
      • #2442 Fix #2429 Tweak the cursor position after tab completion
      • #2457 fix: fix missing spacing in review decision response
      • #2427 tui: support Ghostty Ctrl-b/Ctrl-f fallback
      • #2407 chore(deps): bump actions/checkout from 4 to 5
      • #2435 Support changing reasoning effort
      • #2462 feat: move session ID bullet in /status
      • #2464 docs: document writable_roots for sandbox_workspace_write
      • #2466 fix: prefer cargo check to cargo build to save time and space
      • #2465 chore: upgrade to Rust 1.89
      • #2467 chore: Rust 1.89 promoted file locking to stdlib
      • #2468 fix apply patch when only one file is rendered
      • #2475 Fix: Sign in appear even if using other providers.
      • #2460 Enable Dependabot updates for Rust toolchain
      • #2476 Diff command
      • #2487 Client headers
      • #2484 Refresh ChatGPT auth token
      • #2495 fix: prefer config var to env var
      • #2474 Add a slash command to control permissions

    View full release on GitHub

  • Best of N

    Codex can now generate multiple responses simultaneously for a single task, helping you quickly explore possible solutions to pick the best approach.

    Fixes & improvements

    • Added some keyboard shortcuts and a page to explore them. Open it by pressing ⌘-/ on macOS and Ctrl+/ on other platforms.
    • Added a “branch” query parameter in addition to the existing “environment”, “prompt” and “tab=archived” parameters.
    • Added a loading indicator when downloading a repo during container setup.
    • Added support for cancelling tasks.
    • Fixed issues causing tasks to fail during setup.
    • Fixed issues running followups in environments where the setup script changes files that are gitignored.
    • Improved how the agent understands and reacts to network access restrictions.
    • Increased the update rate of text describing what Codex is doing.
    • Increased the limit for setup script duration to 20 minutes for Pro, Team, and Business users.
    • Polished code diffs: You can now option-click a code diff header to expand/collapse all of them.
  • June update

    Agent internet access

    Now you can give Codex access to the internet during task execution to install dependencies, upgrade packages, run tests that need external resources, and more.

    Internet access is off by default. Plus, Pro, and Team users can enable it for specific environments, with granular control of which domains and HTTP methods Codex can access. Internet access for Enterprise users is coming soon.

    Learn more about usage and risks in the docs.

    Update existing PRs

    Now you can update existing pull requests when following up on a task.

    Voice dictation

    Now you can dictate tasks to Codex.

    Fixes & improvements

    • Added a link to this changelog from the profile menu.
    • Added support for binary files: When applying patches, all file operations are supported. When using PRs, only deleting or renaming binary files is supported for now.
    • Fixed an issue on iOS where follow up tasks where shown duplicated in the task list.
    • Fixed an issue on iOS where pull request statuses were out of date.
    • Fixed an issue with follow ups where the environments were incorrectly started with the state from the first turn, rather than the most recent state.
    • Fixed internationalization of task events and logs.
    • Improved error messages for setup scripts.
    • Increased the limit on task diffs from 1 MB to 5 MB.
    • Increased the limit for setup script duration from 5 to 10 minutes.
    • Polished GitHub connection flow.
    • Re-enabled Live Activities on iOS after resolving an issue with missed notifications.
    • Removed the mandatory two-factor authentication requirement for users using SSO or social logins.
  • Reworked environment page

    It’s now easier and faster to set up code execution.

    Fixes & improvements

    • Added a button to retry failed tasks
    • Added indicators to show that the agent runs without network access after setup
    • Added options to copy git patches after pushing a PR
    • Added support for unicode branch names
    • Fixed a bug where secrets were not piped to the setup script
    • Fixed creating branches when there’s a branch name conflict.
    • Fixed rendering diffs with multi-character emojis.
    • Improved error messages when starting tasks, running setup scripts, pushing PRs, or disconnected from GitHub to be more specific and indicate how to resolve the error.
    • Improved onboarding for teams.
    • Polished how new tasks look while loading.
    • Polished the followup composer.
    • Reduced GitHub disconnects by 90%.
    • Reduced PR creation latency by 35%.
    • Reduced tool call latency by 50%.
    • Reduced task completion latency by 20%.
    • Started setting page titles to task names so Codex tabs are easier to tell apart.
    • Tweaked the system prompt so that agent knows it’s working without network, and can suggest that the user set up dependencies.
    • Updated the docs.
  • Codex in the ChatGPT iOS app

    Start tasks, view diffs, and push PRs—while you’re away from your desk.