Releases: openai/codex
Releases · openai/codex
0.48.0
Highlights
--add-dirto 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_toolsordisabled_tools - Streamable HTTP servers can specify 
scopesduringcodex mcp login - Improved startup error messages
 - Better instruction following for calling tools
 
 - Configuration options for 
forced_login_methodandforced_chatgpt_workspace_idwhich can be paired with managed configs to give enterprises more control over Codex usage. 
Full list of merged PRs:
- Support graceful agent interruption by @pakrym-oai in #5287
 - Fix nix build by @Mic92 in #4048
 - [MCP] Render full MCP errors to the model by @gpeal in #5298
 - Fix link to MCP Servers config section by @lopopolo-openai in #5301
 - [MCP] When MCP auth expires, prompt the user to log in again. by @gpeal in #5300
 - fix: switch rate limit reset handling to timestamps by @tibo-openai in #5304
 - fix: diff_buffers clear-to-end when deleting wide graphemes by @MomentDerek in #4921
 - docs(changelog): update install command to @openai/codex@ by @truls27a in #2073
 - fix: handle missing resume session id gracefully by @tibo-openai in #5329
 - fix: improve custom prompt documentation and actually use prompt descriptions by @tibo-openai in #5332
 - Move rust analyzer target dir by @pakrym-oai in #5328
 - Create independent TurnContexts by @pakrym-oai in #5308
 - feat: add --add-dir flag for extra writable roots by @tibo-openai in #5335
 - docs: add AGENTS.md discovery guide by @tibo-openai in #5353
 - docs: improve overall documentation by @tibo-openai in #5354
 - fix: config.md docs inaccuracies by @tibo-openai in #5355
 - fix: update CLI usage order for codex -h by @tibo-openai in #5356
 - docs: align sandbox defaults, dedupe sections and improve getting started guide by @tibo-openai in #5357
 - [MCP] Prefix MCP tools names with 
mcp__by @gpeal in #5309 - feat: experimental 
codex stdio-to-udssubcommand by @bolinfest in #5350 - Add forced_chatgpt_workspace_id and forced_login_method configuration options by @gpeal in #5303
 - Expand approvals integration coverage by @pakrym-oai in #5358
 - feat: add images support to the Codex Typescript SDK by @needs in #5281
 - Strip zsh -lc wrapper from TUI command headers by @hxreborn in #5374
 - Update Homebrew install instructions to use cask by @shijie-oai in #5377
 - Always enable plan tool in exec by @pakrym-oai in #5380
 - Auto compact at ~90% by @aibrahim-oai in #5292
 - Generate JSON schema for app-server protocol by @rasmusrygaard in #5063
 - fix: warn when --add-dir would be ignored by @tibo-openai in #5351
 - Use int timestamps for rate limit reset_at by @owenlin0 in #5383
 - chore: rework tools execution workflow by @jif-oai in #5278
 - Add ItemStarted/ItemCompleted events for UserInputItem by @pakrym-oai in #5306
 - tui: drop citation rendering by @nornagon-openai in #4855
 - [app-server] read rate limits API by @owenlin0 in #5302
 - fix terminal corruption that could happen when onboarding and update banner by @nornagon-openai in #5269
 - Reduce symbol size for tests by @pakrym-oai in #5389
 - docs: update advanced guide details by @tibo-openai in #5395
 - docs: clarify responses proxy metadata by @tibo-openai in #5406
 - [MCP] Add configuration options to enable or disable specific tools by @gpeal in #5367
 - Treat 
zsh -lclikebash -lcby @gpeal in #5411 - docs: clarify prompt metadata behavior by @tibo-openai in #5403
 - docs: remove stale contribution reference by @tibo-openai in #5400
 - docs: document exec json events by @tibo-openai in #5399
 - docs: correct getting-started behaviors by @tibo-openai in #5407
 - [MCP] Dedicated error message for GitHub MCPs missing a personal access token by @gpeal in #5393
 - chore(ci): Speed up macOS builds by using larger runner by @JaviSoto in #5234
 - feat: include cwd in notify payload by @tibo-openai in #5415
 - fix(tui): Update WSL instructions by @dylan-hurd-oai in #5307
 - [MCP] Bump rmcp to 0.8.2 by @gpeal in #5423
 - Pass TurnContext around instead of sub_id by @pakrym-oai in #5421
 - Fix flaky auth tests by @gpeal in #5461
 - chore: drop env var flag by @jif-oai in #5462
 - Enable plan tool by default by @pakrym-oai in #5384
 - feat: emit events for unified_exec by @jif-oai in #5448
 - fix: fix UI issue when 0 omitted lines by @jif-oai in #5451
 - [app-server] model/list API by @owenlin0 in #5382
 - Add a baseline test for resume initial messages by @pakrym-oai in #5466
 - [otel] init otel for app-server by @apanasenko-oai in #5469
 - feat: add experimental_bearer_token option to model provider definition by @bolinfest in #5467
 - Log HTTP Version by @pakrym-oai in #5475
 - feat: add text cleared with ctrl+c to the history so it can be recovered with up arrow by @JaviSoto in #5470
 - docs: Add 
--caskoption to brew command to suggest by @yanskun in #5432 - chore: align unified_exec by @jif-oai in #5442
 - feat: local tokenizer by @jif-oai in #5508
 - chore: drop approve all by @jif-oai in #5503
 - [MCP] Add support for specifying scopes for MCP oauth by @gpeal in #5487
 - Add new thread items and rewire event parsing to use them by @pakrym-oai in #5418
 - chore: clean spec tests by @jif-oai in #5517
 - docs: fix agents fallback example by @tibo-openai in #5396
 - [MCP] Remove the legacy stdio client in favor of rmcp by @gpeal in #5529
 - Move changing turn input functionalities to 
ConversationHistoryby @aibrahim-oai in #5473 - [app-server] send account/rateLimits/updated notifications by @owenlin0 in #5477
 - Fix IME submissions dropping leading digits by @genki in #4359
 - [app-server] add new account method API stubs by @owenlin0 in #5527
 - chore: clean 
handle_container_exec_with_paramsby @jif-oai in #5516 - fix: approval issue by @jif-oai in #5525
 - tui: show aggregated output in display by @nornagon-openai in #5539
 - Handle cancelling/aborting while processing a turn by @aibrahim-oai in #5543
 - chore: testing on apply_path by @jif-oai in #5557
 - feat: use actual tokenizer for unified_exec truncation by @jif-oai in #5514
 - fix: resume lookup for gitignored CODEX_HOME by @tibo-openai in #5311
 - feat: end events on unified exec by @jif-oai in #5551
 
New Contributors
- @Mic92 made their first contribution in #4048
 - @lopopolo-openai made their first contribution in #5301
 - @MomentDerek made their first contribution in #4921
 - @truls27a made their first contribution in #2073
 - @needs made their first contribution in #5281
 - @hxreborn made their first contribution in #5374
 - @owenlin0 made their f...
 
0.48.0-alpha.4
rust-v0.48.0-alpha.4 Release 0.48.0-alpha.4
0.48.0-alpha.3
rust-v0.48.0-alpha.3 Release 0.48.0-alpha.3
0.48.0-alpha.2
rust-v0.48.0-alpha.2 Release 0.48.0-alpha.2
0.48.0-alpha.1
rust-v0.48.0-alpha.1 Release 0.48.0-alpha.1
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::Readvariant (#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)
 
0.47.0-alpha.3
rust-v0.47.0-alpha.3 Release 0.47.0-alpha.3
0.47.0-alpha.2
rust-v0.47.0-alpha.2 Release 0.47.0-alpha.2
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
- [MCP] Fix the bearer token authorization header by @gpeal in #4846
 - Print codex resume note when quitting after codex resume by @nornagon-openai in #4695
 - Use Number instead of BigInt for TokenCountEvent by @ccy-oai in #4856
 - Simplify request body assertions by @pakrym-oai in #4845
 - Fix zsh completion by @tamird in #4692
 - [Cloud Tasks] Use workspace deps by @tamird in #4693
 - Simplify parallel by @pakrym-oai in #4829
 - [TUI] Remove bottom padding by @gpeal in #4854
 - [TUI] Dynamic width for line numbers in diffs by @nornagon-openai in #4664
 - [TUI] Wrapping bugfix by @nornagon-openai in #4674
 - Fix flaky test by @jif-oai in #4878
 list_dirtool by @jif-oai in #4817- [TUI] Breathing spinner on true-color terms by @nornagon-openai in #4853
 - [TUI] Remove instruction hack for /review by @dedrisian-oai in #4896
 - Set codex SDK TypeScript originator by @pakrym-oai in #4894
 - [TUI] Bring the transcript closer to display mode by @nornagon-openai in #4848
 - [TUI] Switch to tree-sitter-highlight bash highlighting by @nornagon-openai in #4666
 - remove experimental prefix by @rakesh-oai in #4907
 - [MCP] Add the ability to explicitly specify a credentials store by @gpeal in #4857
 - [MCP] Add support for streamable http servers with 
codex mcp addand replace bearer token handling by @gpeal in #4904 - featgrep_files as a tool by @jif-oai in #4820
 - CLI UP/ENTER by @jif-oai in #4944
 - change log_sse_event() so it no longer takes a closure by @bolinfest in #4953
 - truncate on compact by @jif-oai in #4942
 - Fix transcript mode rendering issue when showing tab chars by @dedrisian-oai in #4911
 - [TUI] hardcode xterm palette, shimmer blends between fg and bg by @nornagon-openai in #4957
 - [MCP] Add an 
enabledconfig field by @gpeal in #4917 - Make context line permanent by @dedrisian-oai in #4699
 - [MCP] Add auth status to MCP servers by @gpeal in #4918
 - [TUI] fix off-by-16 in terminal_palette by @nornagon-openai in #4967
 - Create alias by @rakesh-oai in #4971
 - Set chat name by @dedrisian-oai in #4974
 - revert /name for now by @dedrisian-oai in #4978
 
New Contributors
Full Changelog: rust-v0.45.0...rust-v0.46.0
0.47.0-alpha.1
rust-v0.47.0-alpha.1 Release 0.47.0-alpha.1