Skip to content
SuperToken 文档 下载 Codex 整本 PDF

Codex 故障排除与速查 ​

排错先保存原始症状,再按安装、工作区、配置、权限、网络和外部服务逐层缩小范围。不要用扩大权限掩盖配置错误。

核对日期 2026-07-15 · 当前实测 CLI 0.144.3

先运行这组只读检查 ​

bash
codex --version
codex doctor --summary
git status --short --branch
pwd

需要保存脱敏诊断:

bash
codex doctor --json > codex-doctor.json

分享前仍要人工检查路径、用户名、仓库名和环境信息;“redacted”不等于可以直接公开整份文件。

按症状查找 ​

症状先检查不要先做
codex 找不到which codex、安装来源、shell PATH、重开终端同时用 npm 和 Homebrew 反复安装
登录或认证失败codex login、账号类型、系统时间、代理和组织策略把 Token 粘到聊天或截图里
打开了错误项目App 项目路径、CLI pwd、git rev-parse --show-toplevel用 --add-dir 开放更大范围来“找文件”
配置没有生效CODEX_HOME、用户/项目配置层、--strict-config同时修改所有层
权限弹窗太多当前 sandbox、approval、Rules 和动作原因直接切危险全权限
命令在终端能跑,Codex 里不能shell、PATH、Local Environment、工作目录把个人 shell 配置全部注入任务
网络请求失败sandbox、approval、目标域名、代理、组织策略开放无限网络或输出代理凭据
MCP 显示失败codex mcp list、启动命令、认证、作用域、服务日志重复添加同名服务
Review 不出现当前产品是否为 Codex、项目是否是 Git 仓库初始化 Git 前不看已有文件
Worktree 缺文件tracked 状态、setup、.gitignore、.worktreeinclude把所有忽略文件和密钥复制过去
Cloud 与本机结果不同基线、setup、运行时、网络和环境变量名假设 Cloud 是本机镜像

安装与 PATH ​

bash
which codex
codex --version
npm list -g @openai/codex --depth=0
brew list --cask codex

只保留你实际选择的安装渠道。更新后版本仍旧时,检查 which codex 指向的路径是否来自另一个 Node 版本管理器或旧安装。

目录与 Git 状态 ​

bash
pwd
git rev-parse --show-toplevel
git status --short --branch

如果 pwd 在仓库子目录,而任务需要整个仓库,可以用 -C 明确根目录。只有确实跨仓库共享包时才使用 --add-dir。

发现已有修改时:

text
不要修改。先区分当前 diff 中哪些改动在本次会话开始前就存在,哪些是你产生的。不要还原任何无法确认所有者的内容。

配置解析与作用域 ​

bash
codex --strict-config
codex -c 'approval_policy="on-request"' -s read-only

一次性覆盖能帮助判断问题来自配置还是程序本身。按真实优先级从高到低检查:CLI flags 与 -c > 受信任项目中离当前目录最近的 .codex/config.toml > 选中的 profile > 用户 $CODEX_HOME/config.toml > 系统配置 > 内建默认值。

管理员 requirements.toml 与工作区策略是约束,不是普通覆盖层;即使高优先级配置请求了某个值,管理员仍可禁止它。未信任项目不会加载项目 .codex 配置、Hooks 或 Rules。

不要在排错记录中贴完整配置;保留相关键并遮盖 endpoint、路径和凭据。

Approval 与 Sandbox ​

权限被拒绝时先读失败信息:是文件不在 writable root、网络被禁、命令需要审批,还是组织策略禁止。

只读复现:

bash
codex -s read-only -a untrusted

日常开发基线:

bash
codex -s workspace-write -a on-request

如果某动作仍失败,解释它为什么需要更大范围,并只增加对应目录或规则。不要把 danger-full-access 当诊断开关,因为它会同时改变太多变量并扩大风险。

网络与代理 ​

检查顺序:

  1. 任务是否真的需要网络。
  2. 当前 surface 是 Local、Worktree 还是 Cloud。
  3. sandbox 和 approval 是否允许网络动作。
  4. 组织是否限制目标域名或开发者模式。
  5. 代理是否只在交互 shell 中设置,App/IDE 是否读取到。
  6. 目标服务自身是否需要登录、VPN 或额外权限。

本地 workspace-write 中 spawned commands 默认不能联网。确需命令网络时使用 [sandbox_workspace_write] network_access = true,不要直接改成全权限。Web search 是独立控制面:普通本地任务默认 cached,--search 或 web_search = "live" 才会取实时结果,而且不会为每次搜索单独请求审批;--yolo 或其他 full-access sandbox 设置则默认 live。Browser、apps/connectors 和 Cloud agent 网络也分别受自己的设置控制。

不要让 Codex 输出代理 URL 中的用户名、密码或 Token。能用允许域名解决时,不开放任意网络。

MCP ​

bash
codex mcp list
codex mcp --help

逐项确认:

  • 名称与作用域是否正确。
  • stdio 启动命令能否在同一环境独立运行。
  • HTTP endpoint 是否可达,认证是否过期。
  • App/IDE 是否需要重启或新任务才能读取新配置。
  • 工具是否被组织策略、插件状态或当前任务权限禁用。

先用无副作用查询验证连接,再尝试写操作。

IDE 与 App 上下文不同 ​

  1. 确认 App 和 IDE 打开的是同一真实路径,而不是同名 Worktree。
  2. 确认两个 surface 使用预期登录、CODEX_HOME 和受信任项目。
  3. IDE 通过 chatgpt.addToThread / chatgpt.addFileToThread 明确加入上下文;不要假设 App 自动得到 IDE 的选区、未保存内容或活跃任务。
  4. 每次切换入口后重新报告路径、Git HEAD、diff 和完成标准。
  5. 重启扩展或 App 后新建最小测试任务,判断问题来自历史任务还是配置层。

Worktree 与 Handoff ​

查看 Git worktree:

bash
git worktree list
git status --short --branch

错误 branch is already used by worktree 表示同一分支已在另一个 worktree checkout。使用 App 的 Handoff,或给两个工作区使用不同分支;不要强行删除仍在使用的 worktree 元数据。

依赖缺失时优先修 Local Environment setup。忽略文件确需复制时只列最小 .worktreeinclude,并检查 secret 生命周期。

Cloud ​

要求任务先输出环境事实:

text
不要修改。报告当前提交、操作系统、运行时版本、依赖状态、可用验证命令、环境变量名称和网络限制。不要输出 secret 值。

对比本机与 Cloud:基线提交、锁文件、setup 输出、运行时、网络、时区和外部服务 endpoint。先解决环境差异,再判断代码是否有问题。

会话开始跑偏 ​

使用短指令恢复控制:

text
停下,不要继续修改。把当前内容分为已验证事实、仍是推测、已产生的 diff 和下一步最小实验。
text
回到原始完成标准。列出哪些修改超出范围;不要还原我原有的未提交改动。
text
压缩会话时只保留:原始需求、已确认根因、修改文件、验证结果、失败结果和未完成步骤。

目标或仓库已经改变时开新任务,比不断压缩旧上下文更可靠。

命令速查 ​

bash
# 健康检查
codex doctor --summary
codex doctor --json

# 交互会话
codex -C /path/to/repo
codex -s read-only -a untrusted
codex resume --last
codex fork --last

# 非交互
codex exec -s read-only "只读分析,不修改"
codex exec --json -s read-only "输出事件流"
codex review --uncommitted
codex review --base main

# 扩展
codex mcp list
codex plugin --help

请求支持前准备 ​

提供:

  • Codex CLI 和 App/IDE 版本。
  • 操作系统、入口和最小复现步骤。
  • 脱敏后的完整错误文本。
  • codex doctor --summary 或经人工检查的 JSON 相关部分。
  • 当前目录类型、Git 状态和是否使用 Worktree/Cloud。
  • 已尝试的最小配置覆盖,以及结果有什么变化。

不要提供:API Key、浏览器 cookies、完整 .env、私人会话、客户仓库源码或未脱敏日志。

SuperToken - 让全球顶级 AI 模型触手可达