在 CLAUDE.md 里写“不要直接改 main 分支”,模型大概率会遵守,但不是一定。Hook 不一样:它是在工具调用前后由程序执行的脚本,模型绕不过去。
我常用的三类:
- PreToolUse 拦截:命令里出现
rm -rf /、git push --force、读.env时直接拒绝。 - PostToolUse 检查:每次编辑完自动跑格式化和类型检查,失败就把错误原样喂回去,让它自己修。成功时保持安静,别刷屏。
- Stop 收尾:任务结束前跑一遍测试,没过就不算完成。
2026 年 10 月的新版本还加了 onFailure: "block":Hook 本身运行失败时也可以阻止动作,适合安全相关的检查。
一个原则:每条 Hook 都对应一次真实踩过的坑。这是 Harness 工程里最划算的一环。Codex 那边对应的做法是靠操作系统级沙箱,见 Codex 沙箱模式怎么选。
引用了本文的内容 · 8
- 长文章 · 2026.10.21AI 开发者阅读地图(2026 年 10 月)…用 Hooks 把规则变成硬约束…
- 长文章 · 2026.10.21怎么用好 Harness:模型之外的那一半…见用 Hooks 把规则变成硬约束。…
- 长文章 · 2026.10.20Claude Code 终端版的十个好习惯…编辑后自动格式化、跑类型检查,危险命令直接拦截,见用 Hooks 把规则变成硬约束。…
- 短笔记 · 2026.10.18Codex 沙箱模式怎么选…Claude Code 则反过来,靠应用层的Hooks管规则。…
- 长文章 · 2026.10.17一份好的 AGENTS.md / CLAUDE.md 长什么样…代码风格细则:交给 formatter 和 lint,用Hook自动跑。…
- 长文章 · 2026.10.16怎么审 AI 写的代码…关键规则用Hooks自动检查,审查时就不用再看。…
- 短笔记 · 2026.10.15先写验收标准,再让 AI 动手…能自动化的标准(构建通过、测试通过)可以交给Hook强制检查。…
- 长文章 · 2026.10.13一个人的 AI 开发流水线:从想法到上线…,写好 AGENTS.md / CLAUDE.md,配好格式化、lint、测试和Hooks。…