Release history
agno releases
Build, run, manage agentic software at scale.
All releases
44 shown
Model providers, YouTools, DOCX, streaming, run changes
AG-UI fix + path safety hardening + Antigravity
Slack approvals + JWT binding
- Fixed MCP IDOR: bound `user_id` on AgentOS MCP tool handlers to the authenticated JWT subject, preventing cross‑tenant reads and writes.
- Gemini Multimodal File Search (requires google-genai≥1.75.0)
- GmailContextProvider and CalendarContextProvider added
- Scheduler support for Mongo and AsyncMongo DB
Full changelog
Changelog
New Features:
- Gemini Multimodal File Search: Added multimodal support in the Gemini File Search API (for
google-genai≥1.75.0). See cookbook. - Context Providers: Added
GmailContextProviderandCalendarContextProviderfollowing the same pattern as existing providers (GDrive, Slack, Database). Also updatesGDriveContextProviderto support OAuth in addition to service account auth. - Scheduler: Added scheduler support for Mongo and AsyncMongo Db to run agents, teams, and workflows on a cron in AgentOS.
- Workflow Condition Step: Added
on_errorhandling to theConditionworkflow step, allowing users to control how errors are handled when sub-steps within a condition fail.
Improvements:
- LLMsTxt Tools: Added an
allowed_hostsparam so agents only fetch from hosts you trust. - SlackContextProvider: Add
enable_media_toolsflag (default:False) to control file download/upload.download_fileadded to read toolsupload_fileadded to write tools
Bug Fixes:
- MCP IDOR: Fixed to bind the
user_idon AgentOS MCP tool handlers to the authenticated JWT subject to prevent cross-tenant reads and writes. - Toolkit Instructions: Fixed
@tool(instructions=...)to take effect when used inside a Toolkit. - Metrics: Fixed to accumulate parser, output, and member metrics in team run_response.
- Workflow: Fixed to persist mid-step workflow run cancellation.
- SQLTools: Updated to include column default in
describe_table. - Slack Interface: Fixed to replace Slack bot @mention with display name instead of stripping.
- GoogleDriveTools: Fixed binary file errors + Office extraction + Shared Drive params in
GoogleDriveTools. - ChromaDb: Fixed to offload async batch upsert/insert to worker thread.
- Memory: Fixed include identity fields in
update_memoryanddelete_memorytools.
What's Changed
- fix: accumulate parser, output, and member metrics in team run_response by @ysolanky in https://github.com/agno-agi/agno/pull/7704
- fix: workflow cancellation persistance by @kausmeows in https://github.com/agno-agi/agno/pull/7732
- fix: include column default in describe_table by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7703
- feat: add search_messages and media tools to SlackContextProvider by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7702
- cookbook: frameworks quickstart for Agno + Claude Code + LangGraph + DSPy by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7743
- fix: replace Slack bot @mention with display name instead of stripping by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7750
- fix: add allowed_hosts allowlist to LLMsTxtTools by @harshsinha03 in https://github.com/agno-agi/agno/pull/7759
- feat: add on_error handling to Condition step by @rotem-bar-cyera in https://github.com/agno-agi/agno/pull/7214
- feat: add Gmail and Calendar context providers by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7747
- fix: binary file errors + Office extraction + Shared Drive params in GoogleDriveTools by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7764
- fix: surface per-tool instructions when registered via Toolkit by @harshsinha03 in https://github.com/agno-agi/agno/pull/7798
- fix: chromadb offload async batch upsert/insert to worker thread by @basnijholt in https://github.com/agno-agi/agno/pull/7711
- fix: include identity fields in update_memory and delete_memory tools by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6550
- [feat] Added scheduler support for mongo by @abhi10691 in https://github.com/agno-agi/agno/pull/6938
- fix: bind MCP tool
user_idto JWT subject by @sannya-singal in https://github.com/agno-agi/agno/pull/7811 - feat: gemini file api multimodal by @kausmeows in https://github.com/agno-agi/agno/pull/7788
- chore: Release v2.6.5 by @kausmeows in https://github.com/agno-agi/agno/pull/7809
New Contributors
- @rotem-bar-cyera made their first contribution in https://github.com/agno-agi/agno/pull/7214
Full Changelog: https://github.com/agno-agi/agno/compare/v2.6.4...v2.6.5
- WikiContextProvider with filesystem and git backends
- Web context ingestion support
- Read/write access flags
Full changelog
Changelog
New Features
WikiContextProvider(#7720): New context provider with filesystem and git backends, web ingestion, and read/write flags.
What's Changed
- feat: add WikiContextProvider with FS + git backends, web ingestion, read/write flags by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7720
- chore: release 2.6.4 by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7724
Full Changelog: https://github.com/agno-agi/agno/compare/v2.6.3...v2.6.4
- Workspace context provider
- Engineering briefing cookbook
Full changelog
What's Changed
- feat: add workspace context provider by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7709
- refactor: simplify SlackContextProvider, remove factory methods by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7710
- refactor: clean up SlackContextProvider and optimize channel resolution by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7708
- refactor: clean up Slack context provider and add engineering briefing cookbook by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7706
- Release: v2.6.3 by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7713
Full Changelog: https://github.com/agno-agi/agno/compare/v2.6.2...v2.6.3
- Deprecated provider models removed in migration to latest supported versions
- Added Workspace toolkit enabling agents local machine access (read, write, delete, shell) with human-in-the-loop confirmation gates
- Updated model provider defaults to newer, actively supported versions for improved performance and reduced costs
Full changelog
Changelog
New Features:
- Workspace Tools: Added a polished local-machine toolkit that gives agents
read/list/search/write/edit/move/delete/shellaccess to arootdirectory tree, with destructive operations gated by Agno's built-in human-in-the-loop confirmation by default.
Improvements:
- Models: Updated default
idfor multiple model providers to newer, actively supported models to prevent upcoming deprecations, improve performance consistency, and significantly reduce operational costs.
Bug Fixes:
- Workflow HITL: Fixed to preserve HITL review config in
deep_copyfor Step, Router, and Loop.
What's Changed
- fix: preserve HITL review config in deep_copy for Step, Router, and Loop by @kausmeows in https://github.com/agno-agi/agno/pull/7694
- [feat] migrate to latest provider models and remove deprecated ones by @chiruu12 in https://github.com/agno-agi/agno/pull/7681
- feat: add Workspace toolkit with HITL confirmation gates by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7683
- chore: Release v2.6.2 by @kausmeows in https://github.com/agno-agi/agno/pull/7701
Full Changelog: https://github.com/agno-agi/agno/compare/v2.6.1...v2.6.2
- Multi-block Claude prompt caching with per-block TTL override
- ParallelMCPBackend for web_search and web_fetch tools
- Deterministic tool ordering for stable cache hits
Full changelog
Changelog
New Features:
- Claude Prompt Caching (Multi-Block): Three Anthropic prompt caching enhancements, scoped to the Claude model (#7662):
- New
system_prompt_blocks: List[SystemPromptBlock]onClaude— each block hastext,cache, and optionalttl("5m"or"1h") that overrides the model-levelextended_cache_timeflag per block. - New
cache_tools: boolon Claude (Anthropic, AWS Bedrock, VertexAI). Addscache_controlto the last tool so the tool prefix is cached. - Deterministic tool ordering in
Model._format_tools(sort by name), so request prefixes stay stable across runs and prompt caches actually hit. Applies across Anthropic, OpenAI, Gemini, and Bedrock.
- New
- Parallel MCP Backend: Added
ParallelMCPBackendas a new web backend forWebContextProvider(#7667). Talks to Parallel's public MCP server atsearch.parallel.ai/mcp, exposingweb_search+web_fetch(compressed markdown output). Keyless by default; Bearer-auth viaPARALLEL_API_KEYfor higher rate limits; optional OAuth endpoint viause_oauth=True. Defaults to a 30s timeout (up fromMCPTools' 10s) becauseweb_fetchfrequently runs longer on large pages.
Improvements:
- OpenAI Model String: Mapped
"openai:"model string prefix toOpenAIResponses(previouslyOpenAIChat). Added"openai-chat:"as a fallback for users who still needOpenAIChat.Agent(model="openai:gpt-5.4")now resolves toOpenAIResponses(id="gpt-5.4").
Bug Fixes:
- A2A: Pinned
a2a-sdk>=0.3.0,<1.0in the release workflow.a2a-sdkv1.0 has breaking changes that need to be adopted in a follow-up. - Cookbook:
- Fixed outdated Redis cookbook docs - removed dependency install and setup commands that are no longer needed (#7615).
- Fixed
output_schemaexample to demonstrateoutput_schemawith a Pydantic model (it was incorrectly usingoutput_modelwith web search). - Fixed typo in
cookbook/05_agent_os/README.mdthat referenced a non-existentagno_agent.py(corrected toagno_assist.py) (#7663).
What's Changed
- chore: map "openai:" model string to OpenAIResponses by @kausmeows in https://github.com/agno-agi/agno/pull/7655
- fix typo in 05_agent_os readme by @asifshaikh in https://github.com/agno-agi/agno/pull/7663
- [cookbook] fix outdated docs for Redis by @edlng in https://github.com/agno-agi/agno/pull/7615
- feat: add ParallelMCPBackend for web search via Parallel MCP by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7667
- feat: multi-block prompt caching for Claude by @ysolanky in https://github.com/agno-agi/agno/pull/7662
- chore: Release v2.6.1 by @kausmeows in https://github.com/agno-agi/agno/pull/7666
New Contributors
- @asifshaikh made their first contribution in https://github.com/agno-agi/agno/pull/7663
- @edlng made their first contribution in https://github.com/agno-agi/agno/pull/7615
Full Changelog: https://github.com/agno-agi/agno/compare/v2.6.0...v2.6.1
- /sessions endpoint now returns all session types by default
- Team HITL and Approvals
- Multi-framework support (ClaudeAgentSDK, Langgraph, DSPy)
- Reconnection and Resume Runs for background agents
Full changelog
Changelog
New Features:
- Team HITL: Added API layer for Team human in the loop and support in
AgentOSchat page. - Team Approvals: Added support for Approvals in Team, along with in
AgentOSchat page. - Workflow Executor HITL: Added support for executor level human in the loop in case when a pause tool flow is setup on an agent/team in a particular step of a workflow.
- Multi-framework support in AgentOS (Beta): Added basic support for
ClaudeAgentSDK,LanggraphandDSPyusing a singleAgentProtocolas the backbone which works withAgentOSruntime. - Reconnection and Resume Runs: Agent/Team running in background using SSE can now be reconnected and resumed in AgentOS in case of a interruption (refresh) so you start from where you left.
- Factories: Agent/Team/Workflow can now be created dynamically at run-time using
AgentFactory,TeamFactoryandWorkflowFactoryallowing for more multi-tenant usecases. - Context Provider: Added
agno.context— a first-party API for plugging an external source (filesystem, web, SQL database, Slack, Google Drive, MCP server) into anagent as a natural-language tool.
Bug Fixes:
- Callable Factory:
- Fixed to preserve factory tools and members when Agent/Team is copied.
- Fixed to skip iteration of callable-factory tools in
Agent.deep_copy.
- Telegram Interface:
- Fixed to respect retry_after on Telegram 429 rate limit errors
- Added quoted_responses option to Telegram interface
- Agent OS Router: Fixed
GET /workflows/{id}which omitted nested workflow steps andCondition.else_steps(along with the agents inside them) from the response - Workflow: Fixed to preserve
parent_step_idthrough nested workflow enrichment layers in case of workflow as a workflow step. - MCP: Fixed to handle None headers when merging init headers in MCP tools.
- Claude: Fixed to make anthropic imports lazy in
agno.utils.models.claude. - Remote Content Source: Fixed where two uploads of the same filename from different remote sources (GitHub repos, S3 buckets, GCS buckets, etc.) produced identical
content_hashvalues. - FileTools: Fixed to add
exclude_patternstoFileTools. - Agent HITL: Fixed pause-continue flow not handling subsequent tool calls.
Breaking Changes:
- Session Type Filter: The
/sessionsendpoint now returns all session types (agent, team, and workflow) by default, giving you a complete view of your sessions in a single call. To filter for a specific type, pass?type=agent?type=team, or?type=workflowin your request.
- Disable file citations option
- Per-request GitHub repository configuration
- SalesforceTools for CRM integration
- Azure AI Foundry Claude provider
- LLMsTxt standard support
- Team skills support
- Nested workflow support
- HITL output review
- Fallback Models for Agents and Teams
- Azure Blob SAS authentication
- Claude 4.6+ compatibility
- Enhanced /sessions API
- /info API endpoint
- Slack interface card rotation
- Docling tool integration for document processing
- SchedulerTools toolkit for agent-driven schedule management
Full changelog
What's Changed
- fix: preserve server tool blocks in Claude conversation history by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6879
- [feat] Docling tool integration with tests and cookbook example by @juliomsilva in https://github.com/agno-agi/agno/pull/6277
- feat: add SchedulerTools toolkit for agent-driven schedule management by @ysolanky in https://github.com/agno-agi/agno/pull/7221
- fix: Coda integration fixes (CodingTools, Slack, team streaming, learning) by @ashpreetbedi in https://github.com/agno-agi/agno/pull/7208
- fix: handle msg_too_long in Slack streaming path by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7219
- chore: release 2.5.12 by @ysolanky in https://github.com/agno-agi/agno/pull/7229
New Contributors
- @juliomsilva made their first contribution in https://github.com/agno-agi/agno/pull/6277
Full Changelog: https://github.com/agno-agi/agno/compare/v2.5.11...v2.5.12
- Google Slides Toolkit with GoogleAuth for creating and editing slides
- Cross-model tool call compatibility for model interchange
- PerplexitySearch toolkit
Full changelog
Changelog
New Features:
- Google Sides Toolkit: Added new slides toolkits for creating / editing and working with Google slides
- Google Auth Toolkit: Added
GoogleAuthtoolkit and shared auth decorator for Google toolkits. - Models: Added cross-model tool call compatibility to facilitate interchanging model pattern.
- Chunking: Added custom prompt support to
AgenticChunking - Perplexity: Added a
PerplexitySearchtoolkit.
Improvements:
- Migration: Added migration for approvals table
run_statuscolumn valid for≥v2.5.6 - LanceDb: Updated to deduplicate search results in
search()in order to avoid hybrid search returning the same document from both vector and FTS branches. - Seltz Toolkit: Updates for Seltz SDK integration from
0.1.xto0.2.0.
Bug Fixes:
- Team: Fixed async toolkit tools not appearing in team system message tool names.
- LanceDB: Fixed duplicate results when using hybrid search.
- Claude:
- Added support for Anthropic's top-level
output_configrequest parameter for Claude wrappers, so users can pass values likeoutput_config={"effort": "high"}together with adaptive thinking. - Preserve
$defsin Claude tool schema formatting - Extract
file_idsand container info in streaming path for Claude skills
- Added support for Anthropic's top-level
- Tool Calling: Fixed parsing of tool calls to use assign instead of append function name in streaming
parse_tool_calls. - LiteLLM: Updated to prevent empty strings from overwriting tool names in LiteLLM streaming
- AWS Bedrock: Fixed to ****fail fast for unsupported
AWS_BEDROCK_API_KEYauth in Claude. - Azure OpenAI: Fixed to override deepcopy to preserve client references.
- Openrouter: Fixed to skip empty reasoning block for non-reasoning models.
- Caching Responses: Updated to handle non-serializable types in cache key generation.
What's Changed
- fix: include async toolkit functions in team system message tool names by @kausmeows in https://github.com/agno-agi/agno/pull/7042
- feat: cross-model tool call compatibility for interchange model pattern by @ysolanky in https://github.com/agno-agi/agno/pull/6971
- feat: add Claude output_config passthrough by @SalimELMARDI in https://github.com/agno-agi/agno/pull/7067
- chore: update exa tools description by @theishangoswami in https://github.com/agno-agi/agno/pull/7099
- fix: assign instead of append function name in streaming parse_tool_calls by @metaphorics in https://github.com/agno-agi/agno/pull/6989
- feat: add custom prompt support to AgenticChunking by @sannya-singal in https://github.com/agno-agi/agno/pull/7085
- fix: prevent empty strings from overwriting tool names in LiteLLM streaming by @kausmeows in https://github.com/agno-agi/agno/pull/7132
- fix: preserve $defs in Claude tool schema formatting by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6085
- [fix] fail fast for unsupported AWS_BEDROCK_API_KEY auth in Claude by @pandego in https://github.com/agno-agi/agno/pull/6855
- [fix] Extract file_ids and container info in streaming path for Claude skills by @adiberk in https://github.com/agno-agi/agno/pull/7109
- fix: Azure OpenAI async client auth by @lmgarret in https://github.com/agno-agi/agno/pull/6955
- fix(openrouter): skip empty reasoning block for non-reasoning models by @pratikm778 in https://github.com/agno-agi/agno/pull/6946
- feat(tools): add PerplexitySearch toolkit by @kesku in https://github.com/agno-agi/agno/pull/6951
- feat: Add GoogleSlidesTools toolkit (Closes #6829) by @anshul-jain-devx108 in https://github.com/agno-agi/agno/pull/6830
- fix: gh ci workflow by @kausmeows in https://github.com/agno-agi/agno/pull/7152
- fix: handle non-serializable types in cache key generation by @ysolanky in https://github.com/agno-agi/agno/pull/7155
- fix: remove litellm from ci due to incident by @kausmeows in https://github.com/agno-agi/agno/pull/7154
- feat: rewrite GoogleDriveTools with smart export and async support by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6995
- feat: add GoogleAuth toolkit and shared auth decorator for Google toolkits by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7098
- chore: add migration for approvals table run_status column by @kausmeows in https://github.com/agno-agi/agno/pull/7158
- fix: lancedb deduplicate search results by @harsh21234i in https://github.com/agno-agi/agno/pull/7061
- feat: update seltz integration to SDK 0.2.0 by @WilliamEspegren in https://github.com/agno-agi/agno/pull/6891
- fix: resolve grpcio version conflict breaking CI tests by @ysolanky in https://github.com/agno-agi/agno/pull/7184
- chore: release 2.5.11 by @ysolanky in https://github.com/agno-agi/agno/pull/7071
New Contributors
- @theishangoswami made their first contribution in https://github.com/agno-agi/agno/pull/7099
- @metaphorics made their first contribution in https://github.com/agno-agi/agno/pull/6989
- @pandego made their first contribution in https://github.com/agno-agi/agno/pull/6855
- @lmgarret made their first contribution in https://github.com/agno-agi/agno/pull/6955
- @pratikm778 made their first contribution in https://github.com/agno-agi/agno/pull/6946
- @kesku made their first contribution in https://github.com/agno-agi/agno/pull/6951
- @anshul-jain-devx108 made their first contribution in https://github.com/agno-agi/agno/pull/6830
- @harsh21234i made their first contribution in https://github.com/agno-agi/agno/pull/7061
Full Changelog: https://github.com/agno-agi/agno/compare/v2.5.10...v2.5.11
- Telegram interface
- WhatsApp V2 with media support
- Docling document reader
- Built-in followup suggestions
- Custom datetime formatting
- Extended GoogleCalendarTools
- Human-readable IDs for agents and teams
- GitlabTools
- Workflow loop iteration output
- OpenAILikeEmbedder
- Session history search with limits
- ChromaDB deduplication
- GitHub App authentication
- Advanced filtering DSL for traces
- Google tools restructuring
- Slack streaming with progress cards
- ModelsLabTools image generation
- Multiple Slack instances support
- Metrics system redesign
- Workflow HITL at Step level
- Team task mode streaming
- Remote Knowledge API endpoints
- PDF content sanitization
- Metrics improvements
License changed from Mozilla Public License 2.0 to Apache Software License.
- CodingTools toolkit
- UserFeedbackTools toolkit
- Team member resolution improvements
- store_history_messages now defaults to False instead of True
- Knowledge instances require unique combination of database, table, and name
- Team execution modes
- Approval system with @approval decorator
- Cron-based scheduler
- Studio visual editor
- CEL expressions in workflows
- Neosantara provider support
- Workflow Condition Step else paths
- AwsBedrockReranker supporting Cohere Rerank 3.5 and Amazon Rerank 1.0
- MCPTools human-in-the-loop integration
Bug fixes for SurrealDB timestamps, Knowledge deduplication, and web crawling.
- SeltzTools toolkit
- add_search_knowledge_instructions parameter
Full changelog
Changelog
New Features:
- SeltzTools: A new toolkit featuring support for Seltz Search
add_search_knowledge_instructions: Addsadd_search_knowledge_instructionsparameter to Agent and Team class to control whether knowledge search instructions are added to the system prompt.`
What's Changed
- fix: knowledge cookbook bugs and improve consistency. Reverted by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6052
- [feat] Add Seltz tools integration by @WilliamEspegren in https://github.com/agno-agi/agno/pull/6133
- chore: update search knowledge base context by @ashpreetbedi in https://github.com/agno-agi/agno/pull/6181
- chore: release 2.4.5 by @ysolanky in https://github.com/agno-agi/agno/pull/6185
Full Changelog: https://github.com/agno-agi/agno/compare/v2.4.4...v2.4.5
- UnsplashTools for royalty-free image search
- Moonshot AI model provider integration
- ExcelReader class for .xls and .xlsx files
- Azure Blob Storage for Knowledge file loading
- OpenAI Responses API support for Ollama v0.13.3+ and OpenRouter
- N1N OpenAI-compatible model provider
- Excel (.xlsx/.xls) first-class Knowledge ingestion
- Github and Sharepoint private repo support
- Removed deprecated session_state, dependencies, user_id from tool functions
- stream_intermediate_steps → stream_events; yield_run_response → yield_run_output
- delegate_task_to_all_members removed from Team
- KnowledgeProtocol interface
- Agent/Team/Workflow database persistence
- Model and compression events
- Per-request isolation for agents, teams, and workflows
Full changelog
Changelog
Improvements:
- Per-Request Isolation: Improved request-level isolation for agents/teams/workflows in shared FastAPI processes.
What's Changed
- feat: isolation by @ashpreetbedi in https://github.com/agno-agi/agno/pull/5990
- chore: v2.3.26 by @kausmeows in https://github.com/agno-agi/agno/pull/5993
Full Changelog: https://github.com/agno-agi/agno/compare/v2.3.25...v2.3.26
- LearningMachine unified learning system with multiple learning types
- CodeChunker using AST for contextual code segmentation
- PythonTools base directory restriction
- MarkdownChunker heading control
- MongoDB version metadata
- Async tool functions
- Team run cancellation fix
- Agent Skills system
- Dynamic MCP headers
- A2A remote agent support