Back to Ai

Claude Code

content/providers/03-community-providers/10-claude-code.mdx

2.1.104.7 KB
Original Source

Claude Code Provider

The ai-sdk-provider-claude-code community provider allows you to access Claude models through the official Claude Agent SDK. It's particularly useful for developers who want to use their existing Claude Pro/Max subscription without managing API keys.

Version Compatibility

Provider VersionAI SDK VersionNPM TagStatus
3.xv6latestStable
2.xv5ai-sdk-v5Maintenance
0.xv4ai-sdk-v4Legacy
bash
# AI SDK v6 (default)
npm install ai-sdk-provider-claude-code ai

# AI SDK v5
npm install ai-sdk-provider-claude-code@ai-sdk-v5 ai@^5.0.0

# AI SDK v4
npm install ai-sdk-provider-claude-code@ai-sdk-v4 ai@^4.0.0

Setup

<Tabs items={['pnpm', 'npm', 'yarn', 'bun']}> <Tab> <Snippet text="pnpm add ai-sdk-provider-claude-code" dark /> </Tab> <Tab> <Snippet text="npm install ai-sdk-provider-claude-code" dark /> </Tab> <Tab> <Snippet text="yarn add ai-sdk-provider-claude-code" dark /> </Tab> <Tab> <Snippet text="bun add ai-sdk-provider-claude-code" dark /> </Tab> </Tabs>

Provider Instance

You can import the default provider instance claudeCode from ai-sdk-provider-claude-code:

ts
import { claudeCode } from 'ai-sdk-provider-claude-code';

If you need a customized setup, you can import createClaudeCode and create a provider instance with your settings:

ts
import { createClaudeCode } from 'ai-sdk-provider-claude-code';

const claudeCode = createClaudeCode({
  allowedTools: ['Read', 'Write', 'Edit'],
  disallowedTools: ['Bash'],
  mcpServers: {
    'my-server': {
      command: 'node',
      args: ['server.js'],
    },
  },
  permissionMode: 'default',
});

You can use the following optional settings to customize the provider instance:

  • allowedTools string[] - List of allowed tools. When specified, only these tools will be available.
  • disallowedTools string[] - List of disallowed tools (e.g., ['Bash(rm:*)']).
  • mcpServers Record<string, McpServerConfig> - MCP server configurations.
  • permissionMode 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' - Tool permission handling.
  • maxTurns number - Maximum conversation turns.
  • cwd string - Working directory for CLI operations.
  • verbose boolean - Enable debug logging.

Language Models

You can create models that call Claude through the Claude Agent SDK using the provider instance:

ts
const model = claudeCode('sonnet');

Supported model shortcuts:

  • opus: Claude Opus (most capable)
  • sonnet: Claude Sonnet (balanced)
  • haiku: Claude Haiku (fastest)

You can also use full model identifiers directly:

ts
const model = claudeCode('claude-opus-4-5');
const model = claudeCode('claude-sonnet-4-5-20250514');

Example

ts
import { claudeCode } from 'ai-sdk-provider-claude-code';
import { generateText } from 'ai';

const { text } = await generateText({
  model: claudeCode('sonnet'),
  prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});

Model Capabilities

ModelImage InputObject GenerationTool UsageTool Streaming
opus<Check size={18} /><Check size={18} /><Cross size={18} /><Cross size={18} />
sonnet<Check size={18} /><Check size={18} /><Cross size={18} /><Cross size={18} />
haiku<Check size={18} /><Check size={18} /><Cross size={18} /><Cross size={18} />
<Note> Tool Usage and Tool Streaming show ❌ because this provider does not support AI SDK custom tools (Zod schemas passed to `generateText`/`streamText`). Instead, it uses Claude's built-in tools (Bash, Edit, Read, Write, etc.) and MCP servers which execute autonomously. Object generation uses native structured outputs with guaranteed schema compliance. Image input requires streaming mode and base64/data URL format only. </Note>

Authentication

The provider uses your existing Claude Pro or Max subscription through the Claude Code CLI:

bash
claude login

This opens a browser window for authentication. Once authenticated, the provider will use your subscription automatically.

Requirements

  • Node.js 18 or higher
  • Claude Code CLI installed (npm install -g @anthropic-ai/claude-code)
  • Claude Pro or Max subscription

For more details, see the provider documentation.