Skip to content

Anthropic / Claude

Trace conversations, tool use, and responses from the Anthropic Python SDK.

Installation

bash
pip install "axonpush[anthropic]"

Setup

python
import os
from axonpush import AxonPush
from axonpush.integrations.anthropic import AxonPushAnthropicTracer

client = AxonPush(
    api_key=os.environ["AXONPUSH_API_KEY"],
    tenant_id=os.environ["AXONPUSH_TENANT_ID"],
    base_url=os.environ.get("AXONPUSH_BASE_URL", "https://api.axonpush.xyz"),
)

tracer = AxonPushAnthropicTracer(
    client=client,
    channel_id=1,
    agent_id="claude-agent",
)

Usage (Sync)

Replace direct messages.create() calls with tracer.create_message():

python
# Before
response = anthropic_client.messages.create(model="claude-sonnet-4-20250514", messages=[...])

# After
response = tracer.create_message(anthropic_client, model="claude-sonnet-4-20250514", messages=[...])

Usage (Async)

python
response = await tracer.acreate_message(async_anthropic_client, model="claude-sonnet-4-20250514", messages=[...])

Tool Results

Report tool results back to the tracer:

python
tracer.send_tool_result(tool_use_id="toolu_...", result="Search completed")

Events Traced

EventWhen
conversation.turnA message is sent
agent.responseClaude responds
tool.*.startTool use begins
tool.resultTool result is returned