Build a Custom Agent with the Claude Agent SDK in 10 Lines
The Claude Agent SDK (formerly Claude Code SDK) gives you the same tools and agent loop that power Claude Code, but as a library you can call from Python or TypeScript. No tool implementations needed.
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="Find all TODO comments and create a summary",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Glob", "Grep"]
),
):
if hasattr(message, "result"):
print(message.result)
asyncio.run(main())
Built-in tools include Read, Write, Edit, Bash, Glob, Grep, WebSearch, and WebFetch. You don't have to implement any of them. Just list what the agent should have access to in allowed_tools.
Install with pip install claude-agent-sdk or npm install @anthropic-ai/claude-agent-sdk, set ANTHROPIC_API_KEY, and you're running. The SDK also supports Bedrock, Vertex AI, and Azure for enterprise auth.
Sessions persist automatically. Capture session_id from the init message and pass it back with resume=session_id to continue a conversation with full context.
Same power as Claude Code, now programmable in your own applications.
Log in to leave a comment.
The /security-review command scans your uncommitted changes for injection vectors, auth gaps, hardcoded secrets, and other common vulnerabilities.
The SessionStart hook fires when any session begins or resumes, making it ideal for loading environment variables and running one-time setup scripts.
Ask Claude to write property-based tests for your functions using fast-check — it identifies the mathematical invariants in your code and generates tests that cover inputs you'd never enumerate by hand.