## Description This PR trims `app-server-protocol`'s v1 surface down to the small set of legacy types we still actually use. Unfortunately, we can't delete all of them yet because: - a few one-off v1 RPCs are still used by the Codex app - a few of these app-server-protocol v1 types are actually imported by core crates This change deletes that unused RPC surface, keeps the remaining compatibility types in place, and makes the crate root re-export only the v1 structs that downstream crates still depend on. ## Why The main goal here is to make the legacy protocol surface match reality. Leaving a large pile of dead v1 structs in place makes it harder to tell which compatibility paths are still intentional, and it keeps old schema/types around even though nothing should be building against them anymore. This also gives us a cleaner boundary for future cleanup. Instead of re-exporting all of `protocol::v1::*`, the crate now explicitly exposes only the v1 types that are still live, which makes it much easier to see what remains and delete more safely later. ## What changed - Deleted the unused v1 RPC/request/response structs from `app-server-protocol/src/protocol/v1.rs`. - Kept the small set of v1 compatibility types that are still live, including: - `initialize` - `getConversationSummary` - `getAuthStatus` - `gitDiffToRemote` - legacy approval payloads - config-related structs still used by downstream crates - Replaced the blanket `pub use protocol::v1::*` export in `app-server-protocol/src/lib.rs` with an explicit list of the remaining supported v1 types. - Regenerated the schema/type artifacts, which also updated the `InitializeCapabilities` opt-out example to use `thread/started` instead of the old `codex/event/session_configured` example. ## Validation - `just write-app-server-schema` - `cargo test -p codex-app-server-protocol` ## Follow-up The next cleanup is to keep shrinking the remaining v1 compatibility surface as callers migrate off it. Once the remaining consumers stop importing these legacy types, we should be able to remove more of the v1 module and eventually stop exporting it from the crate root entirely. |
||
|---|---|---|
| .codex/skills | ||
| .devcontainer | ||
| .github | ||
| .vscode | ||
| codex-cli | ||
| codex-rs | ||
| docs | ||
| patches | ||
| scripts | ||
| sdk/typescript | ||
| shell-tool-mcp | ||
| third_party | ||
| .bazelignore | ||
| .bazelrc | ||
| .bazelversion | ||
| .codespellignore | ||
| .codespellrc | ||
| .gitignore | ||
| .markdownlint-cli2.yaml | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.toml | ||
| AGENTS.md | ||
| announcement_tip.toml | ||
| BUILD.bazel | ||
| CHANGELOG.md | ||
| cliff.toml | ||
| defs.bzl | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| MODULE.bazel | ||
| MODULE.bazel.lock | ||
| NOTICE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| rbe.bzl | ||
| README.md | ||
| SECURITY.md | ||
| workspace_root_test_launcher.bat.tpl | ||
| workspace_root_test_launcher.sh.tpl | ||
npm i -g @openai/codex
or brew install --cask codex
Codex CLI is a coding agent from OpenAI that runs locally on your computer.
If you want Codex in your code editor (VS Code, Cursor, Windsurf), install in your IDE.
If you want the desktop app experience, run
codex app or visit the Codex App page.
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
- Apple Silicon/arm64:
- Linux
- x86_64:
codex-x86_64-unknown-linux-musl.tar.gz - arm64:
codex-aarch64-unknown-linux-musl.tar.gz
- x86_64:
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.