Primary navigation

Codex changelog

Subscribe to the RSS feed for updates.

  • Codex CLI Release: 0.53.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.53.0

    Highlights

    • Fixing error 400 issues
    • Improve sandboxing for Java

    PRs

    #5897 – codex: add developer instructions
    #5939 – app-server: remove serde(skip_serializing_if = "Option::is_none") annotations
    #3754 – docs: add missing period
    #5976 – hygiene: remove include_view_image_tool config
    #3987 – fix: update Seatbelt policy for Java on macOS
    #4905 – Windows Sandbox alpha version
    #5997 – build: bump Windows stack size to 8 MB
    #5986 – remove last-turn reasoning filtering
    #6005 – app-server: split API types into v1 and v2
    #6002 – feat: add /exit slash-command alias for quit
    #6000 – rate-limit errors now return absolute time
    #4144 – docs: fix markdown list spacing in review_prompt.md
    #6007 – override verbosity for gpt-5-codex

    View full release on GitHub

  • Credits on ChatGPT Pro and Plus

    Codex users on ChatGPT Plus and Pro can now use on-demand credits for more Codex usage beyond what’s included in your plan. Learn more.

  • Codex CLI Release: 0.52.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.52.0

    Highlights

    • TUI polish: queued messages visible during streaming; Windows auto-mode guidance; undo op; compaction prompt configurable.
    • Images: client-side image resizing; prevent crashes with MIME verification; SDK image forwarding tests re-enabled.
    • Execute commands directly with !<cmd>
    • Ability to buy credits for more usage. More information

    Other improvements

    • Auth: new CLI auth storage abstraction with keyring support and configurable backend.
    • App server: GetConversationSummary RPC; fetch/resume conversation summaries by id; refined account/protocol types.
    • Execution/events: item streaming events; ghost commits; clearer deprecation warnings; better token refresh handling and logs.
    • Conversation management: centralized truncation for all tool outputs; filter out prior-turn reasoning; annotate conversations with model_provider.

    List of merged PRs

    1. Log HTTP Version in #5475
    2. feat: local tokenizer in #5508
    3. chore: drop approve all in #5503
    4. [MCP] Add support for specifying scopes for MCP oauth in #5487
    5. chore: clean spec tests in #5517
    6. [MCP] Remove the legacy stdio client in favor of rmcp in #5529
    7. [app-server] send account/rateLimits/updated notifications in #5477
    8. Fix unified exec session id test helper in #5535
    9. [app-server] add new account method API stubs in #5527
    10. chore: clean handle_container_exec_with_params in #5516
    11. fix: approval issue in #5525
    12. tui: show aggregated output in display in #5539
    13. Handle cancelling/aborting while processing a turn in #5543
    14. chore: testing on apply_path in #5557
    15. feat: use actual tokenizer for unified_exec truncation in #5514
    16. feat: end events on unified exec in #5551
    17. Use Option symbol for mac key hints in #5582
    18. Moving token_info to ConversationHistory in #5581
    19. [MCP] Update rmcp to 0.8.3 in #5542
    20. [MCP] Improve startup errors for timeouts and github in #5595
    21. fix: flaky tests in #5625
    22. adding messaging for stale rate limits + when no rate limits are cached in #5570
    23. Add CodexHttpClient wrapper with request logging in #5564
    24. [app-server] fix account/read response annotation in #5642
    25. Add instruction for upgrading codex with brew in #5640
    26. Log more types of request IDs in #5645
    27. Added model summary and risk assessment for commands that violate sandbox policy in #5536
    28. [MCP] Redact environment variable values in /mcp and mcp get in #5648
    29. [MCP] Properly gate login after mcp add with experimental_use_rmcp_client in #5653
    30. [codex][app-server] introduce codex/event/raw_item events in #5578
    31. Fixed flaky unit test in #5654
    32. Improve feedback in #5661
    33. Followup feedback in #5663
    34. Skip flaky test in #5680
    35. Added support for sandbox_mode in profiles in #5686
    36. Reduced runtime of unit test that was taking multiple minutes in #5688
    37. [MCP] Minor docs clarifications around stdio tokens in #5676
    38. fix: use codex-exp prefix for experimental models and consider codex- models to be production in #5797
    39. fix: revert "[app-server] fix account/read response annotation (#5642)" in #5796
    40. Add feedback upload request handling in #5682
    41. feat: annotate conversations with model_provider for filtering in #5658
    42. feat: update NewConversationParams to take an optional model_provider in #5793
    43. feat: undo wiring in #5630
    44. feat: async ghost commit in #5618
    45. feat: TUI undo op in #5629
    46. nit: doc on session task in #5809
    47. chore: undo nits in #5631
    48. fix: test yield time in #5811
    49. feat: introduce GetConversationSummary RPC in #5803
    50. feat: return an error if unknown enabled/disabled feature in #5817
    51. Made token refresh code resilient to missing id_token in #5782
    52. [Auth] Introduce New Auth Storage Abstraction for Codex CLI in #5569
    53. feat: support verbosity in model_family in #5821
    54. [Auth] Add keyring support for Codex CLI in #5591
    55. Centralize truncation in conversation history in #5652
    56. fix: move account struct to app-server-protocol and use camelCase in #5829
    57. [MCP] Render MCP tool call result images to the model in #5600
    58. fix image drag drop in #5794
    59. Truncate the content-item for mcp tools in #5835
    60. feat(tui): clarify Windows auto mode requirements in #5568
    61. [Auth] Choose which auth storage to use based on config in #5792
    62. chore: speed-up pipeline in #5812
    63. chore: drop useless shell stuff in #5848
    64. chore: use anyhow::Result for all app-server integration tests in #5836
    65. chore: decompose submission loop in #5854
    66. fix advanced.md in #5833
    67. tui: show queued messages during response stream in #5540
    68. Filter out reasoning items from previous turns in #5857
    69. revert #5812 release file in #5887
    70. remove beta experimental header in #5892
    71. Fixed bug that results in a sporadic hang when attaching images in #5891
    72. verify mime type of images in #5888
    73. [app-server] Annotate more exported types with a title in #5879
    74. [App Server] Allow fetching or resuming a conversation summary from the conversation id in #5890
    75. [codex][app-server] resume conversation from history in #5893
    76. Refresh tokens more often and log a better message when both auth and token refresh fails in #5655
    77. fix(windows-path): preserve PATH order; include core env vars in #5579
    78. chore: merge git crates in #5909
    79. feat: deprecation warning in #5825
    80. feat: add output even in sandbox denied in #5908
    81. Add missing "nullable" macro to protocol structs that contain optional fields in #5901
    82. Add a wrapper around raw response items in #5923
    83. fix: icu_decimal version in #5919
    84. chore: config editor in #5878
    85. Delegate review to codex instance in #5572
    86. [exec] Add MCP tool arguments and results in #5899
    87. Add item streaming events in #5546
    88. Re-enable SDK image forwarding test in #5934
    89. ignore agent message deltas for the review mode in #5937
    90. asdf in #5940
    91. Add debug-only slash command for rollout path in #5943
    92. Add debug-only slash command for rollout path in #5936
    93. Send delegate header in #5942
    94. chore: unify config crates in #5958
    95. Pass initial history as an optional to codex delegate in #5950
    96. feat: compaction prompt configurable in #5959
    97. nit: log rmcp_client in #5978
    98. chore: testing on freeform apply_patch in #5952
    99. [codex] add developer instructions in #5897
    100. [app-server] remove serde(skip_serializing_if = "Option::is_none") annotations in #5939

    View full release on GitHub

  • Codex CLI Release: 0.50.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.50.0

    Highlights

    • Improved /feedback to get better diagnostics. Please use it to report any issues. (#5661, #5663).

    Merged PRs

    View full release on GitHub

  • Codex CLI Release: 0.49.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.49.0

    Highlights

    • No major changes comparing to v0.48.0 - v0.49.0 is used for testing homebrew upgrade script.

    Full Changelog: rust-v0.48.0...rust-v0.49.0

    View full release on GitHub

  • Codex CLI Release: 0.48.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.48.0

    Highlights

    • --add-dir to add an additional working directory.
    • Many MCP improvements:
      • stdio servers now use a new client backed by the official rust MCP sdk
      • stdio servers can specify a cwd
      • All servers can specify enabled_tools or disabled_tools
      • Streamable HTTP servers can specify scopes during codex mcp login
      • Improved startup error messages
      • Better instruction following for calling tools
    • Configuration options for forced_login_method and forced_chatgpt_workspace_id which can be paired with managed configs to give enterprises more control over Codex usage.

    Full list of merged PRs:

    New Contributors

    Full Changelog: rust-v0.47.0...rust-v0.48.0

    View full release on GitHub

  • Tag @Codex on GitHub Issues and PRs

    You can now tag @codex on a teammate’s pull request to ask clarifying questions, request a follow-up, or ask Codex to make changes. GitHub Issues now also support @codex mentions, so you can kick off tasks from any issue, without leaving your workflow.

    Codex responding to a GitHub pull request and issue after an @Codex mention.

  • Codex CLI Release: 0.47.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.47.0

    Highlights

    • Improvements and bug-fixes in Codex CLI
    • Code signing binaries on MacOS
    • Auto update banner
    • 🆕 Warning when enabling "full access" mode

    Full list of merged PRs:

    • Indentation mode for read_file (#4887)
    • Message when stream get correctly resumed (#4988)
    • Make shortcut works even with capslock (#5049)
    • Discard prompt starting with a slash (#5048)
    • Add header for task kind (#5142)
    • Pass codex thread ID in notifier metadata (#4582)
    • Updated github issue template (#5191)
    • Agent override file (#5215)
    • Prompt mcp login when adding a streamable HTTP server that supports oauth (#5193)
    • Add parsed command to ExecApprovalRequestEvent (#5222)
    • Add warning about rate limit when using high effort (#5035)
    • Auto update approval (#5185)
    • Add macOS notarization step to release workflow (#5233)
    • Add confirmation prompt for enabling full access approvals (#4980)
    • Add path field to ParsedCommand::Read variant (#5275)
    • Better UX during refusal (#5260)
    • Lagged output in unified_exec buffer (#4992)
    • Sandbox denied error logs (#4874)
    • Add code signing for MacOS binary (#4899)
    • Fix wrapping in user approval decisions (#5008)
    • Fix wrapping in trust_directory (#5007)
    • /diff mode wraps long lines (#4891)
    • Fix crash when alt+bksp past unicode nbsp (#5016)
    • Include the image name in the textarea placeholder (#5056)
    • Detect Bun installs in CLI update banner (#5074)
    • Add dangerous auto-approval for codex exec (#5043)
    • Update tui to sandbox_workspace_write (#3341)
    • Codex cloud exec (#5060)

    View full release on GitHub

  • Codex CLI Release: 0.46.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.46.0

    Highlights

    Improved MCP support

    We are in the middle of significantly improving support for connecting to MCP servers including support for streamable http servers with optional bearer token or oauth login support.

    Enable the experimental_use_rmcp_client = true flag in config.toml to use the new MCP stack. If you encounter issues, create a GitHub issue and add the mcp label. We would like to remove the experimental flag soon and will continue to expand MCP support over time.

    What's Changed

    New Contributors

    Full Changelog: rust-v0.45.0...rust-v0.46.0

    View full release on GitHub

  • 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/codex@0.45.0

    Breaking changes

    codex login --api-key was replaced with codex login --with-api-key that reads the key from stdin to improve security.

    Sample usage:

    printenv OPENAI_API_KEY | codex login --with-api-key

    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/codex@0.44.0

    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/codex@0.42.0

    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/codex@0.41.0

    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/codex@0.40.0

    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/codex@0.39.0

    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/codex@0.38.0

    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/codex@0.37.0

    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/codex@0.36.0

    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

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.34.0

    #3436: hotfix for issue that prevented Codex from initializing external MCP servers

    Merged PRs

    View full release on GitHub

  • Codex CLI Release: 0.33.0

    Click to reveal release details
    To install this version of Codex CLI, run:
    $ npm install -g @openai/codex@0.33.0

    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/codex@0.32.0

    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

  • 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.

  • 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%.

  • 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.