Google ADK vs Claude Agent SDK (2026)
Google ADK and the Claude Agent SDK solve different problems, and the comparison only holds when you see which one. ADK is a framework for building agents and the workflows around them, in five languages, on any model, with a managed runtime on Google Cloud. The Claude Agent SDK is the agent loop of Claude Code as a library: a ready-made agent with file, shell and web tools, which you steer and embed. I have shipped work on both. Today my production work runs on Google ADK, and this article explains the comparison and the reasons.
Get Matteo Gazzurelli’s stories in your inbox
Join Medium for free to get updates from this writer.
As of November 2026. Both projects release often; the documentation linked below is the source of truth.
The short answer
- Choose Google ADK when you are building an agent into a business process: several steps, some fixed and some that need judgement, tools that act on company systems, a team that has to maintain it for years, and a cloud where identity and logging already live.
- Choose the Claude Agent SDK when the agent’s job looks like Claude Code’s job: reading and editing files, running commands, researching, on a Claude model, and you want that loop ready on day one instead of writing it.
Side by side
- What it is. Google ADK: Open-source framework to define agents, tools and workflows. Claude Agent SDK: The Claude Code agent loop, tools and context management, as a library.
- Languages. Google ADK: Python, TypeScript, Go, Java, Kotlin. Claude Agent SDK: Python, TypeScript (other languages through the CLI in headless mode).
- Models. Google ADK: Gemini by default; also Claude, Gemma, OpenAI, Ollama, vLLM and others through LiteLLM. Claude Agent SDK: Claude, through the Anthropic API, Amazon Bedrock, Google Cloud, Microsoft Foundry or Claude Platform on AWS.
- Orchestration. Google ADK: LLM agents plus workflow agents (sequential, parallel, loop); ADK 2.0 adds graph workflows that mix deterministic code and model steps. Claude Agent SDK: The model plans its own steps; subagents for focused subtasks.
- Built-in tools. Google ADK: Google Search and other Google tools; your functions become tools from their signature and docstring. Claude Agent SDK: Read, write and edit files, run commands, search the web.
- Control points. Google ADK: Callbacks before and after each agent, model and tool call. Claude Agent SDK: Permission modes, allow and deny rules, hooks around each tool call.
- External systems. Google ADK: MCP tools; A2A for agent-to-agent calls. Claude Agent SDK: MCP servers.
- Hosting. Google ADK: Anywhere a container runs; on Google Cloud: Agent Runtime, Cloud Run, GKE. Claude Agent SDK: Wherever you run the process; Claude Managed Agents if you want Anthropic to host the loop.
- Managed services. Google ADK: Sessions, Memory Bank, Agent Identity and traces on Gemini Enterprise Agent Platform. Claude Agent SDK: Sessions you can resume or fork; skills, commands and memory loaded from
.claude/.
The same agent, minimal code
Google ADK (Python)
pip install google-adk
adk create my_agent# my_agent/agent.py
from google.adk.agents.llm_agent import Agent
def get_order_status(order_id: str) -> dict:
"""Returns the status of an order."""
return {"order_id": order_id, "status": "shipped"}
root_agent = Agent(
model="gemini-flash-latest",
name="orders_agent",
description="Answers questions about orders.",
instruction="Answer questions about orders. Use get_order_status to look an order up.",
tools=[get_order_status],
)adk run my_agent runs it in the terminal, adk web opens a local debugging UI. The function is the tool: ADK reads its name, type hints and docstring. From here you add workflow agents around it, callbacks for permissions and approvals, and deploy the same code to Cloud Run or Agent Runtime.
Claude Agent SDK (Python)
pip install claude-agent-sdk
export ANTHROPIC_API_KEY=...import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage
async def main():
async for message in query(
prompt="Review utils.py for bugs that would cause crashes. Fix what you find.",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Edit", "Glob"],
permission_mode="acceptEdits",
),
):
if isinstance(message, ResultMessage):
print(message.subtype)
asyncio.run(main())The two examples show the difference better than any table. In ADK you describe the agent and hand it your tools. In the Agent SDK the agent already exists, with its tools, and you decide what it may touch.
Why my production work moved to ADK
Until this autumn I ran production work on both, one per vendor, as I wrote in From CrewAI to production agents. Four things moved the balance.
- The processes I automate are business processes. Most steps are fixed and an auditor expects them in the same order every time. ADK’s workflow agents, and now graph workflows, keep those steps in code and give the model only the steps that need judgement. In the Agent SDK the model plans the steps, which is the right design for a coding agent and the harder one to certify for an order-to-invoice process.
- Model choice stays open. ADK runs Gemini by default and Claude when Claude tests best on a step. The Agent SDK is built around Claude. With ADK the model is a setting I change after an evaluation, and the framework stays.
- The production floor comes with it. On Gemini Enterprise Agent Platform the same ADK agent gets managed sessions, Memory Bank, its own identity and traces. With the Agent SDK I assemble those pieces myself, or move to Claude Managed Agents, which is a different service.
- Demand. The companies I talk to, in Italy and abroad, ask about Gemini, Google Workspace and Google Cloud. Requests for agents built on the Claude Agent SDK have been rare among my clients and contacts. A framework a client’s team can find people for, and that their cloud vendor supports, is easier to hand over.
The Claude Agent SDK stays the tool I reach for when the job is the one it was built for: an agent that works on a codebase or a set of documents with file and shell tools. And Claude stays in my model shortlist, inside ADK.
Mixing them
The choice is less binary than the title suggests. Tools exposed through MCP serve both frameworks, so an integration written once survives a change of framework. ADK agents can call agents built elsewhere through A2A. A common shape in my projects: ADK for orchestration, identity and the fixed steps, with a Claude model on the step where it tests best.
I compare the full stacks, managed platform included, in the Google vs Anthropic guide. The Google ADK article maps where ADK sits inside Gemini Enterprise Agent Platform, and the Google ADK integration page describes how I take an ADK agent from demo to production.
Last technically reviewed: 3 November 2026. Sources: adk.dev, ADK Python quickstart, Claude Agent SDK overview, Agent SDK quickstart.
I’m Matteo Gazzurelli, fractional CTO and agentic AI consultant at MaGa Srl (Brescia, Italy), a Google Cloud partner. I help teams take Google ADK agents from demo to production: Google ADK integration. Monthly notes on agents in production: Agents in the Room.
Originally published at https://gazzurelli.com on November 3, 2026.









