Hooks

Hooks 用于在 session 内注册生命周期回调。管理路径是 registerHook()、 hookCount() 和 unregisterHook()。

事件包括 pre_tool_use、post_tool_use、generate_start、generate_end、session_start、session_end、skill_load、skill_unload、pre_prompt、post_response 和 on_error。

TypeScript
session.registerHook(
'release-publish-observer',
'pre_tool_use',
{ tool: 'bash', commandPattern: 'npm publish|twine upload|cargo publish' },
{ priority: 50, timeoutMs: 1000 },
() => ({ action: 'continue' }),
);

handler 可返回 continue、skip、block,或者返回空表示继续。委派和自动 subagent fan-out 都会走 task / parallel_task 路径;把 hook 当作生产关卡前, 应对产品实际依赖的 event path 做集成测试。