# Introducing Agno 2.0

> Agno v2.0 is officially live! This release marks a major leap forward in how developers build and run multi-agent systems with Agno. While the core engine remains simple, fast, and agnostic, the new version introduces several powerful improvements.

- Published: 2025-09-09
- Author: Agno Team
- Category: Engineering
- Canonical: https://agno-com-nine.vercel.app/articles/introducing-agno-v2
- Markdown: https://agno-com-nine.vercel.app/articles/introducing-agno-v2.md

We're excited to share that Agno 2.0 is officially live!  🎉

## What’s Agno 2.0?

Great question! At our core is the same engine that you know and love: simple, blazing-fast, and truly agnostic. But this release marks a major leap forward in how developers build and run multi-agent systems with Agno. For v2, we’ve completely rewritten the library to simplify Agent, Team, and Workflow, expand capabilities, and make the developer experience smoother than ever.

## What’s changed?

With Agno v2.0, you’ll find:

#### Streamlined storage for sessions, memories, evals, etc.

**Key improvement:** Single database handles sessions, memories, evals, and metrics

```python
db = SqliteDb(db_file="tmp/agno_app.db")

# Agent with automatic storage management
agent = Agent(
	model=OpenAIChat(id="gpt-5-mini"),
	db=db,  # Single database for all storage needs
	enable_user_memories=True,      # Persistent user facts
	enable_session_summaries=True,  # Auto-generated summaries
	add_history_to_context=True,    # Auto-loads chat history
)
```

Everything stored automatically

```python
agent.run("My name is John and I live in Denver")
# Stores: session, user memory, chat history, metrics
# Resume conversations with full context
agent.run("What do you remember about me?")
#  Automatically retrieves: memories, session history, summaries
```

Check out a [full example.
](https://docs.agno.com/examples/getting-started/09-agent-session)

#### A unified knowledge layer that supports diverse forms of content

**Key improvement:** One interface seamlessly handles all content types (PDFs, CSVs, web crawling, Markdown, text, etc)

```python
knowledge = Knowledge(
	vector_db=LanceDb(
		search_type=SearchType.hybrid,  # Smart vector + keyword search
		embedder=OpenAIEmbedder(id="text-embedding-3-small"),
	),
)
```

Add diverse content types seamlessly

```python
knowledge.add_content(url="https://example.com/recipes.pdf")  # PDF
knowledge.add_content(path="/data/ingredients.csv")           # CSV  knowledge.add_content(url="https://cooking-blog.com/tips")    # Web
knowledge.add_content(content="Fresh herbs enhance flavor...") # Text
```

Agent gets unified knowledge access

```python
agent = Agent(
	model=OpenAIChat(id="gpt-5-mini"),
	knowledge=knowledge,  # Single knowledge interface
	tools=[DuckDuckGoTools()],
	instructions="Search knowledge base first, then web if needed...",
)
```

Check out a [full example.
](https://docs.agno.com/examples/getting-started/03-agent-with-knowledge)

#### Stateless agents, teams, and workflows for simpler, more reliable execution

**Key improvement:** No more confusing internal state management on agents and teams. They are now fully stateless. [See the basic agent example.](https://docs.agno.com/examples/getting-started/01-basic-agent)

#### Central hub where you interact with your agents, manage knowledge bases, track sessions, monitor performance, and control user access

**Key improvement:** Better control -> cancelling of runs, setting custom events, etc.

```python
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.anthropic import Claude
from agno.os import AgentOS
from agno.tools.mcp import MCPTools

# Create the Agent
agno_agent = Agent(
    name="Agno Agent",
    model=Claude(id="claude-sonnet-4-0"),
    # Add a database to the Agent
    db=SqliteDb(db_file="agno.db"),
    # Add the Agno MCP server to the Agent
    tools=[MCPTools(transport="streamable-http", url="https://docs-v2.agno.com/mcp")],
    # Add the previous session history to the context
    add_history_to_context=True,
    markdown=True,
)

# Create the AgentOS
agent_os = AgentOS(agents=[agno_agent])
# Get the FastAPI app for the AgentOS
app = agent_os.get_app()
```

Check out a [full example.](https://docs.agno.com/introduction/first-agent#build-your-first-agent)

### And a whole lot more...

Agno 2.0 also introduces AgentOS… but more on that later. 🚀

See the [Changelog](https://docs.agno.com/how-to/v2-changelog) for more details on Agno 2.0. Or check out this [guide](https://docs.agno.com/how-to/v2-migration) for help migrating your Agno applications from v1 to v2.

🧡 Team Agno
