Claude Hooks
Claude Hooks 是用户定义的 shell 命令,Claude Code 在生命周期固定点执行。官方文档强调它和技能的差别:钩子是确定性的。格式化、通知、保护文件拦截、权限自动批准总会跑,而不是等模型想起来。需要判断时可以用基于提示或智能体的钩子。也有给远端监听器用的 HTTP 钩子。
当前指南的例子包括:Claude 等输入时的桌面通知、编辑后自动格式化、拦截对保护文件的写入、压缩后回注上下文、审计配置变更、目录变化时重载环境。匹配器可按工具名和参数过滤。钩子写在设置文件(用户或项目)里,不要写在聊天里。
核心功能
- 生命周期 shell:文档提到 UserPromptSubmit、PreToolUse、PostToolUse、Stop,以及通知类钩子。
- 输入输出约定:从 stdin 读 JSON,可返回结构化 JSON 或退出码。
- 匹配器:把钩子限制在某个工具或参数模式。
- 基于提示和智能体的钩子:规则不是正则时再用模型。
- 不是技能:技能教,钩子执行。
适用场景
- 每次编辑后格式化和 lint。
- 禁止写入密钥或生成文件。
- 智能体在等待时通知你,这样可以离开终端。
定价
钩子随 Claude Code 提供,没有单独 SKU。你仍付跑会话的 Claude 方案或 API。再核 claude.com/pricing。
快速开始
- 读 Automate actions with hooks。
- 按入门走查,在设置文件里加
hooks块。 - 先做通知钩子,再做 PostToolUse 格式化。
- 需要 schema 时用该指南链出的 hooks reference。
常见问题
钩子能拦住 Claude 吗?
能。官方例子包括拦截编辑和自动批准特定权限。依赖拦截前先读退出码和 JSON 输出规则。
钩子和技能?
技能是按需加载的说明。钩子在事件上总会触发。两者一起用:技能管流程,钩子管闸门。
放在哪?
设置文件里,也可以打进 插件。
替代方案
- Claude Skills:流程,不是强制。
- Claude Plugins:分发钩子的方式。
- Claude Code:宿主。
使用技巧
- 钩子保持短而无聊。太长的 LLM 钩子会变成第二个智能体。
- 记录钩子失败。沉默的格式化器会浪费整场会话。
- 回看 reference 里的事件名。集合已经超出早期五事件博文。
总结
钩子让 Claude Code 服从仓库。从 hooks 指南 开始,先加通知和格式化,再打包其余。
评论
还没有评论。成为第一个评论的人!
相关工具
Claude Skills
code.claude.com/docs/en/skills
Claude Code 的技能是按需加载的 SKILL.md 包。自定义斜杠命令已并入技能,并遵循 Agent Skills 开放标准。
Claude Plugins
code.claude.com/docs/en/discover-plugins
把技能、智能体、钩子和 MCP 打成带版本的 Claude Code 包。用 /plugin 或 enabledPlugins 从官方市场安装。
Claude Subagents
code.claude.com/docs/en/sub-agents
Claude Code 会话中带独立上下文、工具与权限的专用 worker,用来做检索和日志整理,避免淹没主会话。
相关洞察
Skills + Hooks + Plugins:Anthropic 如何重新定义 AI 编程工具的扩展性
深入解析 Claude Code 的 Skills、Hooks 和 Plugins 三位一体架构,探讨为什么这种设计比 GitHub Copilot 和 Cursor 更先进,以及它如何通过开放标准重新定义 AI 编程工具的扩展性。
Claude Skills 完全指南 - 十大必备 Skills 详解
深入解析 Claude Skills 扩展机制,详细介绍十大核心技能及 Obsidian 集成,帮助你打造高效的 AI 工作流
Claudesidian:让 Obsidian 变成 AI 驱动的第二大脑
通过 Claudesidian 这个开源项目,将 Obsidian 笔记系统与 Claude Code 完美结合。内置 PARA 方法、自定义命令、自动化工作流,从想法到实现的完整解决方案。