让 Claude Code 帮你“看家“:Hooks 与 /loop 入门
让 Claude Code 帮你"看家":Hooks 与 /loop 入门
上周我把一个重构任务扔给 Claude,出门开了两小时会。回来发现它把 .env.production 改了。
那一刻我才意识到,单纯会用 Claude Code 还不够,你还得学会怎么管住它。折腾了一番之后找到了两个工具,今天分享给大家。
说白了就两件事
Hooks——Claude 做某件事的前后,偷偷插入你的脚本。可以叫停它、可以改它的行为、也可以在它收工时给你发个通知。
/loop——让 Claude 每隔一段时间自己去检查某件事。比如每半小时看一眼 CI 有没有挂,不用你守着。
记不住的话就记这一句:要管住它用 Hooks,要定时跑用 /loop。
Hooks:给 Claude 立规矩
有些文件不能碰
先解决我自己遇到的那个问题——怎么让 Claude 别动生产配置。
Claude Code 有个叫 PreToolUse 的时机,会在它写文件之前触发。我在这里加一个检查脚本,看到敏感文件名就直接叫停:
#!/bin/bash
# 保存为 ~/.claude/hooks/protect.sh
FILE=$(jq -r '.tool_input.file_path // empty')
if echo "$FILE" | grep -q "production"; then
echo "这个文件不能动,请手动修改:$FILE" >&2
exit 2
fi
exit 0
然后在 ~/.claude/settings.json 里登记一下:
{
"hooks": {
"PreToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/protect.sh"
}]
}]
}
}
写完记得 chmod +x ~/.claude/hooks/protect.sh,这一步很容易漏,漏了脚本静默失败,连错误提示都不会有。
有一个地方要注意:脚本里那个 exit 2 才是真正的"叫停"信号。很多人会误用 exit 1,结果 Claude 该干嘛还干嘛,只是多记了条日志。写进 stderr 的内容会作为原因反馈给 Claude,告诉它"为啥不行"。
干完活叫我一声
另一个配置我现在天天用——Claude 完成任务等我的时候,自动发系统通知。这样我可以离开去做别的事,不用守着屏幕。
用的是 Notification 事件:
{
"hooks": {
"Notification": [{
"hooks": [{
"type": "command",
"command": "osascript -e 'display notification "Claude 在等你" with title "Claude Code"'",
"async": true
}]
}]
}
}
macOS 直接用这个。Linux 把那行命令换成 notify-send "Claude Code" "在等你" 就行。
async: true 的意思是通知在后台发,不卡 Claude 的响应,加上比较好。
/loop:让它自己盯着
配置好 Hooks 之后,我还有一个需求:CI 跑完了我想知道,但我不想一直手动问。
在 Claude Code 里直接输:
/loop 30m check if the CI pipeline passed, summarize any failures
然后它就每 30 分钟自动去看一次。不用做别的配置,就这一行命令。
改间隔也很直白,30m 换 2h 就是每两小时,1d 就是每天。
用 /loop 之前要知道的坑
踩过才会懂,提前告诉你。
关了终端就没了。 这是最坑的一点。/loop 跑在当前会话里,不是系统后台进程。我第一次用的时候设好了定时任务,去泡了杯茶,回来发现终端关了,任务全没了。现在统一用 tmux 开 Claude:
tmux new-session -d -s claude 'claude'
这样 SSH 断了、终端关了都没关系,任务还在跑。
最多活三天。 任务到期自动删,没提醒,就消失了。需要长期跑的,还是老老实实用系统 cron。
时间不准。 你设 30 分钟,实际可能 27 分钟或 33 分钟才触发——官方故意加了随机抖动,防止一堆任务同时触发把 API 打爆。要精确调度的场景不适合用 /loop。
想继续深入?
这两个是最容易上手的配置,能解决日常八成的需求。
如果以后遇到"怎么让 Claude 在停下来之前先验证任务做没做完"这种场景,可以去看 Stop Hook——但那块涉及防死循环的细节,稍微有点绕,留到下一篇单独讲。
更多推荐


所有评论(0)