Anthropic provides the Claude family of large language models. Arize AX captures every Anthropic SDK call — prompts, responses, tool calls, and token usage — via the OpenInference instrumentors for Python and Go, so you can debug, evaluate, and monitor Claude-powered applications.Documentation Index
Fetch the complete documentation index at: https://arize-ax.mintlify.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Python 3.10+ or Go 1.25+
- An Arize AX account (sign up)
- An
ANTHROPIC_API_KEYfrom the Anthropic Console
Launch Arize AX
- Sign in to your Arize AX account.
- From Space Settings, copy your Space ID and API Key. You will set them as
ARIZE_SPACE_IDandARIZE_API_KEYbelow.
Install
Configure credentials
Setup tracing
Go SDK Only
/v1/messages is instrumented today. Streaming responses pass through unchanged, but output.value and token counts are not populated for streaming spans yet. tool_use content blocks in messages are not yet captured as message.tool_calls attributes — wrap your tool execution in manual TOOL spans, see Manual instrumentation.Run Anthropic
Expected output
Verify in Arize AX
- Open your Arize AX space and select project
anthropic-tracing-example. - You should see a new trace within ~30 seconds containing an LLM span —
messages.createfor the Python SDK oranthropic.messages.createfor the Go SDK — with the prompt, response, and token usage attached. - If no traces appear, see Troubleshooting.
Troubleshooting
- No traces in Arize AX. Confirm
ARIZE_SPACE_IDandARIZE_API_KEYare set in the same shell that runs the example. Enable OpenTelemetry debug logs withexport OTEL_LOG_LEVEL=debugand re-run. - Anthropic spans missing but other spans present (Python).
AnthropicInstrumentor().instrument(...)must run before anyimport anthropicin the application. Make sureinstrumentation.pyis the first import in your entry point. 401from Anthropic. VerifyANTHROPIC_API_KEYis set and has access to the model in the example. Swapclaude-sonnet-4-5for a model your key can call.- Go process exits before spans flush.
arize-otel-gouses a batched span processor by default. Thedefer tp.Shutdown(...)block inmain.gois what flushes the batch — without it, short-lived programs lose their last spans. PassSimpleProcessor: truetoarizeotel.Registerif you want synchronous export instead.