Claude Code / 参考
Claude Code 钩子
钩子可以在 Claude Code 的事件前后执行命令,用于格式化、检查、通知和自动化。

Hooks 是什么
Hooks 允许在 Claude Code 的工具调用前后、权限请求、提示处理或会话事件中运行自定义逻辑。它适合把格式化、测试、通知和安全阻断机械化。
Hooks 不只是自动执行脚本;它还能通过退出码、JSON 输出和 additionalContext 影响 Claude 下一步行为。
常见事件
官方 Hooks 文档覆盖事件、配置 schema、JSON 输入输出、退出码、异步 Hooks、HTTP Hooks、Prompt Hooks 和 MCP 工具 Hooks。
| Hook 类型 | 用途 |
|---|---|
| PreToolUse | 工具运行前检查或阻断。 |
| PostToolUse | 工具运行后格式化、测试、补充上下文。 |
| PermissionRequest | 自定义权限判断或审计。 |
| Prompt hooks | 处理或补充用户提示。 |
| HTTP hooks | 调用外部服务处理事件。 |
输出要克制
Hook 输出可能进入上下文。只把 Claude 需要知道的结果写入 additionalContext;大量日志应进 debug log 或外部系统。
{
"hookSpecificOutput": {
"additionalContext": "Lint passed for edited files."
}
}阻断危险动作
对删除、部署、生产数据库、密钥读取等高风险命令,用 PreToolUse 或权限规则阻断,比靠口头提醒更可靠。
完整使用要点
补充官方文档中容易被压缩遗漏的核心概念、操作顺序、权限边界和验证要求,方便中文学习者按页面完整学习。
Hooks 补充
Hooks 可以在 Claude Code 的工具调用前后、权限请求、提示处理或会话事件中运行逻辑。它们适合把格式化、测试、安全阻断、通知和上下文补充机械化。
- PreToolUse:命令前检查,阻断危险动作。
- PostToolUse:命令后格式化、测试、补充结果。
- PermissionRequest:自定义权限判断和审计。
- Prompt hooks:处理或补充用户提示。
- HTTP hooks:把事件发送到外部服务。
Hook 输出要克制。只有 Claude 下一步需要知道的结论才放入 additionalContext;大量日志应写到文件或外部系统,否则会污染上下文窗口。
学习检查清单
把本页内容落到真实任务中,用入口、上下文、权限、验证和团队规则五个维度检查是否真正掌握。
学习检查清单
读完本页后,不要只记住概念名。你应该能把“Claude Code 钩子”放回 Claude Code 的真实工程流程里:任务从哪里发起,系统会加载什么上下文,哪些动作需要审批,结果如何验证,失败时如何回退。
如果这是配置或参考页面,要特别确认配置放在哪里、是否会被提交、是否包含敏感信息、是否会扩大默认权限,以及如何在失败时排查实际生效的设置。
- 能用自己的话说明本页解决的具体问题,而不是只复述标题。
- 能写出一个最小示例任务,并标明目标、范围、禁止事项和验收标准。
- 能判断哪些信息应该放进当前提示,哪些应该沉淀到项目规则或配置里。
- 能说明哪些长期规则应该写进 CLAUDE.md,哪些运行行为应该交给 settings、permissions、Hooks、Skills 和 MCP。
- 能在任务完成后检查 diff、命令输出、测试结果、截图或 PR 说明,而不是只相信自然语言总结。
如果要把本页用于团队培训,可以让学员用 Claude Code 完成一个小任务:先只读解释,再提交计划,再执行最小改动,最后用真实验证命令和人工 diff 审查收尾。