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 是用户定义的 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 代理会话都会在明确定义的节点触发 hook 事件。以下是每个事件的含义以及您可以用它们做什么。
PreToolUse hook 在 Claude Code 运行任何工具(Bash、Edit、Write、Read、Grep 等)之前触发。这是护栏的完美落点:阻止危险命令、对破坏性操作要求确认、执行项目特定规则,或在执行前重写工具参数。从 hook 返回非零退出码将完全阻止该工具调用。对于注重安全的团队,PreToolUse 是最重要的 Claude Code hook。
PostToolUse hook 在任何 Claude Code 工具完成后立即触发。这是您连接自动后处理的地方:在每次 Edit 后运行格式化工具(Prettier、Black、rustfmt),在每次 Write 后触发 linter,在文件被修改时更新变更日志,或推送遥测事件。PostToolUse 是将 Claude Code 变成守纪律团队成员的面包和黄油级 hook,让代码库比它来时更干净。
UserPromptSubmit hook 在新的提示被发送到 Claude Code 代理时触发。用它来为审计与合规记录每一个提示、即时重写提示(注入上下文、抹除敏感信息)、将请求路由到不同模型,或强制命名约定。结合 AgentsRoom 的多代理仪表板,UserPromptSubmit 为您提供一个完整的审计轨迹,记录发送到每一个 Claude Code 代理的每一条指令。
Stop hook 在 Claude Code 代理会话结束时触发,无论是任务已完成还是被取消。这是运行清理任务、将最终摘要推送到跟踪系统、提交产物,或通知人类会话已结束的正确位置。AgentsRoom 用它自己的通知系统来补充 Stop hook,因此您会同时收到来自自定义 hook 和 AgentsRoom 桌面 + 移动推送通知的提醒。
Notification hook 在 Claude Code 发送系统通知时触发——通常是代理在等待用户输入或完成长时间运行的任务时。用它将通知路由到 Slack、Discord、Telegram、电子邮件或您喜欢的任何 webhook。AgentsRoom 已经在其多代理仪表板中原生呈现 Claude Code 通知,并作为手机上的推送通知,因此 Notification hook 是在其上添加自定义集成的完美位置。
SubagentStop hook 在 Claude Code 子代理完成其工作并将控制权返回给父代理时触发。如果您使用在 .claude/agents/*.md 中定义的 Claude Code 子代理委派专业化任务,SubagentStop 让您记录每个子代理做了什么、聚合它们的输出,或触发后续步骤。在 AgentsRoom 内部,SubagentStop 事件会显示在实时代理时间线中,因此您可以准确查看每个 Claude Code 会话中运行了哪些子代理。
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 编码团队的行为。
Claude Code hooks 产生事件。AgentsRoom 将这些事件转化为可视化信息流:每一次 hook 触发、每一次工具调用、每一次状态变化,按代理和按项目实时流式传输。您不再需要 tail 日志——您在实时观察您的 Claude Code 舰队工作。
没有 hooks,运行 Claude Code 意味着观察每一次工具调用。有了 hooks,您将观察委派给确定性代码,并在异常级别进行监督。AgentsRoom 放大了这一点:您可以同时看到所有受 hook 保护的 Claude Code 代理,只在真正需要您注意的时候才介入。
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 编码运营的一流可观测性层。
AgentsRoom 在完整的 xterm.js 终端内生成真正的 claude CLI 进程。在 .claude/settings.json、.claude/settings.local.json 或用户级设置中配置的任何 hook 都会自动触发,就像您从终端运行 Claude Code 一样。无补丁、无重写、无保真度损失。
并行运行 10、20、50 个启用 hooks 的 Claude Code 代理。AgentsRoom 的多代理仪表板会同时呈现每一个代理的 hook 触发通知和状态变化。您的 PreToolUse 护栏、PostToolUse 格式化工具和 Stop 处理程序都能在舰队规模下运行。
AgentsRoom 中的每个项目都有自己的 .claude/settings.json,因此有自己的 Claude Code hook 配置。侧边栏跨项目聚合实时状态,因此您可以发现哪些 hooks 正在何处触发、哪些代理因用户输入被阻塞,以及哪些 Stop hooks 刚刚完成了一次运行。
AgentsRoom 随附原生 macOS 通知和端到端加密的移动推送通知。Claude Code 的 Notification hook、Stop hook 和 SubagentStop hook 都会产生信号,AgentsRoom 会直接在您的桌面和手机上呈现。您可以离开电脑,仍然能知道什么时候 hook 告诉您该回来了。
下载 AgentsRoom,打开一个带有 .claude/settings.json hooks 的项目,启动一个 Claude Code 代理,实时观看每一个 hook 事件流入仪表板。
配套应用:随时随地监控你的 Agent
支持 Claude、Codex、OpenCode、Gemini CLI 和 Aider