# Feature catalog — openai/codex

> Canonical page: https://codevetter.com/unpack/codex/feature-catalog

# Feature catalog — openai/codex

Scanned commit a1f40f3f1326eff7c81b860a4f4e27c1be186e10 (2026-09-22). Generated by codevetter codevetter 1.12.0 on 2026-09-22.

User-facing surface is the `codex` multitool plus the app-server JSON-RPC API and the SDK wrappers. Interactive mode is a full-screen TUI with composer, approval overlays, and slash commands. Headless mode is `codex exec` (and `codex review`) for scripts and CI. Account features cover ChatGPT device-code login, API-key login, and `codex login`. Tooling includes shell, unified exec, apply_patch, MCP servers, skills, web search, and an execpolicy command allow/deny language. Session features include resume, fork, compact, and forking a thread for review.
- `codex` with no subcommand starts the interactive TUI. `codex exec` (alias `e`) runs `codex_exec::run_main` for non-interactive prompts, with `--json` JSONL events, `--output-schema`, `--sandbox`, `--full-auto`, and image inputs. — [codex-rs/cli/src/main.rs#L500-L700](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/cli/src/main.rs#L500-L700) [codex-rs/exec/src/lib.rs#L1-L100](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/exec/src/lib.rs#L1-L100) [docs/exec.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/exec.md)
- `codex resume` and `codex fork` reopen a rollout. Resume continues the selected session; fork copies history into a new thread id. Both are CLI subcommands that flow into core session startup with a rollout path. — [codex-rs/cli/src/main.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/cli/src/main.rs) [codex-rs/tui/src/lib.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/tui/src/lib.rs) [docs/exec.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/exec.md)
- `codex mcp` serves the agent as an MCP server (`mcp serve`) and manages configured MCP servers (`mcp add`, `list`, `get`, `remove`). Server configs live in config.toml under `[mcp_servers.<id>]` with stdio or streamable HTTP transport. — [codex-rs/cli/src/main.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/cli/src/main.rs) [codex-rs/core/src/config/mod.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/core/src/config/mod.rs) [docs/config.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/config.md)
- Login is `codex login` / `codex logout`. ChatGPT login uses a device-code or browser OAuth flow implemented in `codex-login`; API-key login stores a key in `auth.json` under `CODEX_HOME`. `codex login status` reports the active mode. — [codex-rs/login/src/auth/manager.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/login/src/auth/manager.rs) [docs/authentication.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/authentication.md) [codex-rs/cli/src/main.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/cli/src/main.rs)
- Slash commands in the TUI are registered in `tui/src/slash_command.rs` (`SlashCommand` enum: model, personality, approvals, review, new, resume, fork, compact, diff, mention, mcp, skills, logout, quit, and others) and rendered by the composer popup. — [codex-rs/tui/src/slash_command.rs#L1-L200](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/tui/src/slash_command.rs#L1-L200) [codex-rs/tui/src/bottom_pane/chat_composer.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/tui/src/bottom_pane/chat_composer.rs)
- Approval modes are `untrusted`, `on-request`, and `never`, mapped to `AskForApproval`. Sandbox presets exposed to users are read-only, workspace-write, and danger-full-access. `--full-auto` selects workspace-write plus on-request (or never, depending on the preset path). — [docs/sandbox.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/sandbox.md) [codex-rs/protocol/src/protocol.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/protocol/src/protocol.rs) [codex-rs/core/src/config/mod.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/core/src/config/mod.rs)
- The SDK `Thread` API mirrors app-server turns. `thread.start()` sends `thread/start`; `thread.run(prompt)` sends `turn/start` and yields streamed items (agent message, command execution, file change, mcp tool call, error). `CodexOptions` selects `apiKey`, `baseUrl`, `codexPathOverride`, and config overrides. — [sdk/typescript/src/codex.ts](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/sdk/typescript/src/codex.ts) [sdk/typescript/src/thread.ts](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/sdk/typescript/src/thread.ts) [sdk/typescript/README.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/sdk/typescript/README.md)
- Cloud/environment tasks are represented by `codex exec` environment options and the `environment` module, including `codex cloud` style tasks that delegate to a remote environment when configured. Local exec remains the default. — [codex-rs/exec/src/lib.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/exec/src/lib.rs) [docs/exec.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/exec.md) [codex-rs/cli/src/main.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/cli/src/main.rs)
- `codex sandbox` can run a single command under the Linux/macOS sandbox helper for debugging policy, separate from an agent turn. The Linux helper binary is `codex-linux-sandbox`. — [docs/sandbox.md](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/docs/sandbox.md) [codex-rs/linux-sandbox/src/lib.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/linux-sandbox/src/lib.rs) [codex-rs/cli/src/main.rs](https://github.com/openai/codex/blob/a1f40f3f1326eff7c81b860a4f4e27c1be186e10/codex-rs/cli/src/main.rs)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
