更新于

Claude Code vs Codex CLI 全面对比


CLI 形态的 AI 编程代理目前两大代表:Anthropic 的 Claude Code、OpenAI 的 Codex CLI。两者形态相似但理念差很多。本文按 8 个维度对比。

一、设计哲学

维度Claude CodeCodex CLI
协议Anthropic MessagesOpenAI Responses
默认模型Claude(Opus/Sonnet/Haiku)GPT(5/5-mini)
风格通用 agent强调安全沙箱
配置settings.jsonconfig.toml + profile

Claude Code 把”agent 能做什么”留给配置;Codex CLI 把”agent 能做什么”切得更死,沙箱更显眼。

二、安装与启动

# Claude Code
npm install -g @anthropic-ai/claude-code
claude

# Codex CLI
npm install -g @openai/codex
codex

第一次启动都需要配置 API key 与 base_url。Claude Code 用 4 个环境变量;Codex CLI 用 toml 文件。

三、工具集

工具Claude CodeCodex CLI
Read
Write
Edit
Bash✓(沙箱内)
Search/Grep
WebFetch部分
Notebook
Subagent✗(无 Subagent)
MCP实验

Claude Code 工具更全;Codex CLI 沙箱更严。

四、沙箱与权限

Claude Code

通过 .claude/settings.jsonpermissions 控制:

{
  "permissions": {
    "allow": ["Bash(npm test:*)", "Bash(git diff:*)"],
    "deny": ["Bash(rm -rf:*)", "Bash(git push --force:*)"]
  }
}

加上 hook 系统可以拦截到任意命令。

Codex CLI

内置三档沙箱:

sandbox_mode = "workspace-write"   # 默认
# read-only / workspace-write / danger-full-access

加 approval policy(never / on-request / on-failure)。

Codex CLI 的沙箱在 OS 层(Linux seccomp / macOS sandbox-exec)。安全性更高,但灵活性低。

五、长任务能力

维度Claude CodeCodex CLI
持续时长几小时几小时
Subagent✓(核心特性)
Background mode部分
Hook 拦截8 种部分
自动压缩
失败恢复

Claude Code 的 Subagent 是它最强的长任务利器。Codex CLI 没有 Subagent 这种结构,但 Background mode 能让任务挂在云端跑。

六、配置粒度

维度Claude CodeCodex CLI
项目级配置.claude/ 目录~/.codex/config.toml
Profile 切换通过 model env多 profile
Subagent 定义.claude/agents/*.md不支持
Hook8 种部分
团队共享完整可 committoml + 环境变量

Codex CLI 的 profile 系统切换模型很方便:

codex --profile daily      # Sonnet
codex --profile heavy      # Opus
codex --profile gpt5       # GPT-5

七、国内中转适配

维度Claude CodeCodex CLI
接入难度
协议要求Anthropic MessagesOpenAI Responses
中转覆盖广泛一般
base_url 配置ANTHROPIC_BASE_URLtoml base_url

关键差异:Codex CLI 用的是 Responses API(/v1/responses)。不是所有中转都支持。接入前用 curl 测一下。

八、模型选择

  • Claude Code 默认走 Claude 模型——通过 base_url 可以走中转下的所有 Anthropic 兼容模型。
  • Codex CLI 默认走 OpenAI 模型——但可以通过 model_providers 配置接入其他厂商。

通过同一个支持双协议的中转,两个工具都能调到 Claude/GPT/Gemini 全家。

九、典型场景

场景 1:长重构

# Claude Code
claude
> 用 architect subagent 规划这次重构,然后 dispatch 给 implementer subagent 执行

# Codex CLI
codex --profile opus
> 重构...(无 subagent,但可以 chained 思考)

Claude Code 的 Subagent 在这个场景更顺。

场景 2:跑测试 + 修 bug

# Claude Code
> 跑 npm test,每个失败用 debugger subagent 单独修

# Codex CLI
> 跑 npm test,把失败的逐个分析修复

打成平手。

场景 3:CI 集成

# Claude Code headless
claude --headless --task "review the PR" --max-turns 10

# Codex CLI exec
codex exec "review the PR" --approval never

两者都能用,体验接近。

十、按场景推荐

场景推荐
长任务自治、需要 SubagentClaude Code
安全敏感、需要沙箱Codex CLI
国内接入简单Claude Code
团队共享 hookClaude Code
多 profile 快速切换Codex CLI
OpenAI 生态深耕Codex CLI
接入 Claude 模型Claude Code

十一、组合用法

两个都装:

  • 日常 / 重任务 → Claude Code
  • 需要严格沙箱的脚本 → Codex CLI
  • 需要 OpenAI 独家工具 → Codex CLI

共享中转 API key,按场景切。

十二、相关阅读

用一把 Key 同时接 Claude Code 与 Codex CLI?YoTradeApi 同时支持 Anthropic Messages 与 OpenAI Responses 两个协议。