Codex
OpenAI's Rust-based CLI for interacting with the Codex model.
🔒 Security Updates
✨ New Features
>GPT-5.1-Codex-Max: introducing our newest frontier agentic coding model. GPT-5.1-Codex-Max delivers higher reliability, faster iteration, and support for long-running, project-scale workflows. Learn more at https://www.openai.com/index/gpt-5-1-codex-max
>Native Compaction Support: added first-class support for Compaction, improving performance across extended coding sessions.
>Windows Agent mode: Introduced Agent mode for native Windows. Codex can read files, write files, and run commands in your working folder with fewer approvals. Agent mode uses a new experimental Windows sandbox to limit filesystem and network access. Learn more at https://developers.openai.com/codex/windows
>Credits are now visible in `/status`.
>feat: arcticfox in the wild (#6906) — @aibrahim
>feat: warning large commits (#6838) — @jif
>Run remote auto compaction (#6879) — @pakrym
>[app-server] introduce `turn/completed` v2 event (#6800) — @celia
>exec-server (#6630) — @172423086+nornagon-openai
>[app-server-test-client] feat: auto approve command (#6852) — @owenlin0
>[codex][otel] support mtls configuration (#6228) — @apanasenko
>feat: review in app server (#6613) — @jif
>Add the utility to truncate by tokens (#6746) — @aibrahim
>feat: enable parallel tool calls (#6796) — @jif
>feat: remote compaction (#6795) — @jif
>feat: git branch tooling (#6831) — @jif
>execpolicy2 extension (#6627) — @zhao
>[app-server] feat: add v2 command execution approval flow (#6758) — @owenlin0
>core: add a feature to disable the shell tool (#6481) — @172423086+nornagon-openai
>LM Studio OSS Support (#2312) — @rugved
>feat: execpolicy v2 (#6467) — @zhao
>feat: add app-server-test-client crate for internal use (#5391) — @owenlin0
>feat(ts-sdk): allow overriding CLI environment (#6648) — @lopopolo
>templates and build step for validating/submitting winget package (#6485) — @iceweasel
>[App server] add mcp tool call item started/completed events (#6642) — @celia
>feat: add resume logs when doing /new (#6660) — @jif
>[App-server] add new v2 events:`item/reasoning/delta`, `item/agentMessage/delta` & `item/reasoning/summaryPartAdded` (#6559) — @celia
>feat: Add support for --add-dir to exec and TypeScript SDK (#6565) — @33551757+danfhernandez
>Add AbortSignal support to TypeScript SDK (#6378) — @33551757+danfhernandez
🚀 Improvements
>Expanded Tool Token Limits: codex models now support up to 10,000 tool output tokens. Configure this via `tool_output_token_limit` in `config.toml`.
>TUI and UX Improvements
>Codex Resume now displays branches and respects the current working directory for filtering.
>Added placeholder icons for images.
>[app-server] populate thread>turns>items on thread/resume (#6848) — @owenlin0
>chore: consolidate compaction token usage (#6894) — @jif
>chore(app-server) world-writable windows notification (#6880) — @dylan.hurd
>Move shell to use `truncate_text` (#6842) — @aibrahim
>shell_command returns freeform output (#6860) — @pakrym
>feat: tweak windows sandbox strings (#6875) — @ae
>fix: add more fields to ThreadStartResponse and ThreadResumeResponse (#6847) — @mbolin
>Remote compaction on by-default (#6866) — @pakrym
>update credit status details (#6862) — @zhao
>tui: add branch to 'codex resume', filter by cwd (#6232) — @172423086+nornagon-openai
>windows sandbox: support multiple workspace roots (#6854) — @iceweasel
>updating codex backend models (#6855) — @zhao
>chore(config) enable shell_command (#6843) — @dylan.hurd
>Prompt to turn on windows sandbox when auto mode selected. (#6618) — @iceweasel
>Update defaults to gpt-5.1 (#6652) — @aibrahim
>Demote function call payload log to debug to avoid noisy error-level stderr (#6808) — @cassirer
>background rate limits fetch (#6789) — @zhao
>feat: placeholder for image that can't be decoded to prevent 400 (#6773) — @jif
>Tighten panic on double truncation (#6701) — @aibrahim
>Improve compact (#6692) — @aibrahim
>Refactor truncation helpers into its own file (#6683) — @aibrahim
>Handle "Don't Trust" directory selection in onboarding (#4941) — @viniciusmotta8
>Order outputs before inputs (#6691) — @pakrym
>Add test timeout (#6612) — @pakrym
>Enable TUI notifications by default (#6633) — @172423086+nornagon-openai
>feat: better UI for unified_exec (#6515) — @jif
>Promote shared helpers for suite tests (#6460) — @aibrahim
>Use shared network gating helper in chat completion tests (#6461) — @aibrahim
>Avoid double truncation (#6631) — @aibrahim
>Only list failed tests (#6619) — @pakrym
>Update default yield time (#6610) — @pakrym
>Overhaul shell detection and centralize command generation for unified exec (#6577) — @pakrym
⚡ Performance
🐛 Bug Fixes
>Eliminated ghost snapshot notifications when no `git` repository is present.
>fix: don't truncate at new lines (#6907) — @aibrahim
>fix(core) Support changing /approvals before conversation (#6836) — @dylan.hurd
>fix: parallel tool call instruction injection (#6893) — @jif
>fix label (#6892) — @tibo
>fix(tui) ghost snapshot notifications (#6881) — @dylan.hurd
>fix: typos in model picker (#6859) — @aibrahim
>Fix tests so they don't emit an extraneous `config.toml` in the source tree (#6853) — @etraut
>fix: local compaction (#6844) — @jif
>fixing localshell tool calls (#6823) — @zhao
>:bug: fix(rmcp-client): refresh OAuth tokens using expires_at (#6574) — @LaelLuo
>fix(windows) shell_command on windows, minor parsing (#6811) — @dylan.hurd
>Fix TUI issues with Alt-Gr on Windows (#6799) — @etraut
>fix: annotate all app server v2 types with camelCase (#6791) — @owenlin0
>fix(core) serialize shell_command (#6744) — @dylan.hurd
>Fix FreeBSD/OpenBSD builds: target-specific keyring features and BSD hardening (#6680) — @jinxiaoyong
>Fix: Claude models return incomplete responses due to empty finish_reason handling (#6728) — @dulikaifazr
>Fix AltGr/backslash input on Windows Codex terminal (#6720) — @pornotato
>fix: resolve Windows MCP server execution for script-based tools (#3828) — @jlee14281
>[app-server] small fixes for JSON schema export and one-of types (#6614) — @owenlin0
📚 Documentation
>chore: update windows docs url (#6877) — @ae
>chore: update windows sandbox docs (#6872) — @ae
>Fix typo in config.md for MCP server (#6845) — @simcoea
>Update faq.md section on supported models (#6832) — @adpena
>chore(core) Update shell instructions (#6679) — @dylan.hurd
>[app-server] add events to readme (#6690) — @celia
>Fix documentation errors for Custom Prompts named arguments and add canonical examples (#5910) — @169171880+Sayeem3051
📦 Other Changes
>nit: useless log to debug (#6898) — @jif
>nit: stable (#6895) — @jif
>flaky-unified_exec_formats_large_output_summary (#6884) — @aibrahim
>chore(core) arcticfox (#6876) — @dylan.hurd
>nit: app server (#6830) — @jif
>nit: mark ghost commit as stable (#6833) — @jif
>chore(core) Add shell_serialization coverage (#6810) — @dylan.hurd
>chore: delete chatwidget::tests::binary_size_transcript_snapshot tui test (#6759) — @owenlin0
>nit: personal git ignore (#6787) — @jif
>tmp: drop sccache for windows 2 (#6775) — @jif
>Exempt the "codex" github user from signing the CLA (#6724) — @etraut
>chore(deps): bump actions/github-script from 7 to 8 (#6755) — @49699333+dependabot[bot]
>Revert "tmp: drop sccache for windows (#6673)" (#6751) — @etraut
>Revert "templates and build step for validating/submitting winget package" (#6696) — @aibrahim
>ci: only run CLA assistant for openai org repos (#6687) — @joshka
>Ignore unified_exec_respects_workdir_override (#6693) — @pakrym
>tmp: drop sccache for windows (#6673) — @jif
>tests: replace mount_sse_once_match with mount_sse_once for SSE mocking (#6640) — @pakrym
>Revert "Revert \"Overhaul shell detection and centralize command generation for unified exec\"" (#6607) — @pakrym
>chore(core) Consolidate apply_patch tests (#6545) — @dylan.hurd
>Enable close-stale-contributor-prs.yml workflow (#6615) — @pakrym
>Close stale PRs workflow (#6594) — @pakrym
>Migrate prompt caching tests to test_codex (#6605) — @pakrym
>Revert "Overhaul shell detection and centralize command generation for unified exec" (#6606) — @pakrym