Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Collect debug evidence for Anthropic API issues — request IDs, headers, Use when working with debug-bundle patterns. error payloads, and reproduction steps for support tickets. Trigger with "anthropic debug", "claude support ticket", "anthropic request id", "debug claude api call".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 132% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 109% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 23% | 0% |
When you need to file a support ticket or debug a persistent issue, collect these items.
Every Anthropic API response includes a request-id header. This is the single most important thing for support tickets.
typescripttry { 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); } }
typescriptfunction 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); }
bash# 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"
bash# 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']})\") "
request-id header)npm list @claude-ai/sdk or pip show anthropic)pythontry: 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}")
| Error | Cause | Solution | |-------|-------|----------| | API Error | Check error type and status code | See clade-common-errors |
See Step 1 (request ID extraction), Step 2 (full error logging), Step 3 (curl reproduction), and Step 4 (status check) above.
See clade-common-errors for specific error solutions.
Other measured skills in the registry, with their headline benchmark lift.