Skip to content

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

Open

Description

@yy1588133

提交前确认

  • 我已经阅读过现有功能文档,确认不是已有能力
  • 我已经搜索过现有 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 的可视化管理)。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions