Back to feed

0.80.0

Jan 9, 2026
OpenAI/Codex CLICLIvrust-v0.80.0

New Features

  • Add conversation/thread fork endpoints in the protocol and app server so clients can branch a session into a new thread. (#8866)
  • Expose requirements via requirement/list so clients can read requirements.toml and adjust agent-mode UX. (#8800)
  • Introduce metrics capabilities with additional counters for observability. (#8318, #8910)
  • Add elevated sandbox onboarding with prompts for upgrade/degraded mode plus the /elevate-sandbox command. (#8789)
  • Allow explicit skill invocations through v2 API user input. (#8864)

Bug Fixes

  • Codex CLI subprocesses again inherit env vars like LD_LIBRARY_PATH/DYLD_LIBRARY_PATH to avoid runtime issues. As explained in #8945, failure to pass along these environment variables to subprocesses that expect them (notably GPU-related ones), was causing 10x+ performance regressions! Special thanks to @johnzfitch for the detailed investigation and write-up in #8945. (#8951)
  • /review <instructions> in TUI/TUI2 now launches the review flow instead of sending plain text. (#8823)
  • Patch approval “allow this session” now sticks for previously approved files. (#8451)
  • Model upgrade prompt now appears even if the current model is hidden from the picker. (#8802)
  • Windows paste handling now supports non-ASCII multiline input reliably. Special thanks to @occurrent laying the groundwork for this fix in #8021! (#8774)
  • Git apply path parsing now handles quoted/escaped paths and /dev/null correctly to avoid misclassified changes. (#8824)

Documentation

  • App-server README now documents skills support and usage. (#8853)
  • Skill-creator docs clarify YAML frontmatter formatting and quoting rules. (#8610)

Changelog

Full Changelog: https://github.com/openai/codex/compare/rust-v0.79.0...rust-v0.80.0

  • #8734 fix: do not propose to add multiline commands to execpolicy @tibo-openai
  • #8802 Enable model upgrade popup even when selected model is no longer in picker @charley-oai
  • #8805 chore: stabilize core tool parallelism test @tibo-openai
  • #8820 chore: silent just fmt @jif-oai
  • #8824 fix: parse git apply paths correctly @tibo-openai
  • #8823 fix: handle /review arguments in TUI @tibo-openai
  • #8822 chore: rename unified exec sessions @jif-oai
  • #8825 fix: handle early codex exec exit @tibo-openai
  • #8830 chore: unify conversation with thread name @jif-oai
  • #8840 Move tests below auth manager @pakrym-oai
  • #8845 fix: upgrade lru crate to 0.16.3 @bolinfest
  • #8763 Merge Modelfamily into modelinfo @aibrahim-oai
  • #8842 remove unnecessary todos @aibrahim-oai
  • #8846 Stop using AuthManager as the source of codex_home @pakrym-oai
  • #8844 Fix app-server write_models_cache to treat models with less priority number as higher priority. @aibrahim-oai
  • #8850 chore: drop useless feature flags @jif-oai
  • #8848 chore: drop some deprecated @jif-oai
  • #8853 [chore] update app server doc with skills @celia-oai
  • #8451 fix: implement 'Allow this session' for apply_patch approvals @owenlin0
  • #8856 Override truncation policy at model info level @aibrahim-oai
  • #8849 Simplify error managment in run_turn @aibrahim-oai
  • #8767 Add feature for optional request compression @cconger
  • #8610 Clarify YAML frontmatter formatting in skill-creator @darlingm
  • #8847 Warn in /model if BASE_URL set @gt-oai
  • #8801 Support symlink for skills discovery. @xl-openai
  • #8800 Feat: appServer.requirementList for requirement.toml @shijie-oai
  • #8861 fix: update resource path resolution logic so it works with Bazel @bolinfest
  • #8868 fix: use tokio for I/O in an async function @bolinfest
  • #8867 add footer note to TUI @iceweasel-oai
  • #8879 feat: introduce find_resource! macro that works with Cargo or Bazel @bolinfest
  • #8864 Support UserInput::Skill in V2 API. @xl-openai
  • #8876 add ability to disable input temporarily in the TUI. @iceweasel-oai
  • #8884 fix: make the find_resource! macro responsible for the absolutize() call @bolinfest
  • #8774 fix: windows can now paste non-ascii multiline text @dylan-hurd-oai, @occurrent
  • #8855 chore: add list thread ids on manager @jif-oai
  • #8318 feat: metrics capabilities @jif-oai
  • #8826 fix: stabilize list_dir pagination order @tibo-openai
  • #8892 chore: drop metrics exporter config @jif-oai
  • #8896 chore: align error limit comment @tibo-openai
  • #8899 fix: include project instructions in /review subagent @tibo-openai
  • #8894 chore: add small debug client @jif-oai
  • #8888 fix: leverage find_resource! macro in load_sse_fixture_with_id @bolinfest
  • #8691 Avoid setpgid for inherited stdio on macOS @seeekr
  • #8887 fix: leverage codex_utils_cargo_bin() in codex-rs/core/tests/suite @bolinfest
  • #8907 chore: drop useless interaction_input @jif-oai
  • #8903 nit: drop unused function call error @jif-oai
  • #8910 feat: add a few metrics @jif-oai
  • #8911 gitignore bazel-* @zbarsky-openai
  • #8843 config requirements: improve requirement error messages @gt-oai
  • #8914 fix: reduce duplicate include_str!() calls @bolinfest
  • #8902 feat: add list loaded threads to app server @jif-oai
  • #8870 [fix] app server flaky thread/resume tests @celia-oai
  • #8916 clean: all history cloning @jif-oai
  • #8915 otel test: retry WouldBlock errors @gt-oai
  • #8792 Update models.json @github-actions
  • #8897 fix: preserve core env vars on Windows @tibo-openai
  • #8913 Add read-only when backfilling requirements from managed_config @gt-oai
  • #8926 add tooltip hint for shell commands (!) @fps7806
  • #8857 Immutable CodexAuth @pakrym-oai
  • #8927 nit: parse_arguments @jif-oai
  • #8932 fix: increase timeout for tests that have been flaking with timeout issues @bolinfest
  • #8931 fix: correct login shell mismatch in the accept_elicitation_for_prompt_rule() test @bolinfest
  • #8874 [fix] app server flaky send_messages test @celia-oai
  • #8866 feat: fork conversation/thread @apanasenko-oai
  • #8858 remove get_responses_requests and get_responses_request_bodies to use in-place matcher @aibrahim-oai
  • #8939 [chore] move app server tests from chat completion to responses @celia-oai
  • #8880 Attempt to reload auth as a step in 401 recovery @pakrym-oai
  • #8946 fix: increase timeout for wait_for_event() for Bazel @bolinfest
  • #8789 Elevated sandbox NUX @iceweasel-oai
  • #8917 fix: treat null MCP resource args as empty @tibo-openai
  • #8942 Add 5s timeout to models list call + integration test @aibrahim-oai
  • #8951 fix: remove existing process hardening from Codex CLI @bolinfest