mcpField
C
claude-code-hooks

claude-code-hooks

github.com/0xdarkmatterAgent 工作流7839 次安装2 周前更新
代码仓库

关于 claude-code-hooks

claude-code-hooks 是用于配置 Claude Code 工具调用钩子的技能,面向需要在调用前后运行自定义脚本的开发者。它涵盖事件、匹配规则、配置方法和脚本安全注意事项。

主要功能

  1. 01工具调用前后运行脚本
  2. 02按事件与工具匹配钩子
  3. 03配置权限请求和会话事件
  4. 04通过标准输入接收 JSON
  5. 05提供调试与安全检查指导

适用场景

  1. 01执行 Bash 命令前拦截危险操作
  2. 02记录工具调用以供审计
  3. 03在会话开始时加载项目上下文
  4. 04为权限请求配置自定义审批

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/0xdarkmatter/claude-mods --skill claude-code-hooks

安装后在 Claude Code 中输入/claude-code-hooks确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
.gitkeep
references/
configuration.md
security-patterns.md
hook-events.md
scripts/
.gitkeep

详细介绍

Claude Code Hooks

在 Claude Code 工具调用前后执行自定义脚本。

快速参考

事件时机是否支持匹配器
PreToolUse工具执行前是
PostToolUse工具完成后是
PermissionRequest显示权限对话框时是
Notification发送通知时是
UserPromptSubmit用户提交提示词时否
StopAgent 完成时否
SubagentStop子 Agent 完成时否
PreCompact上下文压缩前否
SessionStart会话开始或恢复时否
SessionEnd会话结束时否

基本配置

添加到 ~/.claude/settings.json 或 .claude/settings.local.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "$CLAUDE_PROJECT_DIR/hooks/validate.sh",
        "timeout": 5000
      }]
    }]
  }
}

匹配器模式

模式匹配项
"Write"仅 Write 工具
"*" 或 ""所有工具
"mcp__*"所有 MCP 工具
"Bash"Bash 命令

Hook 脚本要求

#!/bin/bash
# Receives JSON via stdin: { "tool_name": "...", "tool_input": {...} }
INPUT=$(cat)
TOOL=$(echo "$INPUT" | jq -r '.tool_name')

# Exit codes:
# 0 = Success (continue)
# 2 = Block with error (stderr shown to Claude)
# Other = Non-blocking error

常见用例

用例事件示例
验证输入PreToolUse阻止危险命令
审计日志PostToolUse记录所有工具使用情况
自定义审批PermissionRequestSlack 通知
会话初始化SessionStart加载项目上下文

安全检查清单

  • 为所有变量添加引号:使用 "$VAR",而不是 $VAR
  • 验证路径(禁止使用 .. 遍历)
  • 使用 $CLAUDE_PROJECT_DIR 表示路径
  • 设置合理的超时时间
  • 处理 jq 解析错误

故障排除

# Debug hook loading
claude --debug

# List registered hooks
/hooks

# Test script manually
echo '{"tool_name":"Bash"}' | ./hooks/validate.sh

官方文档

更多资源

  • ./references/hook-events.md - 包含输入/输出架构的所有事件
  • ./references/configuration.md - 高级配置模式
  • ./references/security-ops.md - 生产环境安全

另请参阅: claude-code-debug 以进行故障排除,claude-code-headless 以实现 CLI 自动化

评论

支持 Markdown