Claude Code 使用手册 · 第 7 章 Hooks 钩子 章节摘要:Hooks 是响应会话事件的自动化脚本——工具调用、会话启停、任务完成时自动执行,实现自动化、校验、权限管理与自定义工作流。共 31 个事件,分四组:Tool 组(工具前后)、Session 组(会话生命周期)、Task 组(任务与子代理)、Lifecycle 组(工作树)。五种 handler 类型:command(Shell 命令)、http(Webhook)、prompt(LLM 评估)、mcptool(直接调 MCP 工具)、agent(子代理评估)。
章节摘要:Hooks 是响应会话事件的自动化脚本——工具调用、会话启停、任务完成时自动执行,实现自动化、校验、权限管理与自定义工作流。共 31 个事件,分四组:Tool 组(工具前后)、Session 组(会话生命周期)、Task 组(任务与子代理)、Lifecycle 组(工作树)。五种 handler 类型:command(Shell 命令)、http(Webhook)、prompt(LLM 评估)、mcp_tool(直接调 MCP 工具)、agent(子代理评估)。协议:JSON 经 stdin 输入,exit 0 放行 / exit 2 阻断(阻断原因写 stderr);结果经 JSON stdout 返回(permissionDecision/block/updatedInput 等)。本章共 3 节。
一句话主线:认识 31 个事件与四组分类 → 学会配置与 matcher → 掌握五种 handler → 用 exit-code 协议写出安全可靠的钩子。
阅读完本章,你应当能够:
if 参数条件过滤。31 事件四组分类与可阻断性;配置位置(用户/项目/本地/插件/组件 frontmatter);matcher 模式与 if 参数条件;五种 handler 类型逐一说明。
命令校验(validate-bash 阻断危险命令)、安全扫描(security-scan 找硬编码密钥)、自动格式化(format-code)、提示词校验(validate-prompt)、智能 Stop 评估、上下文用量追踪(context-tracker 双钩配对)、Auto 模式权限种子脚本、学习进度记录(session-end 交互式日志)。
exit 0/2/其他三态行为;JSON 输入输出字段;PreToolUse 权限决策(allow/deny/ask/defer 优先级);PostToolUse 的 block 与 continueOnBlock;调试方法(独立喂 JSON 测试);安全注意事项与常见坑(引号、路径、stderr 静默、Stop 死循环上限)。
前置知识:第 2 章斜杠命令、第 6 章 MCP(mcp_tool 钩子直接调 MCP 工具)。
后续延伸:第 8 章插件(hooks/hooks.json 是插件四要素之一)、第 9 章检查点(PreCompact/PostCompact 事件)。