Home/数据 & AI/debug-hooks
D

debug-hooks

by @parcadeiv
4.4(121)

Provides a systematic workflow for debugging Claude Code hooks, resolving issues like untriggered hooks, incorrect output, or session termination, ensuring proper code execution.

AI DebuggingHook-Based MonitoringAgent ObservabilityExecution TracingLLM Interaction AnalysisGitHub
Installation
npx skills add parcadei/continuous-claude-v3 --skill debug-hooks
compare_arrows

Before / After Comparison

1
Before

When debugging Claude Code hooks, developers often encounter issues such as hooks not triggering as expected, abnormal output results, or unexpected session interruptions. The lack of a systematic troubleshooting process leads to a time-consuming and inefficient debugging process, making it difficult to quickly identify and resolve problems, severely hindering development progress.

After

After introducing a systematic debugging workflow, developers can follow clear steps to troubleshoot common issues such as Claude Code hooks not triggering, output errors, or session termination. This significantly improves debugging efficiency, ensures the stable operation of hook code, greatly shortens problem resolution time, and enhances development reliability.

description SKILL.md

debug-hooks

Debug Hooks Systematic workflow for debugging Claude Code hooks. When to Use "Hook isn't firing" "Hook produces wrong output" "SessionEnd not working" "PostToolUse hook not triggering" "Why didn't my hook run?" Workflow 1. Check Outputs First (Observe Before Editing) # Check project cache ls -la $CLAUDE_PROJECT_DIR/.claude/cache/ # Check specific outputs ls -la $CLAUDE_PROJECT_DIR/.claude/cache/learnings/ # Check for debug logs tail $CLAUDE_PROJECT_DIR/.claude/cache/.log 2>/dev/null # Also check global (common mistake: wrong path) ls -la ~/.claude/cache/ 2>/dev/null 2. Verify Hook Registration # Project settings cat $CLAUDE_PROJECT_DIR/.claude/settings.json | grep -A 20 '"SessionEnd"|"PostToolUse"|"UserPromptSubmit"' # Global settings (hooks merge from both) cat ~/.claude/settings.json | grep -A 20 '"SessionEnd"|"PostToolUse"|"UserPromptSubmit"' 3. Check Hook Files Exist # Shell wrappers ls -la $CLAUDE_PROJECT_DIR/.claude/hooks/.sh # Compiled bundles (if using TypeScript) ls -la $CLAUDE_PROJECT_DIR/.claude/hooks/dist/.mjs 4. Test Hook Manually # SessionEnd hook echo '{"session_id": "test-123", "reason": "clear", "transcript_path": "/tmp/test"}' | \ $CLAUDE_PROJECT_DIR/.claude/hooks/session-end-cleanup.sh # PostToolUse hook (Write tool example) echo '{"tool_name": "Write", "tool_input": {"file_path": "test.md"}, "session_id": "test-123"}' | \ $CLAUDE_PROJECT_DIR/.claude/hooks/handoff-index.sh 5. Check for Silent Failures If using detached spawn with stdio: 'ignore': // This pattern hides errors! spawn(cmd, args, { detached: true, stdio: 'ignore' }) Fix: Add temporary logging: const logFile = fs.openSync('.claude/cache/debug.log', 'a'); spawn(cmd, args, { detached: true, stdio: ['ignore', logFile, logFile] // capture stdout/stderr }); 6. Rebuild After Edits If you edited TypeScript source, you MUST rebuild: cd $CLAUDE_PROJECT_DIR/.claude/hooks npx esbuild src/session-end-cleanup.ts \ --bundle --platform=node --format=esm \ --outfile=dist/session-end-cleanup.mjs Source edits alone don't take effect - the shell wrapper runs the bundled .mjs. Common Issues Symptom Likely Cause Fix Hook never runs Not registered in settings.json Add to correct event in settings Hook runs but no output Detached spawn hiding errors Add logging, check manually Wrong session ID Using "most recent" query Pass ID explicitly Works locally, not in CI Missing dependencies Check npx/node availability Runs twice Registered in both global + project Remove duplicate Debug Checklist Outputs exist? (ls -la .claude/cache/) Registered? (grep -A10 '"hooks"' .claude/settings.json) Files exist? (ls .claude/hooks/.sh) Bundle current? (ls -la .claude/hooks/dist/) Manual test works? (echo '{}' | ./hook.sh) No silent failures? (check for stdio: 'ignore') Source Sessions Derived from 10 sessions (83% of all learnings): a541f08a, 1c21e6c8, 6a9f2d7a, a8bd5cea, 2ca1a178, 657ce0b2, 3998f3a2, 2a829f12, 0b46cfd7, 862f6e2c Weekly Installs178Repositoryparcadei/contin…laude-v3GitHub Stars3.6KFirst SeenJan 22, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode169codex167cursor165gemini-cli163github-copilot161amp154

forumUser Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs3.0K
Rating4.4 / 5.0
Version
Updated2026年4月27日
Comparisons1

User Rating

4.4(121)
5
31%
4
51%
3
17%
2
1%
1
0%

Rate this Skill

0.0

Compatible Platforms

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

Timeline

Created2026年3月17日
Last Updated2026年4月27日
🎁 Agent Knowledge Cards