The Claude Code SDK has been renamed to the Claude Agent SDK and its documentation has been reorganized. This change reflects the SDK's broader capabilities for building AI agents beyond just coding tasks.
| Aspect | Old | New |
|---|---|---|
| Package Name (TS/JS) | @anthropic-ai/claude-code | @anthropic-ai/claude-agent-sdk |
| Python Package | claude-code-sdk | claude-agent-sdk |
| Documentation Location | Claude Code docs | API Guide → Agent SDK section |
Documentation Changes: The Agent SDK documentation has moved from the Claude Code docs to the API Guide under a dedicated Agent SDK section. The Claude Code docs now focus on the CLI tool and automation features.
1. Uninstall the old package:
npm uninstall @anthropic-ai/claude-code2. Install the new package:
npm install @anthropic-ai/claude-agent-sdk3. Update your imports:
Change all imports from @anthropic-ai/claude-code to @anthropic-ai/claude-agent-sdk:
// Before
import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-code";
// After
import {
query,
tool,
createSdkMcpServer,
} from "@anthropic-ai/claude-agent-sdk";4. Update package.json dependencies:
If you have the package listed in your package.json, update it:
// Before
{
"dependencies": {
"@anthropic-ai/claude-code": "^1.0.0"
}
}
// After
{
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.1.0"
}
}That's it! No other code changes are required.
1. Uninstall the old package:
pip uninstall claude-code-sdk2. Install the new package:
pip install claude-agent-sdk3. Update your imports:
Change all imports from claude_code_sdk to claude_agent_sdk:
# Before
from claude_code_sdk import query, ClaudeCodeOptions
# After
from claude_agent_sdk import query, ClaudeAgentOptions4. Update type names:
Change ClaudeCodeOptions to ClaudeAgentOptions:
# Before
from claude_agent_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(
model="claude-sonnet-4-5"
)
# After
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(
model="claude-sonnet-4-5"
)5. Review breaking changes
Make any code changes needed to complete the migration.
To improve isolation and explicit configuration, Claude Agent SDK v0.1.0 introduces breaking changes for users migrating from Claude Code SDK. Review this section carefully before migrating.
What changed: The Python SDK type ClaudeCodeOptions has been renamed to ClaudeAgentOptions.
Migration:
# BEFORE (v0.0.x)
from claude_agent_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(
model="claude-sonnet-4-5",
permission_mode="acceptEdits"
)
# AFTER (v0.1.0)
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(
model="claude-sonnet-4-5",
permission_mode="acceptEdits"
)Why this changed: The type name now matches the "Claude Agent SDK" branding and provides consistency across the SDK's naming conventions.
What changed: The SDK no longer uses Claude Code's system prompt by default.
Migration:
// BEFORE (v0.0.x) - Used Claude Code's system prompt by default
const result = query({ prompt: "Hello" });
// AFTER (v0.1.0) - Uses empty system prompt by default
// To get the old behavior, explicitly request Claude Code's preset:
const result = query({
prompt: "Hello",
options: {
systemPrompt: { type: "preset", preset: "claude_code" }
}
});
// Or use a custom system prompt:
const result = query({
prompt: "Hello",
options: {
systemPrompt: "You are a helpful coding assistant"
}
});Why this changed: Provides better control and isolation for SDK applications. You can now build agents with custom behavior without inheriting Claude Code's CLI-focused instructions.
What changed: The SDK no longer reads from filesystem settings (CLAUDE.md, settings.json, slash commands, etc.) by default.
Migration:
// BEFORE (v0.0.x) - Loaded all settings automatically
const result = query({ prompt: "Hello" });
// Would read from:
// - ~/.claude/settings.json (user)
// - .claude/settings.json (project)
// - .claude/settings.local.json (local)
// - CLAUDE.md files
// - Custom slash commands
// AFTER (v0.1.0) - No settings loaded by default
// To get the old behavior:
const result = query({
prompt: "Hello",
options: {
settingSources: ["user", "project", "local"]
}
});
// Or load only specific sources:
const result = query({
prompt: "Hello",
options: {
settingSources: ["project"] // Only project settings
}
});Why this changed: Ensures SDK applications have predictable behavior independent of local filesystem configurations. This is especially important for:
Backward compatibility: If your application relied on filesystem settings (custom slash commands, CLAUDE.md instructions, etc.), add settingSources: ['user', 'project', 'local'] to your options.
The Claude Code SDK was originally designed for coding tasks, but it has evolved into a powerful framework for building all types of AI agents. The new name "Claude Agent SDK" better reflects its capabilities:
If you encounter any issues during migration:
For TypeScript/JavaScript:
@anthropic-ai/claude-agent-sdknpm install to ensure dependencies are updatedFor Python:
claude_agent_sdkpip install claude-agent-sdk to ensure the package is installed