# Which AI Agent Framework Locks You to One Model? Just One of 14

> Source: The Agents Index — https://theagentsindex.com/blog/agent-framework-model-lockin-2026 (sourced research)
> By The Agents Index Editorial · Published 2026-08-22

_We checked model-provider support across our 14 indexed agent frameworks. Only the Claude Agent SDK locks you to a single model vendor by design._

Fourteen frameworks sit in our [frameworks category](/category/frameworks) as of 23 August 2026. Most of their listings describe support for a range of model providers: OpenAI, Anthropic, Google, Bedrock, Ollama, and others. We read the Integrations and Key features sections of all 14 listings to check that claim line by line, provider by provider, rather than take the summary sentence at face value. Thirteen name multiple providers explicitly. One does not, and says so directly: Anthropic's own [Claude Agent SDK](/claude-agent-sdk) runs Claude models only, by design, with a GitHub issue asking for other providers closed as 'not planned.'

## The one framework that names its own limit

The Claude Agent SDK is built on the same agent harness, tool loop and context management that power Claude Code, exposed as a callable Python or TypeScript library. Its own listing is explicit about what that buys and what it costs: 'it runs Claude models only,' with a [closed GitHub issue](https://github.com/anthropics/claude-agent-sdk-python/issues/410) confirming no multi-provider path is planned. The wrapper packages carry an MIT license, but Anthropic's own docs state that overall SDK use is governed by its Commercial Terms of Service, and the compiled Claude Code CLI binary the wrapper bundles is not published as source.

Three other major-lab SDKs answer the same design question differently. [OpenAI Agents SDK](/openai-agents-sdk) reaches '100+ LLMs through LiteLLM and any-llm' despite the OpenAI branding. [Google ADK](/google-adk) is optimized for Gemini but reaches OpenAI, Anthropic Claude, Cohere and local Ollama models through a LiteLLM integration, and its own listing calls it 'genuinely model-agnostic in practice despite the Gemini-first branding.' [Microsoft Agent Framework](/microsoft-agent-framework) lists Azure OpenAI, OpenAI, Microsoft Foundry, Anthropic Claude, Amazon Bedrock, Google Gemini and Ollama as first-class providers, and its listing states plainly it is 'not locked to Azure despite the Microsoft branding.' Anthropic is the one major lab that built its first-party SDK to work only with its own models.

## Multi-provider doesn't mean the same mechanism

The 13 remaining frameworks reach multiple providers through different plumbing, and the difference matters for how a provider swap actually feels in code. [CrewAI](/crewai) ships native SDK integrations for OpenAI, Anthropic, Google Gemini, Azure, AWS Bedrock and Snowflake Cortex, then routes everything else, including Hugging Face, Mistral, Groq and local Ollama models, through LiteLLM. [Mastra](/mastra) takes the opposite approach: a single model-routing interface in front of 180 providers and 6,772 models, with automatic fallback across providers built in. [Pydantic AI](/pydantic-ai) names nine providers directly (OpenAI, Anthropic, Google, Bedrock, Azure AI Foundry, Groq, Mistral, xAI, Ollama) 'and dozens more,' with every model a string swap in code. [LangGraph](/langgraph) and [LangChain](/langchain) list OpenAI, Anthropic, Google, AWS Bedrock, Groq and Ollama directly in their integrations. [Agno](/agno) advertises 30+ providers behind one Python API. None of these five approaches is wrong, but 'model-agnostic' on a features page can mean a native SDK per provider, a LiteLLM adapter layer, or a single proprietary router, and only reading the listing tells you which one you're actually getting.

## Two Microsoft SDKs, two different answers

Microsoft ships two frameworks in this category, and they don't agree with each other. [Microsoft AutoGen](/microsoft-autogen), now in maintenance mode with its last tagged release from September 2025, lists 'pluggable model clients (OpenAI, Azure OpenAI, and others)' without naming the full set. [Microsoft Agent Framework](/microsoft-agent-framework), the supported successor that reached 1.0 GA on 2026-04-03, names seven providers as first-class in its own documentation. A team that assumed 'Microsoft's framework' meant one policy on model support would be wrong about which Microsoft framework they were reading.

## A data framework, not an orchestrator

[LlamaIndex](/llamaindex) is the one listing in the category that names no model-provider list at all, and that gap reflects what the product is rather than an oversight. It's a data and retrieval framework, built to parse, index and query documents, that plugs into whatever LLM the surrounding application already chose. Its own listing describes LlamaParse, LlamaExtract and query engines in detail without ever naming a roster of supported chat models, because picking a model isn't the job LlamaIndex is doing. It sits outside the lock-in question this piece is asking, not on either side of it.

## What this means when picking a framework

If cross-vendor model flexibility is a real requirement, 13 of the 14 frameworks in this category give you a documented path, whether through named native SDKs, a LiteLLM-style adapter, or a single proprietary router. The differences between those 13 are about ergonomics and provider count, not about whether you're locked in at all. The Claude Agent SDK is the deliberate exception: its own listing frames the trade openly, exchanging model flexibility for the tightest possible integration with Claude Code's exact tool loop, memory and hooks. That's a legitimate choice for a team already committed to Claude, and a disqualifying one for a team that isn't. Read the listing before you assume either.

## Methodology & sources

We read the Integrations and Key features sections of all 14 listings in our [frameworks category](/category/frameworks) on 23 August 2026, checking each for an explicit statement of which model providers the framework supports natively or through an adapter layer. A framework counted as multi-provider only where its own listing names more than one provider or an adapter mechanism reaching multiple providers (LiteLLM, a proprietary router, or named native SDKs); a general claim of 'works with any LLM' with no named mechanism would not have qualified, though no listing in this category made that unsupported a claim. See also our census of [A2A protocol support across the same 14 frameworks](/blog/a2a-protocol-support-frameworks-2026/) for the interoperability half of this question, and [how we research AI agents](/blog/how-we-research-ai-agents/) for our sourcing standard.

Primary sources: the [Claude Agent SDK](/claude-agent-sdk), [OpenAI Agents SDK](/openai-agents-sdk), [Google ADK](/google-adk), [Microsoft Agent Framework](/microsoft-agent-framework), [Microsoft AutoGen](/microsoft-autogen), [CrewAI](/crewai), [Mastra](/mastra), [Pydantic AI](/pydantic-ai), [LangGraph](/langgraph), [LangChain](/langchain), [Agno](/agno), [Letta](/letta), [AgentsKit](/agentskit) and [LlamaIndex](/llamaindex) listings on this index, each citing the vendor's own documentation or repository, plus [Anthropic's GitHub issue closing the multi-provider request for the Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk-python/issues/410).

---

Tags: comparison, ai-agents, frameworks, open-source
