Claude Code Hooks

Claude Code Hooks,可视化呈现。

Claude Code hooks 允许您在 Claude Code 生命周期的每个关键事件上运行确定性的 shell 命令:在使用工具之前、使用工具之后、提交提示时、代理停止时或发送通知时。AgentsRoom 是可视化指挥中心,让您能够跨数十个项目、在数十个 Claude Code 代理之间实时观察每一次 hook 触发。

Hooks 是 Anthropic 官方为 Claude Code 添加确定性自动化、护栏、审计跟踪和自定义副作用的方式。AgentsRoom 不会替代您的 hooks。它运行真正的 Claude Code CLI,因此您在 .claude/settings.json 中配置的每一个 hook 都将按预期精确工作。AgentsRoom 所增加的是可见性:一个实时仪表板,让您可以按代理、按项目、按运行查看每一次 hook 触发。

什么是 Claude Code hooks?

Claude Code hooks 是用户定义的 shell 命令,Claude Code 会在代理会话期间的特定节点自动执行它们。它们在 .claude/settings.json(共享,提交到 git)或 .claude/settings.local.json(个人,gitignored)中配置,为您的 Claude Code 代理行为提供确定性的控制。提示是概率性的,而 hook 是 100% 确定性的:每次匹配的事件触发时它都会运行,没有例外。

Hooks 是 Anthropic 针对护栏、自动化、遥测、审计日志和自定义集成需求的答案。您可以使用 Claude Code hooks 在每次编辑后自动格式化代码,在运行前阻止危险命令,将每次工具调用记录到文件,在代理等待输入时发送桌面通知,在会话结束时触发 CI 任务,或将每个提示流式传输到可观测性后端。任何您能编写的 shell 命令,都可以连接到 Claude Code hook。

由于 hooks 存在于项目本身(.claude/settings.json 被提交到 git),它们会随您的代码库一起传播。团队中的每一位开发者,以及从该项目派生出的每一个 AI 代理,都会继承同一张安全网。AgentsRoom 端到端尊重这一模型:桌面应用不会重写您的 hooks,它作为子进程运行真正的 Claude Code CLI,它会像您从终端运行 claude code 一样,自动读取您的 hook 配置。

Claude Code 的 6 个 Hook 事件

每一次 Claude Code 代理会话都会在明确定义的节点触发 hook 事件。以下是每个事件的含义以及您可以用它们做什么。

PreToolUse

PreToolUse hook 在 Claude Code 运行任何工具(Bash、Edit、Write、Read、Grep 等)之前触发。这是护栏的完美落点:阻止危险命令、对破坏性操作要求确认、执行项目特定规则,或在执行前重写工具参数。从 hook 返回非零退出码将完全阻止该工具调用。对于注重安全的团队,PreToolUse 是最重要的 Claude Code hook。

PostToolUse

PostToolUse hook 在任何 Claude Code 工具完成后立即触发。这是您连接自动后处理的地方:在每次 Edit 后运行格式化工具(Prettier、Black、rustfmt),在每次 Write 后触发 linter,在文件被修改时更新变更日志,或推送遥测事件。PostToolUse 是将 Claude Code 变成守纪律团队成员的面包和黄油级 hook,让代码库比它来时更干净。

UserPromptSubmit

UserPromptSubmit hook 在新的提示被发送到 Claude Code 代理时触发。用它来为审计与合规记录每一个提示、即时重写提示(注入上下文、抹除敏感信息)、将请求路由到不同模型,或强制命名约定。结合 AgentsRoom 的多代理仪表板,UserPromptSubmit 为您提供一个完整的审计轨迹,记录发送到每一个 Claude Code 代理的每一条指令。

Stop

Stop hook 在 Claude Code 代理会话结束时触发,无论是任务已完成还是被取消。这是运行清理任务、将最终摘要推送到跟踪系统、提交产物,或通知人类会话已结束的正确位置。AgentsRoom 用它自己的通知系统来补充 Stop hook,因此您会同时收到来自自定义 hook 和 AgentsRoom 桌面 + 移动推送通知的提醒。

Notification

Notification hook 在 Claude Code 发送系统通知时触发——通常是代理在等待用户输入或完成长时间运行的任务时。用它将通知路由到 Slack、Discord、Telegram、电子邮件或您喜欢的任何 webhook。AgentsRoom 已经在其多代理仪表板中原生呈现 Claude Code 通知,并作为手机上的推送通知,因此 Notification hook 是在其上添加自定义集成的完美位置。

SubagentStop

SubagentStop hook 在 Claude Code 子代理完成其工作并将控制权返回给父代理时触发。如果您使用在 .claude/agents/*.md 中定义的 Claude Code 子代理委派专业化任务,SubagentStop 让您记录每个子代理做了什么、聚合它们的输出,或触发后续步骤。在 AgentsRoom 内部,SubagentStop 事件会显示在实时代理时间线中,因此您可以准确查看每个 Claude Code 会话中运行了哪些子代理。

为什么 Claude Code Hooks 很重要

Hooks 将 Claude Code 从一个令人印象深刻的 AI 变成您整个团队都能信赖的生产级编码代理。

确定性安全护栏

提示是概率性的,可能被绕过。Claude Code hooks 是始终运行的确定性 shell 命令。PreToolUse hook 可以阻止任何 rm -rf、任何 push --force、任何破坏性迁移——无论代理如何表述其推理。这是安全关键型 Claude Code 部署的黄金标准。

零成本自动化

将 Claude Code hooks 连接到您的格式化工具、linter、测试运行器、类型检查器和构建脚本。代理进行的每次编辑都会触发与您的 CI 流水线相同的检查——本地、即时、自动完成。您的 Claude Code 代理将变成自律的贡献者,永远不会忘记运行格式化工具。

完整的审计跟踪

每一个提示、每一次工具调用、每一次会话的启动和停止都可以被 Claude Code hooks 记录。结合 AgentsRoom 的可视化时间线,您可以获得每一次 AI 编码代理动作的完整审计跟踪——这对合规要求高的团队、注重安全的公司以及任何认真对待可观测 AI 开发的人来说都是必不可少的。

团队范围的约定

由于 .claude/settings.json 被提交到 git,单一的 Claude Code hooks 配置集为团队中的每一位开发者和从项目派生的每一个 AI 代理强制执行相同的约定。新团队成员在克隆仓库的那一刻就继承了护栏。通过一次 pull request 升级整个 AI 编码团队的行为。

实时 Hook 可观测性

Claude Code hooks 产生事件。AgentsRoom 将这些事件转化为可视化信息流:每一次 hook 触发、每一次工具调用、每一次状态变化,按代理和按项目实时流式传输。您不再需要 tail 日志——您在实时观察您的 Claude Code 舰队工作。

从观察转向监督

没有 hooks,运行 Claude Code 意味着观察每一次工具调用。有了 hooks,您将观察委派给确定性代码,并在异常级别进行监督。AgentsRoom 放大了这一点:您可以同时看到所有受 hook 保护的 Claude Code 代理,只在真正需要您注意的时候才介入。

Claude Code Hooks + AgentsRoom

AgentsRoom 是 Claude Code 和其他 AI 编码 CLI 的可视化指挥中心。它不会 fork Claude Code,不会重新实现 hooks,也不会拦截工具调用。它在完整的 xterm.js 终端内作为子进程运行真正的 Claude Code CLI,这意味着您在 .claude/settings.json 或 .claude/settings.local.json 中定义的每个 hook 都将完全按照 Anthropic 的设计运行——没有折衷、没有意外、没有隐形的中间件。

AgentsRoom 增加的是规模和可见性。您可以并行运行数十个 Claude Code 代理,跨越数十个项目,每一个都有自己的 hook 配置,并在一个仪表板上看到每一次 hook 触发。结合 AgentsRoom 的每代理通知、移动端伴侣应用和实时状态跟踪,Claude Code hooks 成为您整个 AI 编码运营的一流可观测性层。

运行真正的 Claude Code CLI

AgentsRoom 在完整的 xterm.js 终端内生成真正的 claude CLI 进程。在 .claude/settings.json、.claude/settings.local.json 或用户级设置中配置的任何 hook 都会自动触发,就像您从终端运行 Claude Code 一样。无补丁、无重写、无保真度损失。

跨多代理舰队的 Hook 事件

并行运行 10、20、50 个启用 hooks 的 Claude Code 代理。AgentsRoom 的多代理仪表板会同时呈现每一个代理的 hook 触发通知和状态变化。您的 PreToolUse 护栏、PostToolUse 格式化工具和 Stop 处理程序都能在舰队规模下运行。

跨项目 Hook 可见性

AgentsRoom 中的每个项目都有自己的 .claude/settings.json,因此有自己的 Claude Code hook 配置。侧边栏跨项目聚合实时状态,因此您可以发现哪些 hooks 正在何处触发、哪些代理因用户输入被阻塞,以及哪些 Stop hooks 刚刚完成了一次运行。

桌面 + 移动通知

AgentsRoom 随附原生 macOS 通知和端到端加密的移动推送通知。Claude Code 的 Notification hook、Stop hook 和 SubagentStop hook 都会产生信号,AgentsRoom 会直接在您的桌面和手机上呈现。您可以离开电脑,仍然能知道什么时候 hook 告诉您该回来了。

Claude Code Hooks 常见问题

用一句话来说,Claude Code hooks 是什么?+
Claude Code hooks 是用户定义的 shell 命令,Claude Code 会在特定的生命周期事件(PreToolUse、PostToolUse、UserPromptSubmit、Stop、Notification、SubagentStop)上自动运行它们,为您的 AI 编码代理行为提供确定性的控制。
Claude Code hooks 在哪里配置?+
Claude Code hooks 位于 .claude/settings.json(提交到 git,与团队共享)或 .claude/settings.local.json(gitignored,个人使用)。两个文件都会被 Claude Code CLI 自动读取。AgentsRoom 运行真正的 Claude Code CLI,因此它在没有任何额外配置的情况下尊重这两个文件。
AgentsRoom 会替代 Claude Code hooks 吗?+
不会。AgentsRoom 不会替代、重写或拦截 Claude Code hooks。它作为子进程运行真正的 Claude Code CLI,这意味着您的 hooks 会完全按照 Anthropic 的设计继续运行。AgentsRoom 的角色是在 hook 驱动的 Claude Code 会话之上为您提供一个可视化指挥中心和多代理仪表板。
我可以在 AgentsRoom 中监控 Claude Code hook 事件吗?+
可以。AgentsRoom 实时流式传输每一次 Claude Code 会话的输出,包括 hook 触发的事件(格式化工具输出、护栏拒绝、通知消息、子代理停止)。多代理仪表板跨每一个正在运行的代理聚合状态,因此您可以一目了然地发现哪些 hooks 在哪里触发。
最值得开始使用的 Claude Code hook 是哪一个?+
对大多数团队而言,PostToolUse 是价值最高的第一个 hook:将它连接到您的格式化工具和 linter,这样每一次 Edit 都会立即被清理。对于安全关键型项目,PreToolUse 不可或缺:在代理运行之前阻止破坏性的 Bash 命令。一旦这些就位,再添加 UserPromptSubmit 用于审计日志和 Stop 用于完成遥测。
AgentsRoom 在 Claude Code hooks 上免费使用吗?+
是的。AgentsRoom 可免费下载并用于最多 3 个项目。使用您自己的 Anthropic 订阅或 API 密钥。您在 .claude/settings.json 中配置的每一个 hook、每一个 PreToolUse 护栏、每一个 PostToolUse 格式化工具都会立即工作——无额外设置、无额外费用。

实时观察您的 Claude Code Hooks 触发

下载 AgentsRoom,打开一个带有 .claude/settings.json hooks 的项目,启动一个 Claude Code 代理,实时观看每一个 hook 事件流入仪表板。

免费下载 AgentsRoom

配套应用:随时随地监控你的 Agent

支持 Claude、Codex、OpenCode、Gemini CLI 和 Aider

多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览