Agno
TL;DR
Agno is an Apache-2.0 Python SDK and runtime from the company of the same name (GitHub: agno-agi) for agents, teams and workflows. Its AgentOS runtime serves them as an API with storage, approvals and chat or protocol interfaces, and a web control plane manages them. It suits Python teams that want to self-host their own agent platform.
Key facts
| Type | Framework |
|---|---|
| Languages / SDKs | Python |
| License | Apache-2.0 |
| Pricing model | Open core |
| Orchestration pattern | Supervisor |
| GitHub stars | 42,391 (as of 2026-09-30) |
| GitHub forks | 6,043 |
| Last push | 2026-09-30 |
| Latest release | v3.0.11 |
| Repository | agno-agi/agno |
| Website | www.agno.com |
| Documentation | docs.agno.com |
| Last verified | 2026-09-30 |
Key features
- Agents that combine a model with tools, memory, knowledge, storage, guardrails and human-in-the-loop hooks. (source)
- Teams with a leader and members (agents or nested teams) in coordinate, route, broadcast or tasks mode. (source)
- Workflows whose steps run agents, teams or functions sequentially, in parallel, in loops or conditionally. (source)
- AgentOS storage: one
dbinterface for sessions, memory, knowledge metadata, traces, schedules and approvals in your own database. (source) - Human-in-the-loop options: tool confirmation, user input, external tool execution and persisted admin approvals. (source)
- MCP both ways:
MCPToolsconnects agents to MCP servers, and AgentOS can expose agents, teams and workflows as an MCP server. (source) - AgentOS interfaces for Slack, Telegram, WhatsApp, Discord, A2A and AG-UI. (source)
- AgentOS can also serve agents built with the Claude Agent SDK, LangGraph, DSPy and Antigravity through adapters. (source)
Architecture and orchestration pattern
Pattern: Supervisor
Agno has three building blocks. An Agent builds context for a model, runs the tools it requests and returns a run output; memory, knowledge and storage are optional add-ons. A Team has a leader model and members (agents or nested teams); its mode decides whether the leader decomposes and delegates tasks (coordinate, the default), hands the request to one member (route), sends it to all members (broadcast) or works through a shared task list (tasks). A Workflow runs agents, teams and plain functions as steps with sequential, parallel, loop, condition and router control flow.
AgentOS is the runtime. It serves agents, teams and workflows as a FastAPI application with streaming endpoints, and persists sessions, runs, memory, traces, schedules and approvals through a shared db interface (Postgres, SQLite and other backends). Interfaces attach the same components to chat apps and to A2A, AG-UI and MCP clients, and remote-execution helpers call agents on other AgentOS instances.
A browser-based control plane connects to local or deployed AgentOS runtimes to inspect traces and sessions, edit memory and knowledge, resolve approvals and manage schedules; the data stays in the runtime's database.
Human in the loop
Marking a tool with @tool(requires_confirmation=True) pauses the run before the call: the run output has is_paused set, the application approves or rejects the pending tool call, and continue_run() resumes. Other documented modes collect specific user input, let the agent ask for input when it needs it, hand a tool call to external code for execution, or persist an approval for admin review. With a database configured, a paused run can be continued later by run_id and session_id, even from a new process. Workflows can pause before or after a step or at a tool call inside a step; pause state is saved to the workflow database and workflow.continue_run() picks up from there. Approvals can also be resolved in the AgentOS control plane.
Harnesses it can drive
- Claude Code (evidence)
- Codex (evidence)
Protocols
| Protocol | Support | Note |
|---|---|---|
| MCP | Yes evidence | Client and server: MCPTools gives agents MCP server tools, and AgentOS(mcp=...) exposes agents, teams and workflows to MCP clients such as Claude Code, Codex and Cursor. |
| A2A | Yes evidence | Server and client: the AgentOS A2A interface serves agents, teams and workflows over A2A (since v2.1.2), and agno.client.a2a.A2AClient calls A2A servers. |
| AG-UI | Yes evidence | Server side: the AgentOS AGUI interface (agno[os,agui]) exposes an agent at /agui for AG-UI clients; the AG-UI README lists Agno as 1st party. |
Best for
- Self-hosting an agent platform with your own database, auth and approval queue
- Support desks that route questions to specialist agents and serve them in Slack, WhatsApp or Telegram
- Deployments that need JWT-based RBAC, audit trails and persisted approvals
- Serving Claude Code (through the Claude Agent SDK) next to Agno agents behind one API
Not for
- Non-Python codebases
- Teams that need the control plane for deployed runtimes at no cost; live connections require a paid plan
- Simple single-call tasks, where a team's separate leader and member model calls add latency and tokens
Quickstart
pip install -U agno openai from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.team import Team
from agno.team.mode import TeamMode
model = OpenAIResponses(id="gpt-5.4-mini") # reads OPENAI_API_KEY
billing = Agent(name="Billing Agent", role="Answer billing and refund questions", model=model)
tech = Agent(name="Tech Agent", role="Answer setup and troubleshooting questions", model=model)
helpdesk = Team(
name="Helpdesk",
model=model,
members=[billing, tech],
mode=TeamMode.route, # the leader picks one member, who answers directly
)
helpdesk.print_response("My invoice shows two charges for March.")
Common pitfalls
- Package metadata requires Python >=3.9; the setup guide creates a Python 3.12 environment.
- Model providers are separate installs (
openaihere) and need their API key, such asOPENAI_API_KEY. - Features live behind extras:
agno[os]for AgentOS,agno[mcp],agno[os,a2a],agno[os,agui]. - Agno sends a telemetry event per agent run; set
AGNO_TELEMETRY=falseto disable it. - Upgrading from v2 to v3 requires a database migration (runs move to their own table) and removing the retired Culture feature.
- To resume a paused HITL run in another process, keep both
run_idandsession_idand use the same database.
Pros
- Sessions, memory, traces and approvals are stored in a database you control. (source)
- Team orchestration modes can be swapped without changing member logic. (source)
- A2A and AG-UI endpoints are built into AgentOS, next to chat interfaces. (source)
- Paused human-in-the-loop runs are persisted and can be resumed from another process. (source)
- AgentOS can host Claude Code via the Claude Agent SDK alongside native agents. (source)
Cons
- Sends a telemetry event per agent run unless
AGNO_TELEMETRY=falseis set. (source) - v3 needs a database migration and removed the Culture feature, whose v2 imports now fail. (source)
- The control plane is free only for local runtimes; connecting a live AgentOS starts with the $150/month Pro plan. (source)
- Teams add latency and token usage because the leader and each member make separate model calls. (source)
- Storage backends differ in capability; session support does not guarantee every AgentOS feature works on that backend. (source)
Alternatives
FAQ
Does Agno support MCP?
Yes, in both directions. MCPTools connects agents to MCP servers, and AgentOS can publish agents, teams and workflows as an MCP server for clients such as Claude Code, Codex and Cursor.
Does Agno support A2A and AG-UI?
Yes. AgentOS ships A2A and AGUI interfaces, and A2AClient calls other A2A servers. Both interfaces need their install extras.
Is Agno free?
The SDK is Apache-2.0 and the runtime is free to self-host. The pricing page lists a free control plane for local runtimes, a $150/month Pro plan for live runtimes, and custom Enterprise pricing.
Can Agno run Claude Code?
Yes. ClaudeAgent wraps the Claude Agent SDK so Claude Code can be served through AgentOS with tool permission rules.
What does a Team's mode do?
It sets the orchestration: coordinate (leader delegates and synthesizes), route (one member answers), broadcast (all members get the task) or tasks (a shared task list).
Sources
- Agno GitHub repository
- Agno documentation
- Agno README (features, telemetry)
- Agno homepage
- Install & Setup (Agno docs)
- What are Agents? (Agno docs)
- What are Teams? (Agno docs)
- Team delegation modes (Agno docs)
- What are Workflows? (Agno docs)
- Agent Storage (Agno docs)
- Human-in-the-Loop overview (Agno docs)
- User Confirmation (Agno docs)
- Human-in-the-Loop in Workflows (Agno docs)
- Model Context Protocol tools (Agno docs)
- AgentOS MCP Server (Agno docs)
- AgentOS Interfaces (Agno docs)
- A2A interface (Agno docs)
- AG-UI interface (Agno docs)
- Claude Agent SDK in AgentOS (Agno docs)
- Multi-Framework Support (Agno docs)
- AgentOS control plane (Agno docs)
- Migrating to Agno v3.0
- Culture feature removed in v3 (Agno docs)
- Agno pricing
- agno pyproject.toml
- AG-UI README, supported integrations