#1344·cc-haha

[功能] Hook 钩子可视化管理:在客户端内查看、编辑、启用/禁用 hooks 配置

Author: yy1588133Created Sep 18, 2026Updated Sep 18, 2026

提交前确认

  • 我已经阅读过现有功能文档,确认不是已有能力
  • 我已经搜索过现有 issues,确认没有重复建议
  • 我已经隐藏截图和日志中的 API Key、Token、Cookie 等敏感信息

你想要什么

希望客户端提供 Hook 管理界面:可以直接在 GUI 中查看当前项目/全局的 hooks 配置(settings.json 中的 hooks 字段),并支持增删改、启用/禁用,以及触发时机的选择(PreToolUse、PostToolUse、UserPromptSubmit、SessionStart、Stop 等)。

为什么需要

Claude Code 的 hooks 是自动化工作流的核心能力(例如工作流 Guard、提交前检查、通知等),但当前只能在客户端外手动编辑 settings.json

  1. JSON 嵌套结构(event → matcher → hooks 数组)手写容易出错,格式错误会导致 hook 静默失效;
  2. 无法一眼看到当前生效了哪些钩子、来自全局还是项目级配置;
  3. 调试困难——hook 执行失败或被阻止时,用户很难定位是哪条规则。

目前绕过方式是直接用编辑器改 settings.json,或依赖 MCP 工具(如 Reqable 自带的 hook 管理 API)逐条操作,效率低且不直观。

期望行为

  • 设置页新增「Hooks」标签页,按事件类型分组展示所有已配置钩子;
  • 区分来源(用户级 ~/.claude/settings.json vs 项目级 .claude/settings.json);
  • 支持图形化新增/编辑/删除钩子条目,写入时校验 JSON 结构;
  • 每条钩子可单独启用/禁用(等价于临时注释掉该条目);
  • 若能进一步显示 hook 的最近触发记录/执行状态(成功/失败/被阻止),会更实用。

现状与限制

当前客户端没有 hook 相关的管理入口,settings.json 中的 hooks 配置对用户不可见,只能在文件系统层面维护,与客户端「降低 Claude Code 使用门槛」的定位有差距。

参考与补充

  • 官方 hooks 文档:https://code.claude.com/docs/en/hooks
  • 类似思路:VS Code 各类 settings GUI、以及部分第三方客户端(如 Reqable 对自身 hook 的可视化管理)。