Claude-code-plugins-plus-skills clade-debug-bundle
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/claude-pack/skills/clade-debug-bundle" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-clade-debug-bundle && rm -rf "$T"
manifest:
plugins/saas-packs/claude-pack/skills/clade-debug-bundle/SKILL.mdsource content
Anthropic Debug Bundle
Overview
When you need to file a support ticket or debug a persistent issue, collect these items.
Prerequisites
- Anthropic SDK installed
- An API error or issue to debug
- Access to application logs
Instructions
Step 1: Get the Request ID
Every Anthropic API response includes a
request-id header. This is the single most important thing for support tickets.
try { const message = await client.messages.create({ ... }); // Access response headers via the raw response } catch (err) { if (err instanceof Anthropic.APIError) { console.error('Request ID:', err.headers?.['request-id']); console.error('Status:', err.status); console.error('Error type:', err.error?.type); console.error('Message:', err.message); } }
Step 2: Log Full Error Details
function logAnthropicError(err: unknown) { if (err instanceof Anthropic.APIError) { const bundle = { timestamp: new Date().toISOString(), request_id: err.headers?.['request-id'], status: err.status, error_type: err.error?.type, error_message: err.message, rate_limit_remaining: err.headers?.['claude-ratelimit-requests-remaining'], rate_limit_reset: err.headers?.['claude-ratelimit-requests-reset'], }; console.error('Anthropic Debug Bundle:', JSON.stringify(bundle, null, 2)); return bundle; } console.error('Non-API error:', err); }
Step 3: Test with curl
# Minimal reproduction — include this in support tickets curl -v https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "claude-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 100, "messages": [{"role": "user", "content": "test"}] }' 2>&1 | grep -E "request-id|HTTP|error"
Step 4: Check Status
# API status curl -s https://status.anthropic.com/api/v2/status.json | python3 -m json.tool # Recent incidents curl -s https://status.anthropic.com/api/v2/incidents.json | python3 -c " import json, sys data = json.load(sys.stdin) for inc in data['incidents'][:3]: print(f\"{inc['created_at'][:10]}: {inc['name']} ({inc['status']})\") "
What to Include in Support Tickets
- Request ID (from
header)request-id - Timestamp (UTC)
- Model used
- Error type and message (full JSON)
- curl reproduction (sanitize your API key)
- SDK version (
ornpm list @claude-ai/sdk
)pip show anthropic
Python Debug
try: message = client.messages.create(...) except anthropic.APIStatusError as e: print(f"Request ID: {e.response.headers.get('request-id')}") print(f"Status: {e.status_code}") print(f"Error: {e.message}")
Output
- Request ID extracted from error response headers
- Full error bundle with timestamp, status, error type, and rate limit state
- curl command for minimal reproduction (ready to paste into support ticket)
- Anthropic API status and recent incidents checked
Error Handling
| Error | Cause | Solution |
|---|---|---|
| API Error | Check error type and status code | See |
Examples
See Step 1 (request ID extraction), Step 2 (full error logging), Step 3 (curl reproduction), and Step 4 (status check) above.
Resources
Next Steps
See
clade-common-errors for specific error solutions.