| Maker | Anthropic | OpenAI |
| Plans that include it | Claude Pro, Max, Team and Enterprise; not the free plan | Every ChatGPT plan: Free, Go, Plus, Pro, Business, Edu, Enterprise |
| API billing instead | Anthropic Console account, or a third-party provider | OpenAI API key, billed at API rates; no cloud features |
| Models | Claude models; --model takes an alias such as opus or sonnet, --effort low to max | OpenAI models; -m / --model, reasoning effort in config.toml |
| Source code | Closed; the GitHub repo is issues, plugins and examples, all rights reserved | Open source, Apache-2.0, at github.com/openai/codex |
| Install | Native installer (curl on macOS, Linux, WSL; irm on PowerShell), Homebrew, WinGet | Install script, npm install -g @openai/codex, Homebrew |
| Platforms | macOS, Linux, WSL, native Windows | macOS, Linux, WSL2, native Windows |
| Permission model | One mode: manual, accept edits, plan, auto, don't ask, bypass | Two dials: sandbox (read-only, workspace-write, full access) plus approval policy (on request, never) |
| OS sandbox | Off by default, turn on with /sandbox; macOS, Linux, WSL2; none on native Windows | On by default; Seatbelt on macOS, bubblewrap on Linux and WSL2, a native sandbox on Windows |
| Network by default | Governed by permission rules; the sandbox adds a domain allowlist when on | Off for commands in the default workspace-write sandbox |
| Plan mode | Yes, native | Yes, native |
| Write files, ask on commands | Yes, accept edits | No equivalent pair of settings |
| Project instruction file | CLAUDE.md, and can read AGENTS.md instead; /init writes one | AGENTS.md, global plus per directory; /init writes one |
| Settings file | ~/.claude/settings.json and .claude/settings.json per project | config.toml under $CODEX_HOME (default ~/.codex) |
| MCP servers | Yes, claude mcp | Yes, codex mcp, local or remote |
| Subagents | Yes; custom ones as Markdown in .claude/agents/ | Yes, on by default; custom ones as TOML in .codex/agents/ |
| Headless / scripting | claude -p, with --output-format json or stream-json | codex exec, with --json and --output-schema |
| Other surfaces | VS Code, JetBrains, desktop app, web at claude.ai/code, Claude mobile app | ChatGPT desktop app, IDE extension, Codex Cloud on ChatGPT web and mobile |
| Sessions on disk | ~/.claude/projects/<slug>/<id>.jsonl, grouped by project | Rollouts under $CODEX_HOME/sessions/YYYY/MM/DD, older ones compressed to .jsonl.zst |
| Resume in a terminal | claude --resume, once at process start | codex resume; a client resumes the thread before every turn |