CODEX KNOWLEDGE

Codex 登录页与 exec 故障速查卡

2026/04/26 6 min read CODEX KNOWLEDGE 类 治理规则 类 工具工作流 形态 速查卡 目录 CODEX KNOWLEDGE CODEX 登录页与 EXEC 故障速查卡

Codex 登录页与 exec 故障速查卡

1. 看到官方欢迎登录页怎么办

现象

  • codex 打开后出现:
    • Sign in with ChatGPT
    • Sign in with Device Code
    • Provide your own API key

先看哪一层

  • live 启动桥:C:\ProgramData\npm-global\codex-launcher.cjs
  • live 配置:C:\Users\ASUS-KL\.codex\config.toml
  • live auth 读位:C:\Users\ASUS-KL\.codex\auth.json
  • secrets 真相源:C:\Users\ASUS-KL\.codex-secrets\auth.json

这次确认过的真根因

  • key 不一定丢了
  • 很可能只是:
    • C:\Users\ASUS-KL\.codex-secrets\auth.json 里有 key
    • C:\Users\ASUS-KL\.codex\auth.json 缺失
  • 当前官方 runtime 实际会读 ~\\.codex\\auth.json

已落地修复

  • C:\ProgramData\npm-global\codex-launcher.cjs 现在会在启动时自动把:
    • C:\Users\ASUS-KL\.codex-secrets\auth.json 镜像到:
    • C:\Users\ASUS-KL\.codex\auth.json

2. auth.json 应该看哪一份

当前真相分层

  • secrets 真相源:C:\Users\ASUS-KL\.codex-secrets\auth.json
  • runtime live 读位:C:\Users\ASUS-KL\.codex\auth.json

判断原则

  • 要改或核对持久真相,先看:
    • C:\Users\ASUS-KL\.codex-secrets\auth.json
  • 要判断 runtime 当前有没有机会读到 key,必须看:
    • C:\Users\ASUS-KL\.codex\auth.json

3. codex exec ... 为什么会掉回 interactive mode

现象

  • 明明执行的是:
    • codex exec --skip-git-repo-check "Reply with exactly OK"
  • 却返回:
    • Codex interactive mode
    • Error: stdin is not a terminal

当前唯一 live owner

  • C:\Users\ASUS-KL\.codex\gateway.ps1

这次确认过的真根因

  • gateway 顶部会尝试从 CODEX_FORWARD_ARGS_JSON 回填 $CodexArgs
  • 但那段逻辑在函数定义之前就调用了 ConvertFrom-JsonCompat
  • 于是异常被静默吞掉
  • $CodexArgs 留空
  • 最终被误判成 interactive mode

已落地修复

  • C:\Users\ASUS-KL\.codex\gateway.ps1 顶部回填逻辑改成直接调用内建 ConvertFrom-Json
  • 不再依赖脚本后面才定义的 helper

4. 启动时 skill frontmatter 报错怎么办

现象

  • 启动时刷:
    • failed to load skill ... SKILL.md: missing YAML frontmatter delimited by ---
    • invalid YAML

先看哪一层

  • 真文件:E:\My Project\Atramenti-Console\codex\skills\gsd\long-horizon-autoplan-debug\SKILL.md

这次确认过的真根因

  • 先是 UTF-8 BOM 污染了第一行 ---
  • 去掉 BOM 后,又暴露出 description 这类带冒号的值需要 YAML 安全引号

已落地修复

  • 该文件已重写为 UTF-8 无 BOM
  • frontmatter 也已改成合法 YAML

5. 一条最小体检链

Get-Content C:\Users\ASUS-KL\.codex\config.toml -First 12
Get-Content C:\Users\ASUS-KL\.codex-secrets\auth.json
Get-Content C:\Users\ASUS-KL\.codex\auth.json
powershell -NoProfile -ExecutionPolicy Bypass -File C:\Users\ASUS-KL\.codex\gateway.ps1 -CodexArgs @('exec','--skip-git-repo-check','Reply with exactly OK')

6. 这轮最终通过的真实验证

C:\Program Files\nodejs\node.exe C:\ProgramData\npm-global\codex-launcher.cjs C:\Users\ASUS-KL\bin\codex.cmd exec --skip-git-repo-check "Reply with exactly OK"
  • 期望结果:
    • provider: token_pool_public
    • 最终输出 OK
    • 退出码 0