Codex hooks 拿不到退出码?stalegreen 用 PreToolUse 重写命令,拦下 26% 的假通过
SmiLePLSSS · reddit · 2026-09-03
作者在给 Codex 加支持时发现:Codex 的 PostToolUse hook 对 shell 命令只返回原始输出,退出码 3 和 0 看起来一模一样,Agent 无法判断验证命令是否真的通过。
解决思路:PreToolUse hook 重写验证命令(pytest、pnpm test、tsc、eslint、cargo test、next build 等约 80 种 runner),让它们自己打印退出码并把完整输出写入日志;仅对验证命令给 allow 决策。工具随后把每次运行记录为「回执」,当 Agent 以「all tests pass」结束回合,但该结果早于其自身编辑、或失败、或被隐藏时,就把 stop 转为一次 continuation prompt 要求重跑。
在作者自己的 Claude Code 历史中,26% 的「全绿」宣称是过时结果,98% 的验证运行隐藏了退出码。安装只需 npx stalegreen install --codex,写入 /.codex/hooks.;也可作为 Claude Code 插件和 DeepSeek Harness 插件使用。开源地址:github.com/pavangupta352/stalegreen。
「编程与Agent」频道最新
- Software World:用智能体运营的「GitHub」,多 agent 协作优化 Python 依赖链 — ZimingLiu11 · 2026-09-03
- 南大 Specula 用 Claude Code 自动生成 TLA+,已挖出 382 个深层并发 bug — jiqizhixin · 2026-09-03
- AI agent 替用户网购球衣:13 分钟下单,但也留下隐患 — jeff_weinstein · 2026-09-03
- Cursor 推出 Self-Hosted Machines,云端推理+企业本地执行 — xiaohu · 2026-09-03
- Hands-On AI Engineering 开源仓库:3k 星,覆盖 RAG、OCR、多智能体实战代码 — tom_doerr · 2026-09-03
- Google 工程师质疑:编码 Agent 流程里二进制身份认证是否真有用武之地 — rakyll · 2026-09-03