在 Claude 执行特定操作时自动触发脚本,把重复动作变成自动化

配置6 分钟

一、什么是 Hooks

Hooks 是你预设的自动化脚本。当 Claude 执行到特定操作——调用工具、完成任务、发出通知——你指定的命令会自动运行。

它和 Rule、CLAUDE.md 的区别在于确定性。CLAUDE.md 和 Rule 是行为指导,Claude 读了通常会遵守,但本质上是建议,偶尔会偏离。Hooks 是代码级执行,事件触发了就一定运行,没有"看情况"的空间。

打个比方:Rule 是贴在墙上的"请随手关灯"标语,Hooks 是装在门框上的感应开关——人走了灯一定灭。

Hooks 通过生命周期事件确定触发时机。Claude Code 提供了 25+ 种事件,覆盖从会话启动到工具调用再到任务完成的完整流程。最常用的四个:

  • Stop — Claude 完成任务时触发
  • Notification — Claude 发出通知时触发(比如等待你确认)
  • PreToolUse — 工具调用前触发,可以拦截危险操作
  • PostToolUse — 工具调用后触发,适合自动格式化等后处理

二、为什么需要它

三、怎么配置 Hooks

配置位置

配置文件是 settings.json,放在两个位置:

  • 项目级.claude/settings.json(当前项目生效,可以提交到 Git 共享给团队)
  • 全局级~/.claude/settings.json(所有项目生效)

项目级覆盖全局级。两层都配了同一事件时,项目级的配置优先。

基本示例

下面是一个最简单的 Hook——任务完成时播放提示音:

配置的三层结构:

  1. 事件名Stop)— 什么时候触发
  2. 匹配规则matcher)— 过滤条件,空字符串或省略表示全部匹配。对于 PreToolUse/PostToolUse 事件,可以用正则匹配工具名,比如 "matcher": "Edit|Write" 只拦截文件编辑操作
  3. 执行动作hooks 数组)— type 指定类型(command 最常用),command 写具体的 shell 命令

更多事件与类型

除了 Stop,其它几个实用事件:

付费内容

继续阅读完整课程

购买后即可解锁全部 16 个功能模块、实战场景与深度配置。

¥199¥399
  • 30 分钟完成第一个真实任务
  • 实战场景 + 深度配置
  • 长期访问,持续更新