Agent IDE — Codex fork for AI-native development environment
Find a file
Dylan Hurd 80d7a5d7fe
chore(instructions) Remove unread SessionMeta.instructions field (#9423)
### Description
- Remove the now-unused `instructions` field from the session metadata
to simplify SessionMeta and stop propagating transient instruction text
through the rollout recorder API. This was only saving
user_instructions, and was never being read.
- Stop passing user instructions into the rollout writer at session
creation so the rollout header only contains canonical session metadata.

### Testing

- Ran `just fmt` which completed successfully.
- Ran `just fix -p codex-protocol`, `just fix -p codex-core`, `just fix
-p codex-app-server`, `just fix -p codex-tui`, and `just fix -p
codex-tui2` which completed (Clippy fixes applied) as part of
verification.
- Ran `cargo test -p codex-protocol` which passed (28 tests).
- Ran `cargo test -p codex-core` which showed failures in a small set of
tests (not caused by the protocol type change directly):
`default_client::tests::test_create_client_sets_default_headers`,
several `models_manager::manager::tests::refresh_available_models_*`,
and `shell_snapshot::tests::linux_sh_snapshot_includes_sections` (these
tests failed in this CI run).
- Ran `cargo test -p codex-app-server` which reported several failing
integration tests (including
`suite::codex_message_processor_flow::test_codex_jsonrpc_conversation_flow`,
`suite::output_schema::send_user_turn_*`, and
`suite::user_agent::get_user_agent_returns_current_codex_user_agent`).
- `cargo test -p codex-tui` and `cargo test -p codex-tui2` were
attempted but aborted due to disk space exhaustion (`No space left on
device`).

------
[Codex
Task](https://chatgpt.com/codex/tasks/task_i_696bd8ce632483228d298cf07c7eb41c)
2026-01-17 16:02:28 -08:00
.devcontainer chore: install an extension for TOML syntax highlighting in the devcontainer (#1650) 2025-07-22 10:58:09 -07:00
.github chore: upgrade to Rust 1.92.0 (#8860) 2026-01-16 11:12:52 -08:00
.vscode Move rust analyzer target dir (#5328) 2025-10-18 17:31:46 -07:00
codex-cli fix: add tui.alternate_screen config and --no-alt-screen CLI flag for Zellij scrollback (#8555) 2026-01-09 18:38:26 +00:00
codex-rs chore(instructions) Remove unread SessionMeta.instructions field (#9423) 2026-01-17 16:02:28 -08:00
docs Rename hierarchical_agents to child_agents_md (#9215) 2026-01-14 19:14:24 +00:00
patches feat: add support for building with Bazel (#8875) 2026-01-09 11:09:43 -08:00
scripts WebSocket test server script (#9175) 2026-01-13 16:21:14 -08:00
sdk/typescript add WebSearchMode enum (#9216) 2026-01-14 12:51:42 -08:00
shell-tool-mcp fix: change codex/sandbox-state/update from a notification to a request (#8142) 2025-12-18 15:32:01 -08:00
third_party/wezterm Vendor ConPtySystem (#7656) 2025-12-09 17:23:51 +00:00
.bazelignore fix: add .git to .bazelignore (#9008) 2026-01-10 00:55:02 +00:00
.bazelrc feat: add support for building with Bazel (#8875) 2026-01-09 11:09:43 -08:00
.codespellignore Terminal Detection Metadata for Per-Terminal Scroll Scaling (#8252) 2025-12-18 12:50:00 -08:00
.codespellrc Terminal Detection Metadata for Per-Terminal Scroll Scaling (#8252) 2025-12-18 12:50:00 -08:00
.gitignore gitignore bazel-* (#8911) 2026-01-08 07:50:58 -08:00
.markdownlint-cli2.yaml fix(tui): document paste-burst state machine (#9020) 2026-01-13 11:48:31 -08:00
.npmrc chore: migrate to pnpm for improved monorepo management (#287) 2025-04-18 16:25:15 -07:00
.prettierignore [apply-patch] Clean up apply-patch tool definitions (#2539) 2025-08-21 20:07:41 -07:00
.prettierrc.toml Initial commit 2025-04-16 12:56:08 -04:00
AGENTS.md add generated jsonschema for config.toml (#8956) 2026-01-13 10:22:51 -08:00
announcement_tip.toml Revert "Delete announcement_tip.toml" (#9032) 2026-01-10 07:30:14 -08:00
BUILD.bazel fix: support remote arm64 builds, as well (#9018) 2026-01-10 18:41:08 -08:00
CHANGELOG.md Documentation improvement: add missing period (#3754) 2025-10-30 13:01:33 -07:00
cliff.toml docs(changelog): update install command to @openai/codex@<version> (#2073) 2025-10-18 11:02:22 -07:00
defs.bzl feat: add support for building with Bazel (#8875) 2026-01-09 11:09:43 -08:00
flake.lock Fix nix build (#4048) 2025-10-17 12:19:08 -07:00
flake.nix Fix nix build (#4048) 2025-10-17 12:19:08 -07:00
justfile feat: add bazel-codex entry to justfile (#9177) 2026-01-13 16:16:22 -08:00
LICENSE Initial commit 2025-04-16 12:56:08 -04:00
MODULE.bazel fix: support remote arm64 builds, as well (#9018) 2026-01-10 18:41:08 -08:00
MODULE.bazel.lock feat: add bazel-codex entry to justfile (#9177) 2026-01-13 16:16:22 -08:00
NOTICE resizable viewport (#1732) 2025-07-31 00:06:55 +00:00
package.json chore: subject docs/*.md to Prettier checks (#4645) 2025-10-03 11:35:48 -07:00
pnpm-lock.yaml fix: Upgrade @modelcontextprotocol/sdk to ^1.24.0 (#7817) 2025-12-10 10:17:00 -08:00
pnpm-workspace.yaml feat: codex-shell-tool-mcp (#7005) 2025-11-21 08:16:36 -08:00
PNPM.md fix: include pnpm lock file (#377) 2025-04-18 17:01:11 -07:00
rbe.bzl fix: support remote arm64 builds, as well (#9018) 2026-01-10 18:41:08 -08:00
README.md Fixed broken link in README (#8682) 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.