用途:为 Claude Code 插件编写钩子(Hook),通过事件驱动的自动化脚本响应 Claude Code 事件,实现操作校验、策略执行、上下文补充和外部工具集成。
主要能力:在工具执行前校验调用(PreToolUse);对工具结果作出反应(PostToolUse);执行完成标准检查(Stop、SubagentStop);加载项目上下文(SessionStart);以及覆盖开发周期的流程自动化。
钩子类型:提示型(prompt,推荐)用 LLM 进行上下文感知判断,支持 Stop、SubagentStop、UserPromptSubmit、PreToolUse;命令型(command)执行 bash 做确定性检查,适合快速校验、文件系统操作、外部工具集成和性能敏感检查。
配置格式:插件在 hooks/hooks.json 使用带 hooks 包装字段的格式;用户设置 .claude/settings.json 使用事件直接置于顶层的直接格式。插件钩子会与用户钩子合并并行执行。
事件与输出:PreToolUse 输出 permissionDecision(allow/deny/ask)与可选 updatedInput;Stop 输出 decision(approve/block)与 reason;通用输出含 continue、suppressOutput、systemMessage。退出码 0 为成功,2 为阻塞错误。
用法要点:命令中应使用 ${CLAUDE_PLUGIN_ROOT} 保证可移植;matcher 区分大小写,可用 |、* 与正则匹配工具名;命令钩子需校验输入、检查路径穿越、加引号、设置超时。
限制:钩子在会话启动时加载,修改配置需重启 Claude Code,不能热替换;匹配的钩子并行执行,彼此看不到输出且顺序不确定;调试可用 claude --debug,/hooks 查看已加载钩子。资料未提供具体收费标准或价格信息。