====== Claude Agent SDK ====== **Claude Agent SDK** is Anthropic's framework that exposes the same agent infrastructure powering **Claude Code**, enabling developers to build custom autonomous AI agents for specialized workflows. Released in 2025 alongside Claude 4, the SDK provides access to core tools, context management systems, permissions frameworks, and orchestration logic used in Anthropic's production agentic tools. The SDK is backed by **Claude Opus 4**, Anthropic's most powerful model, capable of sustained performance on long-running tasks requiring thousands of steps over several hours. ===== Key Features ===== **Shared Infrastructure with Claude Code**: The SDK uses the identical agent harness, tools, orchestration logic, and memory management that power Claude Code. This means developers get production-tested components rather than experimental abstractions. **Tool Use and Discovery**: Agents can discover, learn, and execute tools dynamically through a semantic search mechanism. Instead of loading all available tools upfront, the agent searches for relevant ones — reducing context window usage and improving accuracy. **MCP Integration**: Full support for the Model Context Protocol (MCP), enabling agents to connect to external data sources, APIs, and services through standardized MCP servers. This allows dynamic tool discovery across multiple integrations. **Context and Memory Management**: Sophisticated context handling including automatic summarization when approaching input limits, a Memory API for storing/retrieving information outside the context window, and checkpoints for safe state restoration. **Skills System**: Agents can discover and use Skills — markdown files and scripts stored on the filesystem. Agents see only short names and descriptions initially, loading full skill content on demand. **Hooks and Subagents**: Full support for creating hierarchical agent structures with custom event handlers (hooks) that trigger on specific workflow events. Subagents can be spawned with strict, narrow roles. ===== Architecture ===== The Claude Agent SDK follows a Unix-first design philosophy. Anthropic emphasizes that 'bash is all you need' for agents — low-level tools like grep, tail, and standard CLI utilities provide more effective agent capabilities than high-level abstractions. Core architectural principles: * **Specialization** — Agents should have clearly defined, narrow purposes * **Tight Permissions** — Fine-grained access controls for tools and resources * **Disciplined Context Control** — Using CLAUDE.md files and explicit context management * **Observable Workflows** — Comprehensive telemetry and instrumentation * **Test-First Development** — Strict subagent roles with testing before deployment The multi-layered architecture includes: * Terminal interface and IDE extensions (VS Code, JetBrains) * Sandboxed code execution environment * Direct file system access for contextual understanding * MCP connector layer for external integrations ===== Code Example ===== from anthropic import Anthropic client = Anthropic() # Define tools for the agent tools = [ { "name": "read_file", "description": "Read contents of a file", "input_schema": { "type": "object", "properties": {"path": {"type": "string", "description": "File path"}}, "required": ["path"] } } ] # Agent loop with tool use messages = [{'role': 'user', 'content': 'Analyze the main.py file'}] while True: response = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=4096, tools=tools, messages=messages ) if response.stop_reason == "tool_use": # Execute tool calls and continue tool_results = execute_tools(response.content) messages.append({'role': 'assistant', 'content': response.content}) messages.append({'role': 'user', 'content': tool_results}) else: print(response.content[0].text) break ===== How It Differs from Other Frameworks ===== * **Production-tested**: Uses the same infrastructure as Claude Code, not a separate research project * **Unix-first**: Leverages bash and standard Unix tools rather than requiring custom abstractions * **Built-in context management**: Native long-context reasoning and memory without separate implementations * **Developer-centric**: Requires dedicated engineering — not a plug-and-play no-code solution ===== References ===== * [[https://platform.claude.com/docs/en/agent-sdk/overview|Claude Agent SDK Documentation]] * [[https://www.anthropic.com/news/claude-4|Claude 4 Announcement (includes Agent SDK)]] * [[https://www.anthropic.com/engineering/advanced-tool-use|Anthropic Engineering — Advanced Tool Use]] * [[https://www.ml6.eu/en/blog/inside-the-claude-agents-sdk-lessons-from-the-ai-engineer-summit|Inside the Claude Agent SDK — ML6]] ===== See Also ===== * [[claude_code]] — Claude Code CLI agentic coding tool * [[openai_agents_sdk]] — OpenAI Agents SDK * [[computer_use]] — Computer Use and GUI agents * [[a2a_protocol]] — Agent-to-Agent communication protocol