Michael Bolin f0679a6ab2 ## 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
- `/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. (#8774)
- Git apply path parsing now handles quoted/escaped paths and `/dev/null` correctly to avoid misclassified changes. (#8824)
- Codex CLI subprocesses again inherit env vars like `LD_LIBRARY_PATH`/`DYLD_LIBRARY_PATH` to avoid runtime issues. (#8951)

## 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
- #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
2026-01-09 11:17:48 -08:00
2026-01-09 11:17:48 -08:00
2026-01-08 15:39:57 +00:00
2026-01-08 07:50:58 -08:00
2025-04-16 12:56:08 -04:00
2025-10-17 12:19:08 -07:00
2025-10-17 12:19:08 -07:00
2026-01-07 12:16:38 +00:00
2025-04-16 12:56:08 -04:00
2025-07-31 00:06:55 +00:00
2025-04-18 17:01:11 -07:00
2026-01-02 15:23:22 -07:00

npm i -g @openai/codex
or brew install --cask codex

Codex CLI is a coding agent from OpenAI that runs locally on your computer.

Codex CLI splash


If you want Codex in your code editor (VS Code, Cursor, Windsurf), install in your IDE.
If you are looking for the cloud-based agent from OpenAI, Codex Web, go to chatgpt.com/codex.


Quickstart

Installing and running Codex CLI

Install globally with your preferred package manager:

# Install using npm
npm install -g @openai/codex
# Install using Homebrew
brew install --cask codex

Then simply run codex to get started.

You can also go to the latest GitHub Release and download the appropriate binary for your platform.

Each GitHub Release contains many executables, but in practice, you likely want one of these:

  • macOS
    • Apple Silicon/arm64: codex-aarch64-apple-darwin.tar.gz
    • x86_64 (older Mac hardware): codex-x86_64-apple-darwin.tar.gz
  • Linux
    • x86_64: codex-x86_64-unknown-linux-musl.tar.gz
    • arm64: codex-aarch64-unknown-linux-musl.tar.gz

Each archive contains a single entry with the platform baked into the name (e.g., codex-x86_64-unknown-linux-musl), so you likely want to rename it to codex after extracting it.

Using Codex with your ChatGPT plan

Run codex and select Sign in with ChatGPT. We recommend signing into your ChatGPT account to use Codex as part of your Plus, Pro, Team, Edu, or Enterprise plan. Learn more about what's included in your ChatGPT plan.

You can also use Codex with an API key, but this requires additional setup.

Docs

This repository is licensed under the Apache-2.0 License.

Description
Исходный код Codex CLI
Readme Apache-2.0 1.3 GiB
Languages
Rust 96%
Python 2.9%
TypeScript 0.3%
Starlark 0.2%
Shell 0.2%
Other 0.2%