Error Pattern Analysis
Analyze errors captured from Claude Code sessions to identify patterns and get actionable insights.
Quick Start
bash
/errors
Quick Analysis
bash
# Run batch analysis on last 24h of errors python .claude/scripts/analyze_errors.py # Analyze last 7 days python .claude/scripts/analyze_errors.py --days 7 # Generate markdown report python .claude/scripts/analyze_errors.py --report
What Gets Captured
The error collector hook captures:
- •Tool name (Bash, mcp__postgres-mcp__query, etc.)
- •Error message (first 500 chars)
- •Tool input (command/query that failed)
- •Timestamp and session ID
Location: .claude/logs/errors.jsonl
Current Error Rules
Check learned patterns that trigger warnings:
bash
cat .claude/rules/error_rules.json | jq '.rules[] | {id, signature, count: .occurrence_count}'
Files
| File | Purpose |
|---|---|
.claude/hooks/posttool/error-collector.sh | Captures errors to JSONL |
.claude/hooks/pretool/bash/error-pattern-warner.sh | Warns before risky commands |
.claude/scripts/analyze_errors.py | Batch pattern analysis |
.claude/rules/error_rules.json | Learned error patterns |
.claude/logs/errors.jsonl | Raw error log |
Common Patterns
PostgreSQL Connection Errors
code
pattern: role "X" does not exist fix: Use Docker connection: docker exec -it orchestkit-postgres-dev psql -U orchestkit_user -d orchestkit_dev pattern: relation "X" does not exist fix: Check MCP postgres server connection string - may be connected to wrong database
Related Skills
- •fix-issue: Fix identified errors
- •debug-investigator: Debug error root causes
Adding New Rules
Rules are auto-generated by analyze_errors.py when patterns repeat 2+ times.
For manual rules, edit .claude/rules/error_rules.json:
json
{
"id": "custom-001",
"pattern": "your regex pattern",
"signature": "human readable signature",
"tool": "Bash",
"occurrence_count": 1,
"fix_suggestion": "How to fix this"
}