LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
LangSmith
  • Client
  • Run Trees
  • Traceable
  • Evaluation
  • Schemas
  • Langchain
  • Jest
  • Vitest
  • Wrappers
  • Anonymizer
  • Jestlike
  • Vercel
  • Anthropic
  • Sandbox
⌘I

LangChain Assistant

Ask a question to get started

Enter to send•Shift+Enter new line

Menu

LangSmith
ClientRun TreesTraceableEvaluationSchemasLangchainJestVitestWrappersAnonymizerJestlikeVercelAnthropicSandbox
Language
Theme
JavaScriptlangsmithexperimentalanthropicwrapClaudeAgentSDK
Function●Since v0.6

wrapClaudeAgentSDK

Copy
wrapClaudeAgentSDK<
  T extends object
>(
  sdk: T,
  config: Partial<Omit<RunTreeConfig
View source on GitHub
,
"inputs"
|
"outputs"
|
"run_type"
|
"parent_run"
|
"child_runs"
|
"error"
>
>
)
:
T

Parameters

NameTypeDescription
sdk*T
configPartial<Omit<RunTreeConfig, "inputs" | "outputs" | "run_type" | "parent_run" | "child_runs" | "error">>

Example

Wraps the Claude Agent SDK with LangSmith tracing. This returns wrapped versions of query and tool that automatically trace all agent interactions.

The Claude Agent SDK module

Optional LangSmith configuration

Copy
import * as claudeSDK from "@anthropic-ai/claude-agent-sdk";
import { wrapClaudeAgentSDK } from "langsmith/experimental/claude_agent_sdk";

// Wrap once - returns { query, tool, createSdkMcpServer } with tracing built-in
const { query, tool, createSdkMcpServer } = wrapClaudeAgentSDK(claudeSDK);

// Use normally - tracing is automatic
for await (const message of query({
  prompt: "Hello, Claude!",
  options: { model: "claude-haiku-4-5-20251001" }
})) {
  console.log(message);
}

// Tools created with wrapped tool() are automatically traced
const calculator = tool("calculator", "Does math", schema, handler);