技能 编程开发 Anthropic API调试证据收集

Anthropic API调试证据收集

v20260423
clade-debug-bundle
本工具旨在帮助开发者收集在使用Anthropic API(Claude)时遇到的持久性问题或API错误的全部证据。它能够自动采集关键信息,包括请求ID、完整的错误负载、状态码和可复现的cURL命令,确保用户提交给支持团队的工单内容专业且完整。
获取技能
103 次下载
概览

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

Error Cause Solution
API Error Check error type and status code See 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.

信息
Category 编程开发
Name clade-debug-bundle
版本 v20260423
大小 2.92KB
更新时间 2026-04-26
语言