> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi-Framework Support

> Serve agents built with the Claude Agent SDK, LangGraph and DSPy from one AgentOS.

<Badge icon="code-branch" color="orange">
  <Tooltip tip="Introduced in v2.6.0" cta="View release notes" href="https://github.com/agno-agi/agno/releases/tag/v2.6.0">v2.6.0</Tooltip>
</Badge>

AgentOS runs agents built with **Agno**, **Claude Agent SDK**, **LangGraph** and **DSPy** through one runtime, one API and one UI.
Each adapter wraps an external agent so it satisfies Agno's `AgentProtocol` and behaves like a native Agent for routing, streaming and session persistence.

<Frame>
  <video autoPlay muted loop playsInline style={{ borderRadius: "0.5rem", width: "100%", height: "auto" }}>
    <source src="https://mintcdn.com/agno-v2/zKa7zZgISWdTa4bI/videos/multi-framework.mp4?fit=max&auto=format&n=zKa7zZgISWdTa4bI&q=85&s=fcf8c18e2b7d3d6918fe00df3abbaefb" type="video/mp4" data-path="videos/multi-framework.mp4" />
  </video>
</Frame>

```python theme={null}
from agno.agent import Agent
from agno.agents.claude import ClaudeAgent
from agno.db.sqlite import SqliteDb
from agno.os import AgentOS
from agno.tools.workspace import Workspace

claude_agent = ClaudeAgent(
    name="Claude Code Agent",
    model="claude-sonnet-4-6",
    allowed_tools=["Read", "Edit", "Bash"],
    permission_mode="acceptEdits",
    max_turns=10,
)

agno_agent = Agent(
    name="Agno Agent",
    model="openai:gpt-5.4",
    tools=[Workspace(root=".", allowed=["read", "list", "search"])],
)

agent_os = AgentOS(
    agents=[agno_agent, claude_agent],
    tracing=True,
    db=SqliteDb(db_file="tmp/agentos.db"),
)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="multi_framework:app", reload=True)
```

## Supported Frameworks

| Framework                                                      | Adapter          | Install                                     |
| -------------------------------------------------------------- | ---------------- | ------------------------------------------- |
| [Claude Agent SDK](/agent-os/multi-framework/claude-agent-sdk) | `ClaudeAgent`    | `uv pip install claude-agent-sdk`           |
| [LangGraph](/agent-os/multi-framework/langgraph)               | `LangGraphAgent` | `uv pip install langgraph langchain-openai` |
| [DSPy](/agent-os/multi-framework/dspy)                         | `DSPyAgent`      | `uv pip install dspy`                       |

Once registered, an external agent is routed, streamed over SSE and persisted just like a native Agno agent.
The same adapter also works standalone via `.run()` and `.print_response()`.
See the per-framework pages for more examples.

## What Works and What Doesn't

<Note>
  The adapters cover the basics every AgentOS deployment needs (registration, streaming, sessions, tool visibility).
  Agno-specific capabilities like delegation, knowledge, dependencies, and hooks live on the native `Agent` and `Team` and are not available through external frameworks.
</Note>

| Capability                                         | Supported | Notes                                                             |
| -------------------------------------------------- | :-------: | ----------------------------------------------------------------- |
| `AgentOS(agents=[...])` registration               |     ✅     | Adapters satisfy `AgentProtocol`                                  |
| `/agents` and `/agents/{id}/runs` endpoints        |     ✅     | Same routes as native agents                                      |
| SSE streaming                                      |     ✅     | Token and tool call events emitted by adapters                    |
| Session persistence                                |     ✅     | When `db` is set on `AgentOS`                                     |
| Standalone `.run()` / `.print_response()`          |     ✅     | Sync and async                                                    |
| Tool call visibility in the UI                     |     ✅     | Wrapped as Agno tool events                                       |
| Use as a `Team` member                             |     -     | Agno `Team` orchestration is built around the native `Agent`      |
| Memory, knowledge, dependencies, hooks, guardrails |     -     | These are Agno-SDK concepts wired into the native `Agent`         |
| Structured input and output                        |     -     | Use the framework's own typing (DSPy signatures, LangGraph state) |
| Skills, reasoning, learning                        |     -     | Native `Agent` only                                               |

## Next Steps

<CardGroup cols={3}>
  <Card title="Claude Agent SDK" icon="terminal" href="/agent-os/multi-framework/claude-agent-sdk">
    Run Claude Code as an AgentOS agent.
  </Card>

  <Card title="LangGraph" icon="diagram-project" href="/agent-os/multi-framework/langgraph">
    Wrap a compiled LangGraph graph.
  </Card>

  <Card title="DSPy" icon="brain" href="/agent-os/multi-framework/dspy">
    Serve a DSPy program (Predict, ChainOfThought, ReAct).
  </Card>
</CardGroup>

## Developer Resources

* [Cookbook examples](https://github.com/agno-agi/agno/tree/main/cookbook/frameworks)
