Skip to main content

Claude Agent SDK

Send Claude Agent SDK traces to LiteLLM Lens using the runnable examples in this repository.

Prerequisites​

You need a LiteLLM gateway with tracing enabled, a LiteLLM key, and a configured model alias. The swarm example needs a model that supports tool calls. A Lens worker is required for investigations; viewing traces does not require one.

Install uv. It uses the checked-in Python version and resolves each example’s dependencies from its uv workspace.

Configuration​

For a fresh checkout:

git clone https://github.com/BerriAI/litellm-lens-example.git
cd litellm-lens-example/claude-agent-sdk
cp .env.example .env

If you already cloned the repository, run the remaining commands from claude-agent-sdk/. Copy .env.example to .env if it does not exist, then set:

VariableValue
LITELLM_GATEWAY_URLYour gateway’s base URL without a trailing slash or /v1, for example http://localhost:4002
LITELLM_API_KEYYour LiteLLM key
LITELLM_MODELA model alias configured on your gateway

The checked-in values target a local development gateway. Replace them for your deployment. Keep the exporter settings from .env.example; the examples configure their trace exporters in code. They send traces to LITELLM_GATEWAY_URL/v1/traces with the LiteLLM key as a bearer token.

Leave MOCK_LITELLM_GATEWAY_URL unset unless you intend to send an additional trace copy to the local recorder.

Run an example​

Simple agent​

A research_agent answers one question.

uv run --env-file .env --package lens-claude-agent-sdk-simple simple/main.py

See simple/main.py for the implementation.

Agent swarm​

A coordinator delegates to search_agent and writer_agent subagents.

uv run --env-file .env --package lens-claude-agent-sdk-swarm swarm/main.py

See swarm/main.py for the implementation.

Verify the trace​

After the example prints its answer, open Lens > Traces on your gateway and select the new run. Look for the run associated with research_agent. Inspect the input, output, and model spans. For the swarm, inspect the specialist activity described above; its exact span layout depends on the framework.

How tracing works​

OpenInference records SDK query and tool spans. The bundled CLI also exports its model and tool spans using the tracing environment configured in the example. Model calls use the gateway’s Anthropic messages endpoint.

Troubleshooting​

If model calls fail, check the gateway URL, key, and model alias. If an answer appears but the trace is missing, check the terminal for exporter errors and confirm tracing is enabled on the same gateway. A model call succeeding does not confirm that its trace export succeeded.

The swarm example uses bypassPermissions for its configured Agent tool. Review the example before adding tools that can modify files or run commands.

Match model calls to spend​

The local adapter adds the actual Anthropic message ID as the request-id response header, which the CLI records on its model spans. Streaming response bytes pass through unchanged.

Start it in a separate terminal from claude-agent-sdk/, using the gateway configured in .env:

uv run --env-file .env --package lens-claude-agent-sdk-simple gateway.py

Run the examples against the adapter. Keep MOCK_LITELLM_GATEWAY_URL empty for these commands because the adapter handles any additional recorder export:

LITELLM_GATEWAY_URL=http://localhost:4319 MOCK_LITELLM_GATEWAY_URL= \
uv run --env-file .env --package lens-claude-agent-sdk-simple simple/main.py

LITELLM_GATEWAY_URL=http://localhost:4319 MOCK_LITELLM_GATEWAY_URL= \
uv run --env-file .env --package lens-claude-agent-sdk-swarm swarm/main.py

The adapter binds to localhost. CLAUDE_GATEWAY_PORT changes its default port 4319; update the example URL to match. To copy trace exports to the optional recorder, set MOCK_LITELLM_GATEWAY_URL=http://localhost:4318 when starting the adapter.

Run the adapter checks from this folder:

uv run --package lens-claude-agent-sdk-simple python -m unittest discover -s . -p test_gateway.py

References​

Claude Agent SDK observability.

LiteLLM Enterprise
SSO/SAML, audit logs, spend tracking, multi-team management, and guardrails, built for production.
Learn more →