Agent IDE — Codex fork for AI-native development environment
Find a file
Eric Traut 2ca9a56528
Add layered config.toml support to app server (#9510)
This PR adds support for chained (layered) config.toml file merging for
clients that use the app server interface. This feature already exists
for the TUI, but it does not work for GUI clients.

It does the following:
* Changes code paths for new thread, resume thread, and fork thread to
use the effective config based on the cwd.
* Updates the `config/read` API to accept an optional `cwd` parameter.
If specified, the API returns the effective config based on that cwd
path. Also optionally includes all layers including project config
files. If cwd is not specified, the API falls back on its older behavior
where it considers only the global (non-project) config files when
computing the effective config.

The changes in codex_message_processor.rs look deceptively large. They
mostly just involve moving existing blocks of code to a later point in
some functions so it can use the cwd to calculate the config.

This PR builds upon #9509 and should be reviewed and merged after that
PR.

Tested:
* Verified change with (dependent, as-yet-uncommitted) changes to IDE
Extension and confirmed correct behavior

The full fix requires additional changes in the IDE Extension code base,
but they depend on this PR.
2026-01-21 14:21:48 -08:00
.devcontainer chore: install an extension for TOML syntax highlighting in the devcontainer (#1650) 2025-07-22 10:58:09 -07:00
.github fix: bminor/bash is no longer on GitHub so use bolinfest/bash instead (#9563) 2026-01-21 00:35:42 +00:00
.vscode Move rust analyzer target dir (#5328) 2025-10-18 17:31:46 -07:00
codex-cli fix(cli): add execute permission to bin/codex.js (#9532) 2026-01-20 14:53:14 -08:00
codex-rs Add layered config.toml support to app server (#9510) 2026-01-21 14:21:48 -08:00
docs Add request-user-input overlay (#9585) 2026-01-21 00:19:35 -08:00
patches [bazel] Upgrade llvm toolchain and enable remote repo cache (#9616) 2026-01-21 12:52:39 -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 [bazel] Upgrade llvm toolchain and enable remote repo cache (#9616) 2026-01-21 12:52:39 -08:00
.bazelversion [bazel] Upgrade to bazel9 (#9576) 2026-01-21 13:25:36 +00: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 don't ask for approval for just fix (#9586) 2026-01-21 04:56:11 +00: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 [bazel] Upgrade llvm toolchain and enable remote repo cache (#9616) 2026-01-21 12:52:39 -08:00
MODULE.bazel.lock [bazel] Upgrade llvm toolchain and enable remote repo cache (#9616) 2026-01-21 12:52:39 -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.