{"id":"anthropics-claude-agent-sdk-python","name":"claude-agent-sdk-python","homepage":null,"repo_url":"https://github.com/anthropics/claude-agent-sdk-python","category":"ai-ml","subcategories":[],"tags":["ai-ml","devtools","python","agent-sdk","mcp","tool-calling","streaming","asyncio"],"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.","use_cases":["Embedding Claude Code-style agent interactions into Python apps","Streaming/iterating over assistant messages asynchronously","Providing custom callable tools to an agent via in-process MCP servers","Deny/allow tool execution using hooks (e.g., block certain bash commands)","Running agent sessions against a specified working directory/project"],"not_for":["Simple request/response HTTP API integrations (this is primarily an SDK for running Claude Code behavior locally via bundled CLI)","Environments where subprocess/CLI bundling is disallowed (the SDK bundles/uses the Claude Code CLI)","Use cases requiring a documented, standalone REST/OpenAPI interface"],"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.","alternatives":["Anthropic/Claude official APIs (where available) or web SDKs for direct model access","Other agent frameworks that support tool calling (e.g., generic MCP client/server frameworks) if you need network services only","Running Claude Code CLI directly in your own process (if you don't need the SDK abstractions)"],"af_score":65.8,"security_score":51.2,"reliability_score":41.2,"package_type":"skill","discovery_source":["openclaw"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-29T14:57:34.517343+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["Python"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Implicit/local CLI-based authentication (not specified in README)","Tool permission allowlists/denylists and hook-based permission decisions"],"oauth":false,"scopes":false,"notes":"The README focuses on tool permissions (allowed_tools/disallowed_tools/permission_mode) rather than user authentication. It indicates the bundled Claude Code CLI is used by default, implying any credential handling is likely delegated to that CLI, but explicit mechanisms are not documented here."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing details are provided in the README or manifest content supplied."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":65.8,"security_score":51.2,"reliability_score":41.2,"mcp_server_quality":78.0,"documentation_accuracy":80.0,"error_message_quality":null,"error_message_notes":"The README lists distinct exceptions (e.g., CLINotFoundError, CLIConnectionError, ProcessError, CLIJSONDecodeError) and shows how to catch them, indicating a deliberate error taxonomy.","auth_complexity":55.0,"rate_limit_clarity":10.0,"tls_enforcement":40.0,"auth_strength":35.0,"scope_granularity":65.0,"dependency_hygiene":70.0,"secret_handling":55.0,"security_notes":"Tool control is supported via allow/disallow lists and hook-based permission decisions, which can reduce risky tool execution. However, explicit authentication/credential handling, transport security expectations (beyond implied CLI behavior), rate limiting, and secret handling/logging practices are not documented in the provided content. Dependency hygiene is unknown from supplied info; only dependency names/versions are visible in the manifest.","uptime_documented":0.0,"version_stability":60.0,"breaking_changes_history":55.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":"No explicit idempotency guarantees are documented. Agent actions (especially tool use like file writes) may be non-idempotent.","pagination_style":"none","retry_guidance_documented":false,"known_agent_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."]}}