Documentation Index
Fetch the complete documentation index at: https://docs.langsight.dev/llms.txt
Use this file to discover all available pages before exploring further.
Wrap an Anthropic or AsyncAnthropic client with wrap_llm() to auto-trace every messages.create() call and tool_use block in the response.
Using Claude Agent SDK? See the dedicated Anthropic integration — LangSightClaudeAgentHooks covers the full agent runner lifecycle.
Installation
pip install langsight anthropic
Quick start
import langsight
from anthropic import Anthropic
ls = langsight.init()
raw_client = Anthropic()
client = ls.wrap_llm(raw_client, agent_name="my-agent", session_id="sess-001")
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=[{"name": "get_weather", "description": "...", "input_schema": {...}}],
messages=[{"role": "user", "content": "What's the weather in Berlin?"}],
)
# response is unchanged — same Anthropic response object
# tool_use content blocks auto-traced as tool_call spans
The wrapper intercepts client.messages.create() (sync) and client.messages.acreate() (async).
What gets traced
| Span | Fields |
|---|
| LLM generation | server_name="anthropic", tool_name="generate/claude-sonnet-4-6", span_type="agent", tokens, model_id |
| Tool use (per block) | tool_name from response, span_type="tool_call", parent_span_id, input_args |
Session: sess-001
├── anthropic/generate/claude-sonnet-4-6 800ms success (200 in / 80 out tokens)
│ └── get_weather success
Parameters
client = ls.wrap_llm(
Anthropic(), # required — anthropic.Anthropic or anthropic.AsyncAnthropic
agent_name="my-agent", # optional — shown in dashboard
session_id="sess-001", # optional — groups spans into a session
trace_id="trace-abc", # optional — links across multi-agent tasks
)