Claude Code now supports Hooks
a year ago
- #Hooks
- #Claude Code
- #Automation
- Claude代码钩子允许用户通过注册在不同生命周期点执行的shell命令来自定义和扩展行为。
- 钩子提供确定性控制,确保操作始终执行而不依赖LLM的选择。
- 典型用例包括通知、自动格式化、日志记录、反馈和自定义权限。
- 钩子以完整用户权限执行,用户需自行负责安全防护。
- 配置过程涉及通过`/hooks`命令和设置文件添加匹配器和钩子。
- 钩子事件包括`PreToolUse`(工具使用前)、`PostToolUse`(工具使用后)、`Notification`(通知)和`Stop`(停止),各具特定行为。
- 钩子通过stdin接收JSON输入,可通过退出码或结构化JSON返回输出。
- MCP工具遵循命名模式(`mcp__<server>__<tool>`),可被钩子定向调用。
- 安全注意事项强调验证输入、使用绝对路径和避免敏感文件。
- 调试钩子需检查配置、测试命令并审查输出结果。