> clade-debug-bundle

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".

fetch
$curl "https://skillshub.wtf/jeremylongshore/claude-code-plugins-plus-skills/clade-debug-bundle?format=md"
SKILL.mdclade-debug-bundle

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

  1. Request ID (from request-id header)
  2. Timestamp (UTC)
  3. Model used
  4. Error type and message (full JSON)
  5. curl reproduction (sanitize your API key)
  6. SDK version (npm list @claude-ai/sdk or 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

ErrorCauseSolution
API ErrorCheck error type and status codeSee clade-common-errors

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.

┌ stats

installs/wk0
░░░░░░░░░░
github stars1.7K
██████████
first seenMar 23, 2026
└────────────

┌ repo

jeremylongshore/claude-code-plugins-plus-skills
by jeremylongshore
└────────────