生命周期事件

Claude Code 的 26 个生命周期事件是 Hook 的触发时机目录,掌握分类规则后按需查用

应用16 分钟

一、一句话摘要


二、为什么需要了解生命周期事件

Hook 配置的第一个字段是事件名。填错事件名,脚本写得再好也不会运行。

26 个事件散布在会话的不同阶段,各自有不同的干预权限——有些能阻断操作,有些只能旁观记录。事件选对了,Hook 才会在正确的时间点执行正确的操作。


三、核心内容

一次交互中的事件触发序列

Claude Code 处理一次完整请求时,事件按固定顺序触发。以下是最常见的主线路径:

几个可直接观察的默认行为:

  • 每次新建或恢复会话,SessionStart 最先触发,紧接着 InstructionsLoaded 为每个加载的 CLAUDE.md 和 Rules 文件各触发一次
  • Claude 每调用一次工具,PreToolUse 和 PostToolUse 各触发一次。一次对话中 Claude 可能调用多次工具,每次都是独立的事件对
  • Stop 在 Claude 完成一轮响应时触发。一次会话中 Stop 可能触发多次,SessionEnd 只在会话结束时触发一次

四类事件与匹配器

26 个事件按干预对象分为四大类。

会话与交互事件——围绕会话本身和用户行为触发:

事件触发时机匹配器过滤
SessionStart会话开始或恢复启动方式:startup / resume / clear / compact
SessionEnd会话终止结束原因:clear / resume / logout
UserPromptSubmit用户提交输入,Claude 处理前不支持匹配器
NotificationClaude 发送通知时通知类型:permission_prompt / idle_prompt
StopClaude 完成一次响应不支持匹配器
StopFailureAPI 错误导致回合结束错误类型:rate_limit / server_error
付费内容

继续阅读完整课程

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

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