用途:指导为 Claude Code 编写事件驱动的钩子,用于监控、拦截或修改 Claude 的行为,例如阻止危险操作、写入后自动格式化、校验用户输入、初始化环境、审计工具调用等。
主要能力:文档列出 10 个钩子事件(PreToolUse、PermissionRequest、PostToolUse、Notification、UserPromptSubmit、Stop、SubagentStop、PreCompact、SessionStart、SessionEnd),说明哪些可阻断、哪些支持匹配器;给出退出码语义(0 成功并按 JSON 控制,2 为阻断错误,其他为非阻断错误);说明配置位置 ~/.claude/settings.json、.claude/settings.json、.claude/settings.local.json,以及环境变量如 $CLAUDE_PROJECT_DIR、$CLAUDE_CODE_REMOTE、$CLAUDE_ENV_FILE、$CLAUDE_PLUGIN_ROOT。
使用方式:按 6 个阶段工作流推进——需求收集、事件选择、匹配器设计、实现、安全加固、测试。实现可用内联命令、外部脚本或基于提示的 LLM 评估;给出 Bash 与 Python 脚本模板,从 stdin 读取 JSON,用 jq 或 json.load 解析字段,按需输出 decision、hookSpecificOutput 等。常用命令保持原样:/hooks、claude --debug、chmod +x script.sh。
适用场景:安全强制、代码质量自动化、合规审计、环境初始化、工作流自动化、输入校验与任务完成校验。文档明确不建议用钩子添加新能力(用 Skills)、委托复杂工作(用 Agents)、用户触发的提示(用 Commands)或简单一次性任务。
限制与风险:钩子以用户权限执行 shell 命令,需做输入验证、路径规范化、输出脱敏、失败即阻断、超时保护,并注意匹配器大小写敏感、脚本需加 shebang 与执行权限等常见陷阱。文档还包含模板、18 个示例及语法、最佳实践、故障排查参考文件。