{"id":"anthropics-claude-agent-sdk-python","name":"claude-agent-sdk-python","af_score":65.8,"security_score":51.2,"reliability_score":41.2,"what_it_does":"A Python SDK that enables applications to interact with Claude Code via an async query API and an interactive ClaudeSDKClient. It supports tool use, including in-process custom tools exposed through MCP servers, and hook-based control of the agent loop.","best_when":"You want to integrate Claude Code agent capabilities directly into a Python application with async streaming, optional in-process tools, and programmatic control (allowed/disallowed tools, hooks, working directory).","avoid_when":"You need a network-only, vendor-hosted API with clear HTTP auth and rate-limit semantics, or you cannot tolerate reliance on the bundled Claude Code CLI binary.","last_evaluated":"2026-03-29T14:57:34.517343+00:00","has_mcp":true,"has_api":false,"auth_methods":["Implicit/local CLI-based authentication (not specified in README)","Tool permission allowlists/denylists and hook-based permission decisions"],"has_free_tier":false,"known_gotchas":["Tool availability vs. tool execution: allowed_tools pre-approves but does not remove tools from Claude's toolset (permission_mode/can_use_tool logic still matters).","Non-determinism from agent loop: even with hooks, results may vary across runs.","CLI bundling/installation expectations: runtime behavior depends on the bundled Claude Code CLI being present/compatible."],"error_quality":null}