Vibe Coding
返回 Claude Code

Claude Code / 参考

Claude Code 钩子

钩子可以在 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 审查收尾。