一、Hook 配置写在哪里
Hook 配置写在 settings.json 的 hooks 字段中。三个位置可选:
选择原则:通用型 Hook(桌面通知、提示音)放用户级;项目相关的 Hook(代码格式化、测试触发)放项目级。本地级适合个人调试用途,不影响团队成员。
除手动编辑外,在 Claude Code 中输入 /hooks 可通过交互式菜单添加 Hook,菜单会引导选择事件、设置匹配器和输入命令。
二、JSON 三层嵌套结构
Hook 配置遵循固定的三层嵌套:
完整示例——文件编辑后自动格式化:
逐层含义:
同一事件下可配置多组匹配器,每组匹配不同工具并执行不同处理。同一匹配器下也可挂载多个处理器,它们并行运行。
三、配置元素解剖
通用 Handler 字段
每个处理器对象都支持以下字段: