ai-sdk-claude-agent-provider
v0.0.1
Published
The `ai-sdk-claude-agent-provider` package provides a Claude Agent SDK-backed provider for the [AI SDK](https://ai-sdk.dev/docs), using [`@anthropic-ai/claude-agent-sdk`](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) under the hood.
Downloads
182
Maintainers
Readme
AI SDK - Claude Agent SDK Provider
The ai-sdk-claude-agent-provider package provides a Claude Agent SDK-backed provider for the AI SDK, using @anthropic-ai/claude-agent-sdk under the hood.
Setup
Install the provider with ai:
npm i ai-sdk-claude-agent-provider aiSkill for Coding Agents
If you use coding agents such as Claude Code or Cursor, we recommend adding the AI SDK skill to your repository:
npx skills add vercel/aiProvider Instance
Import the default provider instance claudeAgentSdk:
import { claudeAgentSdk } from "ai-sdk-claude-agent-provider";Or create a customized provider instance:
import { createClaudeAgentSdk } from "ai-sdk-claude-agent-provider";
const provider = createClaudeAgentSdk({
name: "claude-agent-sdk",
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: process.env.ANTHROPIC_BASE_URL,
queryOptions: {
cwd: process.cwd(),
permissionMode: "default",
settingSources: ["project", "local"],
},
});Example
import { claudeAgentSdk } from "ai-sdk-claude-agent-provider";
import { generateText } from "ai";
const { text } = await generateText({
model: claudeAgentSdk("default"),
prompt: "Summarize the repository state in one paragraph.",
});
console.log(text);Notes
- This provider targets
LanguageModelV3only. - AI SDK tools are ignored by the provider because Claude Agent SDK manages tool execution internally.
- Provider-executed tool activity is surfaced through stream events (
tool-call,tool-result) when available from SDK messages. - Authentication can be supplied via provider settings (
apiKey,authToken) or by pre-configured Claude Agent CLI environment. claudeAgentSdkModelIdsis a non-exhaustive convenience list and may include aliases likedefault,sonnet,haiku.- For canonical model IDs used at runtime (for example
claude-opus-4-6), readproviderMetadata["claude-agent-sdk"].resolvedModelId/resolvedModelIdson results. - Use runtime discovery for low-maintenance model coverage:
import { listClaudeAgentSdkModels } from "ai-sdk-claude-agent-provider";
const models = await listClaudeAgentSdkModels({
apiKey: process.env.ANTHROPIC_API_KEY,
});
console.log(models.map((model) => model.value));To regenerate the static model id/info files from your current Claude Agent SDK account:
bun --cwd packages/ai-sdk-claude-agent-provider run sync:model-catalogOption Coverage
Audited against @anthropic-ai/[email protected].
Optionssupport: all Claude Agent SDKOptionsfields are supported through the adapter, with four fields mapped from AI SDK primitives instead of direct passthrough:promptcomes from AI SDK prompt/messages.modelcomes from the selected model id (claudeAgentSdk("<model-id>")).abortControllercomes from AI SDKabortSignal.outputFormatcomes from AI SDK JSONresponseFormat.schema(mapped tojson_schema;responseFormat.name/descriptionmap to schematitle/descriptionwhen missing).
- Pass-through layers for all other Claude
Optionsfields:- Provider defaults:
createClaudeAgentSdk({ queryOptions: ... }) - Model defaults:
claudeAgentSdk(modelId, modelSettings) - Per-call overrides:
providerOptions["<provider-name>"]
- Provider defaults:
- Provider convenience aliases:
apiKey,authToken,baseURL/baseUrl, andenvare merged into Claude process env (ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKEN,ANTHROPIC_BASE_URL). If bothbaseURLandbaseUrlare provided,baseURLwins. - Provider options lookup supports both
providerOptions["claude-agent-sdk"](canonical key) andproviderOptions["<provider-name>"](custom provider name). If both are present, custom-key values override canonical values.
AI SDK call options currently not forwarded to Claude Agent SDK (warnings emitted):
tools,toolChoiceheaderstemperature,topP,topKmaxOutputTokensstopSequencespresencePenalty,frequencyPenaltyseed
Documentation
- AI SDK community custom provider guide: https://ai-sdk.dev/providers/community-providers/custom-providers
- Claude Agent SDK docs: https://platform.claude.com/docs/en/agent-sdk/overview
