Serve MCP statelessly so any replica can answer any request
MCPConfig(stateless=True) serves /mcp without session tracking, so a multi-instance deployment no longer needs session affinity in front of it.
Sannya Singal
Software Engineer
MCPConfig(stateless=True) serves /mcp without session tracking, so a multi-instance deployment no longer needs session affinity in front of it.
Sannya Singal
Software Engineer
A new protocol_mode argument on MCPTools picks which MCP protocol era the client negotiates. It defaults to legacy, so existing servers are unaffected.
程序猿过家家, Sannya Singal
A new GET /mcp/server-card endpoint lists the tools your MCP server serves, with a configurable name, version and instructions, so a client can see what an instance offers before connecting.
Ashpreet Bedi, Sannya Singal
Archives and email files are now accepted file types for AgentOS uploads, so they can go straight into a run.
Luís Martins, Ashpreet Bedi, and 1 other
AuthorizationConfig.excluded_route_paths lists the custom routes that skip auth, so one public route no longer means disabling authorization across AgentOS.
Joho Labs, Mustafa Esoofally
The Bedrock model and embedder now accept an async client you supply, so you control the AWS session and configuration instead of the one Agno builds.
David Dellsperger, Himanshu Singh
Assistant turns are now replayed to Claude verbatim, so extended-thinking blocks survive the next turn instead of being altered and rejected.
Yash Pratap Solanky
Staff Software Engineer
An image's actual MIME type is resolved before it goes to Gemini, so a PNG or WebP crosses with the right type instead of being hard-coded as JPEG.
哈基米
Community contributor
RecursiveChunking no longer produces a duplicated chunk at the end of a document, so chunk counts and embeddings lose the extra copy.
Yash Raj Pandey, Sannya Singal
Remote entities now receive wire fields rather than the internal RunContext object, and run errors reach the client over the AG-UI stream instead of disappearing.
Ruiming Zhao, Himanshu Singh
A chunk that fails to embed is now visible and recoverable: files that only partly embedded are marked partial, retries are available, and embedders raise instead of returning an empty vector. Check your error handling when you upgrade.
Sannya Singal
Software Engineer
A new headers argument on MCPTools passes connect-time auth headers for Streamable HTTP and SSE directly, without building a StreamableHTTPClientParams object first.
LHMQ878
Community contributor
The new GandrTools toolkit lets an agent turn text into speech through the Gandr TTS API, built for voice agents and covering 23 languages with six voices.
Sam Alghaithi, Sannya Singal
Agno now supports llmman for running local models, using the same OpenAI-compatible pattern as its other local-server providers.
Eric Curtin, Ray, and 1 other
AgentOS now serves each agent, team, workflow, and toolkit you pass to MCPConfig.tools as its own named MCP tool, so a client calls it by name instead of through a generic run tool.
Ashpreet Bedi
Founder & CEO
Agno agents can now provision and operate their own email inbox through Atomic Mail, registering it themselves with no account setup and no human step.
Dominic Dalton
Community contributor
Run metadata now resolves component, then session, then call-site, so metadata passed to run() overrides the same key on agent.metadata. A behavior change worth checking when you upgrade.
Ashpreet Bedi, Mustafa Esoofally
MCPConfig now raises on fields it doesn't recognize, so a typo like tool= instead of tools= fails at construction instead of being silently ignored.
Ashpreet Bedi
Founder & CEO
For Gemini, Claude, Ollama, OpenRouter, and Moonshot, Agno now asks the provider whether a model supports reasoning before falling back to matching on the model id.
Ray, Sannya Singal
CodeMode(allow_shell=False) blocks shell execution again on IPython 9.17, which had let shell magics like %%bash keep running.
Ashpreet Bedi
Founder & CEO
Agno now derives each tool's JSON schema once and caches it across runs, removing per-run setup work for agents that carry large toolkits.
Ashpreet Bedi, Kaustubh Shukla, and 1 other
Session history now loads incrementally, one turn at a time, so response time stays roughly flat as a conversation gets longer.
Ashpreet Bedi, Kaustubh Shukla, and 1 other
Strict mode no longer raises a KeyError when a tool schema leaves out the properties key, so schemas registered verbatim, including MCP server schemas, now work.
Tai An
Community contributor
For Gemini 3 and later models, images and documents returned from tools are now nested inside the function response instead of being sent as sibling parts.
green3sf, Sannya Singal
Set offload_tool_results=True and any tool result over 16,000 characters goes to AgentFS instead of into context, leaving a short envelope with a preview, the size, and a result_id the agent can read or search on demand.
Ashpreet Bedi
Founder & CEO
Set media_storage and images, audio, video and files go to object storage instead of being persisted as base64 in the session row, leaving a small MediaReference behind. A 113 KB JPEG drops from about 151,000 characters to 2,897.
Kaustubh Shukla, rodrigocoliveira, and 3 others
An accepted background run is committed to your database before it starts, so any replica can pick it up and finish it. The queue is backed by your database, and Redis becomes optional coordination rather than the source of truth.
Yash Pratap Solanky, Kaustubh Shukla, and 2 others
CodeMode gives an agent a persistent Python kernel in place of a long list of individual tool calls. The model gets execute and restart, writes real Python, and calls your tools as awaitable handles.
Ashpreet Bedi
Founder & CEO
create_* now writes a private draft that serves no one until you publish it, published versions are immutable with rollback behind them, and compare-and-set guards reject a stale write with a typed 409 instead of clobbering a change.
Ashpreet Bedi, Kaustubh Shukla, and 1 other
Each run is now a row in a dedicated agno_runs table with real columns rather than being packed into the session record, so writes scale linearly and the item-size ceiling on stores like DynamoDB and Firestore is gone. A migration is required before v3.0 serves traffic.
Kaustubh Shukla, Yash Pratap Solanky, and 3 others
Per-user data isolation extends beyond sessions to metrics, schedules, evals, knowledge, components, entity memory and 17 vector databases, so you can run a multi-tenant product on a single AgentOS with real boundaries between users.
Kaustubh Shukla, Sannya Singal, and 2 others
FinanceTools is a single finance toolkit with swappable data providers, so an agent pulls prices, fundamentals and market data through one consistent interface while you choose the source underneath.
Ashpreet Bedi
Founder & CEO
New MiniMax video generation tools let an agent produce video as part of a run.
Octopus
Community contributor
Ramp Router joins as a model provider, and the xAI SuperGrok model now authenticates with device-code OAuth so you can connect it without pasting a long-lived key.
Himanshu Singh, Ashpreet Bedi, and 1 other
Every toolkit now carries a stable id that AgentOS uses to reference its tools, so a tool reference stays valid across restarts and deploys instead of depending on load order.
Yash Pratap Solanky
Staff Software Engineer
Cerebras and CerebrasOpenAI now default to gpt-oss-120b, Gemini defaults to 3.7 Flash, and Groq’s deprecated llama-3.3-70b-versatile default is now openai/gpt-oss-120b. Setting a model id explicitly is unaffected.
Ryan Loney, Sannya Singal, and 1 other
The condensed reference for every 2.x user upgrading to v3.0, covering storage, AgentOS, agents, teams and workflows, tools, knowledge, the scheduler, evals and models. The database migration is mandatory.
Kaustubh Shukla, Sannya Singal, and 6 others
New StudioRunnerTools hands out run access on its own: tools to list the components an orchestrator may run and to run one by id, with no create, edit or delete anywhere in the toolkit. Dispatched runs execute as the calling user.
Ashpreet Bedi
Founder & CEO
You can filter list_components by name to narrow the results to the component you're after instead of scanning the full list.
Ashpreet Bedi
Founder & CEO
The A2A stream client no longer drops Task-level metadata when it breaks on a status-update event. Metadata attached to a task now survives the stream instead of being lost partway through.
psinojiya
Community contributor
A workflow run started over WebSocket now uses the version you selected rather than falling back to another. The version you pin is the version that executes.
Ayush Jha, Kaustubh Shukla
Paused member runs are now persisted, so a team HITL resume works after the session is reloaded. An approval that arrives after a reload resolves against the run that was waiting for it.
Ashpreet Bedi
Founder & CEO
Loading a persisted component now keeps its toolkit instructions instead of dropping them, so a rehydrated agent behaves the same as it did before it was saved.
Ashpreet Bedi
Founder & CEO
Guarded framework return annotations against a case that could raise during introspection, so components that expose them load without error.
Ashpreet Bedi
Founder & CEO
New AdvisorTools lets an agent run a fast, cheap model as its primary and consult heavier models only when it decides a problem needs one. Hand it a list of advisors and it can ask one by name or ask them all and compare.
Yash Pratap Solanky
Staff Software Engineer
New OpenRouteServiceTools swaps an LLM's distance guesses for a real routing engine. Pass plain place names and an agent gets back accurate distances, real drive times, and turn-by-turn routes from live map data.
Yash Pratap Solanky
Staff Software Engineer
StudioTools can now schedule Studio-built components and read their past runs, with new history parameters for narrowing what you pull back.
Ashpreet Bedi
Founder & CEO
You can now override the FileSystemTools toolkit name instead of using the default, which makes it practical to mount more than one filesystem toolkit on a single agent and name each for the job it does.
Ashpreet Bedi
Founder & CEO
Loading a saved component no longer drops tools that are identified by their toolkit-qualified name. Persisted agents now restore their full tool set instead of coming back with pieces missing.
Ashpreet Bedi
Founder & CEO
A top-level confirmation now carries through to tool_execution when a requirement is deserialized, so an approval resolves against the right tool after a save-and-reload round trip.
Ashpreet Bedi
Founder & CEO
Fixed a crash when loading a team from SQLite caused by an unexpected label keyword argument. Teams stored on SQLite now load cleanly.
Himanshu Singh
Community contributor
Audio tool-result handling is more robust, so responses that don't match the expected shape no longer break the run.
Harshita Jain
Community contributor
Pinned installs away from nltk 3.10.1, which broke the unstructured import chain. Installs that depend on unstructured keep working.
Sannya Singal
Software Engineer
An explicit 0 for temperature, top_k, seed, frequency_penalty, or presence_penalty is no longer dropped before the request. Cohere calls now honor a deliberate zero instead of silently ignoring it.
Bharadwaj Pendyala
Community contributor
New SmallestTools lets an agent generate speech with Smallest AI's Lightning models. Call text_to_speech to turn text into natural audio, or get_voices to see what's on offer.
Harshita Jain
Community contributor
OpenSearch is now a supported vector database in Agno through agno.vectordb.opensearch. It handles vector, keyword, and hybrid search, in both sync and async variants, so you can back a knowledge base…
Pong Ng, Sannya Singal
AgentOS adds a GET /metrics/refresh/status endpoint so clients can watch a background metrics refresh instead of waiting blind and timing out.
New AgentOSTools gives an agent a read-only ops view of the AgentOS it runs on. Point it at your database and it can report on usage, latency, failures, schedules, evals, components, and pending…
Ashpreet Bedi, Yash Pratap Solanky
Traces now report latency and error stats grouped by agent, team, workflow, or endpoint, along with tool and model call stats, so you can see exactly where time goes and where things fail rather than…
Moonshot gains a use_thinking flag to turn thinking mode on or off, so you choose between deeper reasoning and faster, cheaper responses per use case.
Moonshot now preserves reasoning_content from one turn to the next, so a model's prior reasoning carries forward instead of being dropped.
delete_by_metadata now binds metadata keys and values as query parameters rather than inlining them, so deletions run correctly and safely regardless of what the metadata contains.
PRABHU KIRAN VANDRANKI, Sannya Singal
Agents are good at working with files, but the filesystem in most setups is a scratch directory that vanishes when the run ends.
Ashpreet Bedi
Founder & CEO
TwelveLabsTools now supports Marengo embeddings. Marengo embeds text into the same latent space TwelveLabs uses for video, audio, and image, so a written query and a video clip come out as vectors you…
mohit
Community contributor
A new respond_to_other_apps flag lets a Slack agent respond to messages from other agents, not just people.
Mustafa Esoofally, Yash Pratap Solanky
FileTools now exposes a directory parameter, so you can set where it reads and writes instead of relying on the default location.
Giridhar, Harsh Sinha
Learning stores add an extraction_tool_call_limit that bounds how many tool calls the extraction step can make.
Mustafa Esoofally
AI Engineer
stream_sub_agent_events is now supported across all context providers, not just a subset. Any provider that runs a sub-agent can surface its events as they happen, so you get consistent real-time…
Mustafa Esoofally, Harsh Sinha
New in Agno: a straight path from evaluation to fine-tuning data, built from a few pieces that snap together.
FileGenerationTools now generates code files, extending the toolkit beyond documents and data formats.
Anurag Sharma, Ray, and 1 other
Gmail tools now support pagination, with a max_results_per_request control over how many messages each request pulls.
Mustafa Esoofally
AI Engineer
A new AdanosTools toolkit gives agents multi-source stock sentiment and Reddit cryptocurrency sentiment from Adanos, drawing on signals across Reddit, X, financial news, and prediction markets.
Alexander Schneider
Community contributor
New in Agno: SuperserveTools, which lets an agent write and run its own code inside a Superserve sandbox. The sandbox is a Firecracker microVM, and the part that matters is that it persists.
Mohamed Sobhy, Harsh Sinha
New PlivoTools gives an agent a phone line. It can send SMS and place voice calls through Plivo, and look up a number before it does either.
Sarvesh Patil, Harsh Sinha
We've added an observability integration with The Context Company, so you can trace Agno agent runs and understand how they behave in the wild. Setup is one line.
Rohil Agarwal
Community contributor
agno create is now interactive, prompting you for a starter template and a project name instead of making you get the invocation exactly right up front.
Telegram tools gain pin_message, get_chat, get_file, and react_with_emoji, so agents can manage a chat more fully rather than just posting to it.
Shaun McAvinney, Mustafa Esoofally
Tavily searches now accept domain, date range, topic, and country filters, so you can pin an agent's searches to exactly the sources, timeframe, and region that matter.
Oxylabs website scraping can now return full page content as Markdown, so an agent receives clean, structured text it can actually read and reason over rather than raw HTML.
oxy-giedrius, Mustafa Esoofally
Router selectors and Condition evaluators now accept run_context, giving that logic access to the full run context when deciding which branch to take.
Kaustubh Shukla
Senior Software Engineer
ValkeyDb brings Valkey to Agno as an in-memory database for agents, teams, and workflows. Your sessions and state live in memory, so reads and writes stay quick under load.
Valkey also lands as a vector store, and it runs both vector and keyword search from the same backend. You can do semantic and lexical retrieval over one in-memory store.
New RedmineTools lets an agent work directly in Redmine, the open source project tracker. It can find and read issues, create and update them, leave comments, and log time against them.
Anna Tao, Edward Liang, and 1 other
TokenLab joins as a new OpenAI-compatible model provider, so you can point agents at TokenLab using the interface you already know.
hedging8563
Community contributor
Saving session context no longer makes an extra model call it didn't need. Cutting that redundant round trip trims latency and token cost on every save, so long-running sessions stay leaner without…
Dex Hunter
Community contributor
AG-UI now extends its support for human-in-the-loop confirmation, input, and feedback, so more of your approval and input flows work natively through the interface.
Mustafa Esoofally
AI Engineer
Memory and profile extraction from conversations is now more dependable, so agents pick up and retain the right details about a user more consistently.
When an MCP server becomes unreachable, Agno now surfaces a clear error instead of a confusing failure.
MCP tools that respond with just structuredContent and no text block now work correctly. Agno reads the structured payload as intended, so tools following that response shape integrate without special…
李政达, Harsh Sinha
Set AgentOS(mcp_auth=...) to put standards-based OAuth in front of your /mcp endpoint. Instead of relying only on tokens, you can gate MCP access through a proper OAuth flow, so connecting clients…
Ashpreet Bedi
Founder & CEO
AG-UI now supports client tool execution, so a tool can run in the frontend rather than only on the server.
Mustafa Esoofally
AI Engineer
agno connect gains the controls you need once you're wiring up more than one target. You can select multiple targets at once, tear a connection down with disconnect, and lean on restart hints when a…
Ashpreet Bedi
Founder & CEO
A2A scope mappings now live on the interface itself, with proper support for custom mount prefixes. Routes served under a non-default prefix get the scope checks they're supposed to, so authorization…
Mustafa Esoofally
AI Engineer
Service accounts give AgentOS proper machine identities in the form of agno_pat_... personal access tokens.
A new CLI ships as agnoctl on PyPI and runs as agno. agno connect discovers an AgentOS, mints per-client PATs, and writes MCP config for Claude Code, Claude Desktop, Cursor, Codex, and ChatGPT, then…
MCP Interface v2 exposes a clean eight-tool operator surface at /mcp: get_agentos_config, run_agent, run_team, run_workflow, continue_run, cancel_run, get_sessions, and get_session_runs.
A new agno.eval layer gives you a proper suite runner built from Case and run_cases/arun_cases, plus an argparse CLI that supports team subjects and numeric judge scoring.
A new GET /info endpoint reports the agno_version, whether MCP is enabled and at what path, and the auth_mode.
A single AuthMiddleware on the parent app now covers REST, /mcp, and WebSocket transports, so auth no longer drifts from one transport to the next.
check_route_scopes now runs identically across JWT, service-account, and MCP paths, and a data-driven get_resource_context_from_path replaces the old hardcoded substring matching.
A2A and AGUI routes now enforce authorization alongside authentication, with scope mappings merged per interface at the mount prefix.
MCP components now resolve through shared resolve_* helpers that make create_fresh deep copies instead of sharing singleton state, and a fresh session is minted per call whenever session_id is…
Runs kicked off through MCP now start their own root trace instead of nesting under FastMCP's identity-less protocol span.
A new TwelveLabsTools toolkit lets your agents analyze videos and generate multimodal text embeddings, so video becomes something an agent can search, summarize, and reason over rather than a black…
mohit, Kaustubh Shukla
A new SofyaTools toolkit gives agents search, extraction, and research in one place, so they can find sources, pull content, and dig into a topic through a single integration.
Yusuf Gürdoğan, Kaustubh Shukla
A new SearchApiTools toolkit wires up SearchAPI's Google, News, Images, and YouTube endpoints, so an agent can run several kinds of search from one toolkit instead of stitching together separate…
federico goncalvez, Kaustubh Shukla
The base Toolkit now takes a timeout, and HTTP timeouts are wired across the tools, with support extended to more toolkits.
Kaustubh Shukla
Senior Software Engineer
StudioTool is now StudioTools, bringing it in line with the plural naming the other toolkits use. A backward-compatible alias keeps the old name working, so existing code runs unchanged while you move…
Yash Pratap Solanky
Staff Software Engineer
LocalFileSystemTools can now read files, not just write them, once you set the enable_read_file flag. By default it keeps every file operation inside your target_directory, so an agent stays within…
冯基魁, Harsh Sinha
Land your traces in ClickHouse and let a column store built for analytics carry the load. It ingests heavy trace volume and runs fast OLAP scans, so aggregating and slicing observability data stays…
Kaustubh Shukla, Harsh Sinha
Add the new Scavio toolkit to an agent and it gains Scavio-backed web search instantly, the same way it picks up any other Agno toolkit.
scavio-ai, Kaustubh Shukla
Grab the citations behind a grounded OpenAI answer directly from response.citations, now populated for the OpenAIChat and OpenAILike providers.
Run AgentOS on FastAPI >= 0.137 and get_routes() returns every registered route. You get the full picture of your deployment when you introspect it, rather than a partial list.
Turn on native structured outputs and JSON schema outputs for LiteLLM per provider with supports_native_structured_outputs or supports_json_schema_outputs.
Deepak Walia, Harsh Sinha
Google toolkits now share one auth base class, so authentication works consistently across all of them. You get a cleaner, more predictable foundation and integrations that are easier to maintain.
Mustafa Esoofally
AI Engineer
Surface as many suggested prompts as your interface calls for. AgentOS drops the three-per-entity cap on quick_prompts, so you shape the list around your users instead of an arbitrary limit.
Agno now checkpoints runs at the tool-batch level and exposes a unified /continue endpoint that handles both regenerating a run and forking it, along with support for forking sessions.
Ashpreet Bedi, Kaustubh Shukla, and 1 other
A new StudioTool toolkit lets an agent dynamically compose other Agno primitives, assembling agents, teams, and workflows at runtime rather than wiring them all up ahead of time.
GeminiInteractions now imports lazily, so pulling in Gemini no longer forces google-genai 2.0 on your environment.
Yash Pratap Solanky, Kaustubh Shukla
The PII guardrail's custom_patterns now accepts raw regex strings and compiles them for you, so you can add a pattern inline instead of pre-compiling it yourself.
PRABHU KIRAN VANDRANKI, Harsh Sinha
ClickHouse and Pinecone vector DBs now report their supported search types through get_supported_search_types(), matching the other vector stores.
SalimELMARDI, Harsh Sinha
Rebuilding a DB-stored agent or team now reuses the live model instance from the registry instead of reconstructing it from scratch.
Yash Pratap Solanky
Staff Software Engineer
Loading agents and teams from the database now isolates each component, so a single bad component gets skipped instead of dropping the whole set.
Yash Pratap Solanky
Staff Software Engineer
The registry now deduplicates toolkits by their type, name, and function set, so a toolkit that gets re-instantiated collapses onto the existing entry instead of adding a duplicate.
Yash Pratap Solanky
Staff Software Engineer
The AgentOS MCP server at /mcp is now a real extension point, configured through a single MCPServerConfig object rather than custom middleware.
Ashpreet Bedi, Kaustubh Shukla
AgentOS now exposes create, read, update, and delete endpoints for learnings, giving you direct control over what an agent has learned instead of treating that store as write-only.
Yash Pratap Solanky
Staff Software Engineer
Gemini no longer does a per-response cleanup that could race when multiple responses were in flight at once.
Mustafa Esoofally
AI Engineer
For providers that use json_object structured output, Agno now passes the JSON formatting instructions into the follow-up prompt as well, not just the initial one.
Sai Chandan Regonda
Community contributor
MultiMCP now handles connection failures cleanly (v2.6.13), so a single server that fails to connect no longer disrupts the others.
Ritwij Aryan Parmar
Community contributor
Content hashing now folds metadata into the content hash (v2.6.13), so upsert=False inserts of the same document no longer collapse into one.
Sannya Singal
Software Engineer
A ready-made Slack app manifest now ships for the AgentOS Slack interface (v2.6.13), so you can create the Slack app from a known-good configuration instead of assembling scopes and settings by hand.
Mustafa Esoofally
AI Engineer
Paused workflows now surface approval requests and take responses over a live socket connection (v2.6.13), so a reviewer can approve or reject mid-workflow in real time rather than polling for pending…
Kaustubh Shukla, Anurag Sharma
The registry gained knowledge and managers support (v2.6.10), and the AgentOS registry now auto-populates from the agents, teams, and workflows you've defined (v2.6.13).
Yash Pratap Solanky
Staff Software Engineer
Context providers now stream their sub-agent events through to the parent run (v2.6.10, refined in v2.6.13), so a provider that runs its own sub-agent surfaces that work as it happens instead of going…
Mustafa Esoofally
AI Engineer
A new Latitude observability example sends traces via OpenInference, giving you a ready reference for piping agent traces into Latitude rather than figuring out the integration yourself.
William
Community contributor
A new worked WorkOS RBAC example gives you a concrete starting point for wiring role-based access control into an AgentOS deployment, instead of assembling the pattern from scratch.
Monalisha Mishra
Senior Software Engineer
Tuning Engines joins the lineup as a new model provider, extending the set of models you can run agents on without leaving Agno.
cerebrixos, bazooka720
The AG-UI integration now emits state events, so a front-end built on AG-UI can follow an agent's state as it changes and react in real time rather than waiting for the run to finish.
Bryan Sharpe, Uzair Ali, and 2 others
FileGenerationTools adds two output formats: DOCX (v2.6.10) and HTML (v2.6.12), the latter shipping with an example app.
Ray, Kaustubh Shukla
A new Manifest adds per-entity UI metadata to AgentOS, so every agent, team, and workflow carries its own presentation details rather than sharing one generic look.
Yash Pratap Solanky
Staff Software Engineer
The Parallel integration now reaches beyond web search. v2.6.11 added tools for Parallel's Task API and Monitor API, so an agent can kick off task executions and track their progress rather than only…
Mustafa Esoofally, Kaustubh Shukla
Agno adds first-party integrations for four more providers, widening the set of models you can run agents on without leaving the framework.
Carlos Senobio, Ray
A new YouTools toolkit wires up the You.com Search API, so an agent can run web searches through You.com with no custom client to build.
Brian Sparker
Community contributor
Agno now supports DOCX file generation, so an agent can produce a finished .docx as output rather than handing back raw text for someone to format.
Gabriele Lerani, Ray, and 1 other
Context providers can now stream the events from their sub-agents, so a provider that runs its own agent surfaces that work as it happens instead of going quiet until the final result.
Mustafa Esoofally
AI Engineer
The registry now supports knowledge and managers alongside the components it already tracks, so you can register and reuse those pieces through the same mechanism rather than wiring them up by hand…
Kaustubh Shukla
Senior Software Engineer
Agents, teams, and workflows now persist cancelled runs properly, so a run that gets cancelled is recorded in the database instead of vanishing.
The RunCompleted event now carries a files field, so anything listening for run completion can grab the files a run produced directly off the event instead of fetching them separately.
Anurag Sharma
Software Engineer
The model string parser now recognizes the google-interactions provider, so you can select GeminiInteractions through a model string rather than importing and constructing the class yourself.
Yash Pratap Solanky
Staff Software Engineer
Updated DeepSeek V4's thinking mode and default settings so agents on DeepSeek run against current, sensible defaults out of the box.
Ray
Community contributor
Post-hooks and observability integrations can now read the complete resolved approval record, including resolved_by and resolved_at, through run_response.metadata["approval"].
Brandon Bennett
Community contributor
PgVector(prefix_match=True) used to be a silent no-op: it appended a * and then routed through websearch_to_tsquery, which ignores wildcards.
Ashpreet Bedi
Founder & CEO
On the agent path for Antigravity and Deep Research, the autonomous loop runs its tools inside Google's server-managed sandbox.
Yash Pratap Solanky
Staff Software Engineer
Claude on Anthropic, AWS, and VertexAI used to silently drop an explicit 0 for temperature, top_p, or top_k, since a bare truthiness check treated 0.0 as unset and fell back to the API default near…
PRABHU KIRAN VANDRANKI
Community contributor
You can now run Google's two most capable managed agents, autonomous research and a code-running sandbox, without leaving the Gemini setup you already have.
Kaustubh Shukla, Yash Pratap Solanky
You can now give your agents a full code-running, web-browsing, file-editing sandbox without building or operating any of it.
ParallelMCPBackend now sends a User-Agent: agno/<version> header on every request, so Parallel can attribute the traffic your agents generate.
Matt Harris
Community contributor
EvalsDomainConfig drops its unused available_models field, leaving the top-level AgentOSConfig.available_models as the only supported source for the model dropdown in the Evals UI.
Harsh Sinha
Senior Software Engineer
Updated the Chonkie dependency pin as a follow-up to #7869, so installs resolve to the version Agno expects.
Renamed gemini-3-flash-preview to gemini-3.5-flash across the Gemini Interactions cookbooks, so copied examples run against the current model ID instead of the preview name.
Yash Pratap Solanky
Staff Software Engineer
A new GeminiInteractions model class builds on Google's stateful Interactions API, so agents can talk to the interactions endpoint directly instead of Gemini's generateContent.
Yash Pratap Solanky
Staff Software Engineer
AgentOS now offers an opt-in per-user data isolation layer for authenticated endpoints, so one deployment keeps each user's data separated rather than pooling it together.
Samuel Jupe, Kaustubh Shukla, and 2 others
URL-fetching knowledge readers now take an allowed_hosts parameter, so a reader pulls only from hosts you trust and rejects everything else.
Sannya Singal, Harsh Sinha
Qdrant's async_insert no longer calls the sparse encoder twice. Hybrid inserts now encode once, cutting wasted compute on every write to a Qdrant collection.
Sannya Singal
Software Engineer
A child agent's spans no longer overwrite the parent trace's session_id, agent_id, or team_id when both share a trace_id.
The workflow HITL continue path now calls the async acleanup_run when it runs in an async context, rather than the synchronous version.
Abhinav Kumar, Kaustubh Shukla
Reviewers no longer have to chase pending approvals one at a time. The Slack interface now supports multi-row approvals with all pause types covered, so a reviewer can resolve several pending…
Mustafa Esoofally
AI Engineer
WikiContextProvider now supports a NotionDatabaseBackend source, so you can point an agent's wiki at a Notion database and have it query that content directly rather than maintaining a separate store.
Ashpreet Bedi
Founder & CEO
Registering two tools under the same name on an agent or team used to fail quietly, with one definition shadowing the other and no signal as to why a tool misbehaved.
Yash Pratap Solanky
Staff Software Engineer
aget_last_run_output no longer returns None when agent.id is auto-generated during arun(). You get the run output back whether or not you set an explicit agent ID, so code that reads the last result…
Kaustubh Shukla
Senior Software Engineer
The /continue endpoint now forwards dependencies and metadata through get_request_kwargs, so a resumed run sees the same context as the original call.
Yash Pratap Solanky
Staff Software Engineer
LearningMachine now injects its context into the Team system prompt, not just the agent path. Teams get the same learned context that individual agents already received, so their behavior reflects it…
Mustafa Esoofally
AI Engineer
Agno now supports multimodal inputs in the Gemini File Search API, so agents can index and semantically search across images alongside text rather than text alone.
Kaustubh Shukla
Senior Software Engineer
Email and calendar are two of the most-requested grounding sources, and wiring them up usually means custom API clients and token plumbing.
Mustafa Esoofally
AI Engineer
Fetch tools that follow links are an SSRF and data-exfiltration risk in production. LLMsTxtTools now takes an allowed_hosts parameter that closes that surface: an agent only fetches from hosts you…
Harsh Sinha
Senior Software Engineer
File handling is powerful but not always wanted, so SlackContextProvider now puts it behind an enable_media_tools flag that defaults to False.
Mustafa Esoofally
AI Engineer
The AgentOS scheduler now supports Mongo and AsyncMongo as backing stores, so teams already running on Mongo can schedule recurring runs of agents, teams, and workflows without standing up a separate…
Abhinav Kumar, Kaustubh Shukla, and 1 other
Conditional branches often wrap fragile work like external calls or tool execution, and until now a failure inside one would propagate unhandled and halt the run.
Rotem Bar, Kaustubh Shukla
Agno introduces WikiContextProvider, a context provider built specifically for wiki and knowledge-base content.
Ashpreet Bedi
Founder & CEO
SlackContextProvider has been simplified to a single, self-documenting configuration surface. The for_bot_read(), for_assistant_search(), and for_write() factory methods have been removed in favor of…
A round of fixes makes Slack-backed agents more predictable in production. The interface now gracefully falls back to public channels when the groups:read scope is missing, rather than failing…
Agno introduces WorkspaceContextProvider, a context provider purpose-built for agents that operate inside a repository root.
Ashpreet Bedi
Founder & CEO
A new Workspace toolkit gives agents structured access to a configurable root directory, with operations grouped by capability and destructive actions gated by human-in-the-loop confirmation by…
Ashpreet Bedi, Mustafa Esoofally, and 1 other
Agno has updated the default model id used by several model providers to newer, actively supported versions.
Agno now supports Anthropic's multi-block prompt caching for Claude models, giving teams granular control over what gets cached and for how long.
Yash Pratap Solanky
Staff Software Engineer
WebContextProvider now ships with a Parallel backend, giving agents access to high-quality web search and page fetch through Parallel's hosted research service.
Mustafa Esoofally, Kaustubh Shukla
The openai: model prefix now resolves to OpenAIResponses rather than the legacy Chat Completions surface.
AgentOS now runs agents built with the Claude Agent SDK, LangGraph, and DSPy alongside native Agno agents, all through a unified AgentProtocol interface.
The new agno.context API lets agents reach into filesystems, web sources, SQL databases, Slack, Google Drive, and MCP servers as natural-language tools.
Ashpreet Bedi
Founder & CEO
AgentFactory, TeamFactory, and WorkflowFactory let you create agents, teams, and workflows dynamically at runtime instead of defining them statically at startup.
Human-in-the-loop is now available for Teams, with full support in the AgentOS chat interface and a dedicated API layer.
Teams now support approval flows through both the API and the AgentOS chat interface. Sensitive actions can be paused for explicit human sign-off before they execute, giving operators a clear control…
Background runs streamed over Server-Sent Events can now reconnect and resume after a disconnection or page refresh. Operators rejoin the run exactly where they left off, with full context preserved.
The /sessions endpoint returns agent, team, and workflow sessions in a single response by default. This gives a complete view of session activity in one call, which is the most common use case for…
We fixed an issue where custom db table names set on components were being overwritten with defaults when those components were loaded back from configuration.
Yash Pratap Solanky
Staff Software Engineer
GitHubConfig now accepts a repository override at the request level, allowing agents that work across multiple repositories to specify the target repo per call rather than being locked to a single…
Yash Pratap Solanky, Mustafa Esoofally
A new option lets you turn off file citations in Claude responses. This is useful when citations add noise to the output, for example in conversational flows, summarization tasks, or any context where…
Joe Portela, Yash Pratap Solanky
We fixed an issue where headers supplied by header_provider were not being applied during MCP session initialization, only during subsequent requests.
Yash Pratap Solanky
Staff Software Engineer
We fixed an issue where knowledge databases were not being built live during configuration API calls, causing agents to operate without their knowledge base until a separate build step was triggered.
Sannya Singal
Software Engineer
We fixed an issue where events emitted by inner workflows could lose their identity or be misattributed when bubbling up through outer workflows.
Ayush Jha, Kaustubh Shukla
We fixed an issue where a shared HTTP/2 client was being injected across all model providers, causing connection conflicts and transient failures under concurrent load.
Yash Pratap Solanky
Staff Software Engineer
We fixed an issue where cancellation of a client connection during streaming could surface as an unhandled error rather than being handled quietly.
Yash Pratap Solanky
Staff Software Engineer
We fixed an issue where JSON cleaning was stripping or corrupting code blocks embedded in string values before the parse was even attempted.
Yash Pratap Solanky
Staff Software Engineer
We fixed an issue where parameters automatically injected by the framework, such as agent, team, and run_context, were appearing in user_input_schema, presenting users with fields they should never…
Kaustubh Shukla
Senior Software Engineer
We fixed an issue where the memory pipeline gate check did not account for extra_messages, causing memory summarization to be skipped in runs where additional context messages were provided alongside…
Ariel Tempelhof, Kaustubh Shukla
LLMsTxtTools and LLMsTxtReader add native support for the llms.txt standard — a Markdown-based file that websites publish at /llms.txt to provide LLMs with a concise, structured index of their…
Ashpreet Bedi, Yash Pratap Solanky, and 1 other
SalesforceTools gives agents native access to Salesforce CRM data, making it straightforward to build agents that query records, surface pipeline information, triage support cases, or answer questions…
raghavender reddy grudhanti, Mustafa Esoofally
We fixed an issue where knowledge_table was being read from agent.db instead of contents_db, causing knowledge lookups to fail or return incorrect results when the two databases were configured…
Sannya Singal
Software Engineer
We fixed two issues in the AG-UI interface: reasoning events are now correctly emitted as they occur so users can follow the model's thinking in real time, and input_content now stores the current…
RowanLane, Mustafa Esoofally
We fixed an issue where workflow steps that included file path images were not being converted correctly, causing those images to be dropped or mishandled when passed between steps.
Jyotirmoy Roy, Kaustubh Shukla
We fixed handling of response.reasoning_summary_text.delta events in OpenAIResponses so that reasoning content is streamed incrementally as it is generated rather than being dropped or buffered.
Yash Pratap Solanky
Staff Software Engineer
We fixed TeamSession.from_dict() so it no longer mutates the input mapping it receives. Previously, loading a team session from a dictionary could silently modify the original data structure, causing…
Yizuki_Ame
Community contributor
A new Azure AI Foundry Claude model provider gives teams a first-class way to run Claude models through Microsoft's Azure AI infrastructure, with the same configuration patterns used across other Agno…
Alejandro Aboy, Ayush Jha
OpenAIResponses now supports background mode for the OpenAI Responses API, allowing long-running agent tasks to execute asynchronously without holding an open connection.
Yash Pratap Solanky
Staff Software Engineer
Workflows can now pause after a step completes and wait for a human to inspect the output before it flows to the next step.
A Workflow can now be used directly as a step inside another workflow, enabling modular composition of reusable sub-pipelines.
Skills—reusable, instruction-based capability modules—can now be attached to Teams directly via the skills parameter, giving the team leader access to domain expertise without delegating to a member…
Uzair Ali
Community contributor
A new AGNO_LOG_TRACEBACKS environment variable (opt-in) enables full Python tracebacks in log_error and log_warning calls.
SessionSummaryManager now exposes last_n_runs and conversation_limit parameters, giving precise control over how much of the conversation history is fed into summary generation.
Yash Pratap Solanky
Staff Software Engineer
Resolved an issue where a shared HTTP/2 client was being injected across concurrent OpenAI and Azure OpenAI requests, causing transient 400 errors under load.
audio_total_tokens is now correctly computed and included in run metrics for OpenAI, Perplexity, and LiteLLM.
Resolved a bug where TeamSession.get_messages could return the same message more than once, causing downstream logic that relies on message history to process duplicates.
Kaustubh Shukla
Senior Software Engineer
Resolved a crash in GitHubTools where get_pull_requests would raise an IndexError if the repository contained fewer pull requests than the specified limit.
kaiisfree
Community contributor
Resolved an unhandled DisambiguationError that caused WikipediaTools to crash when a search term matched multiple Wikipedia articles.
Himanshu Singh, Mustafa Esoofally
Resolved an issue where .msg, .xlsx, and .xls files were not recognized on upload due to missing MIME type mappings. These file types now upload correctly without requiring manual workarounds.
wildchron
Community contributor
Agents and teams can now be configured with fallback models that activate automatically when the primary model fails, whether from rate limits, outages, context window overflows, or other retryable…
AzureBlobConfig now supports Shared Access Signature (SAS) token authentication as an alternative to connection strings and service principal credentials.
Ashpreet Bedi, Sannya Singal, and 1 other
SlackTools now includes a workspace search tool, letting agents query messages, files, and content across channels directly from a tool call.
Mustafa Esoofally
AI Engineer
Claude 4.6 and later models do not support assistant message prefill, which previously caused silent failures or malformed requests when conversations ended with an assistant turn.
Harsh Sinha, Yash Pratap Solanky
ReliabilityEval has been extended with more precise evaluation capabilities: expected tool calls can now be matched as a subset of actual calls rather than requiring an exact full match, argument…
Harsh Sinha
Senior Software Engineer
The /sessions list endpoint now includes a significantly expanded set of fields per session, giving dashboards, monitoring tools, and integrations a more complete picture of each session without…
Uzair Ali
Community contributor
A new /info API endpoint returns a lightweight count of agents, teams, and workflows registered in the AgentOS instance.
Kaustubh Shukla
Senior Software Engineer
We’ve made ChromaDB operations more reliable by automatically splitting large upsert and query requests into smaller batches at runtime.
Reader classes now correctly propagate the chunk_size parameter to the default chunking strategy they apply when no explicit chunking configuration is provided.
Sannya Singal
Software Engineer
Two improvements have been made to the Slack interface to give teams better visibility and more robust handling of long agent responses.
Mustafa Esoofally
AI Engineer
SchedulerTools Gives agents programmatic control over the AgentOS Scheduler, allowing them to create, list, update, enable, disable, trigger, and delete cron schedules as part of a run.
Resolved an unhandled msg_too_long error in the Slack streaming path that caused the agent to fail silently or crash when a streamed response exceeded Slack's message length limit.
Mustafa Esoofally
AI Engineer
Resolved a collection of bugs affecting agents deployed with Coda, including issues in CodingTools, Slack interface behavior, team streaming output, and the learning pipeline.
Ashpreet Bedi, Mustafa Esoofally
Resolved an issue where server-side tool blocks in Claude conversations were not being preserved when building subsequent request messages.
Mustafa Esoofally
AI Engineer
DoclingTools gives agents the ability to convert documents on demand using the Docling library — accepting PDFs, DOCX, PPTX, XLSX, HTML, images, audio, and video files as input and exporting to…
We’ve introduced GoogleSlidesTools to give agents full control over Google Slides. With it, you can create presentations, build out slides, and manage content end to end, all directly from your agent.
Tool call schemas are now normalized across model providers, so switching an agent from one model to another no longer requires adjusting how tools are defined or how their outputs are parsed.
Yash Pratap Solanky, Kaustubh Shukla
A new PerplexitySearch toolkit gives agents access to the Perplexity Search API, returning ranked web results with titles, URLs, snippets, and publication dates in a single tool call.
Kes, Yash Pratap Solanky
AgenticChunking now accepts a custom_prompt parameter, letting you override the default model-driven chunking instructions with domain-specific logic.
Sannya Singal
Software Engineer
Resolved an issue where LanceDB's search() could return the same document multiple times when hybrid search retrieved it via both vector similarity and full-text search.
HARSH THAKARE, Harsh Sinha
The Seltz toolkit has been updated to align with the breaking changes introduced in the Seltz SDK 0.2.0 release, replacing the previous 0.1.x integration.
William Espegren
Community contributor
We resolved an issue where tools from async toolkits were not included in the tool name list injected into the team system message, leaving the team unaware of those tools at the prompt level.
Kaustubh Shukla, Harsh Sinha
We resolved an additional case where hybrid search could surface the same document more than once when it matched across multiple search indices.
We fixed output_config not being applied correctly on Claude model wrappers, $defs being stripped from tool schemas, and file_ids and container information not being surfaced during streaming for…
SalimELMARDI, Kaustubh Shukla
We resolved a bug where streamed tool call data was overwriting accumulated state instead of appending to it, causing incomplete or incorrect tool calls to be dispatched.
We resolved an issue where empty string values in streamed LiteLLM responses could overwrite previously accumulated tool names, resulting in tool calls with missing identifiers.
Kaustubh Shukla
Senior Software Engineer
We added an early error when AWS_BEDROCK_API_KEY is set for Claude models on AWS Bedrock, which is not a supported authentication path, rather than failing silently later in the request lifecycle.
Miguel Miranda Dias
Community contributor
We overrode deepcopy behavior on the Azure OpenAI model class to preserve live client references, preventing connection failures that occurred when the model object was copied during agent or team…
LM. Garret
Community contributor
We resolved an issue where empty reasoning blocks returned by OpenRouter for non-reasoning models were being processed unnecessarily, causing noise in parsed responses.
Pratik Mukesh Manghwani
Community contributor
We resolved a failure in cache key generation when the input contained types that are not directly JSON-serializable, ensuring caching works reliably across a broader range of agent inputs.
Yash Pratap Solanky
Staff Software Engineer
Resolved an incorrect import of the pymongo async modules that could cause runtime failures when using MongoDB with async agents or workflows.
Vin
Community contributor
Resolved a bug in parse_tool_calls where shared dictionary references across parsed tool calls would cause the same tool to be executed multiple times during streaming.
Arivunidhi Anna Arivan, Harsh Sinha
Resolved an issue where structured output support was not correctly detected for certain Claude models, causing agents to fall back to less reliable output parsing strategies even when the model fully…
Resolved a race condition in MCPTools where parallel tool calls using a header_provider would each independently spin up their own MCP session instead of sharing one, leaving the agent in a stuck…
Giulio Leone
Community contributor
The Gemini model class now accepts a timeout parameter, giving teams explicit control over how long a request is allowed to run before being cancelled.
Fehmi
Community contributor
The Mistral model provider now supports the mistralai v2 SDK while continuing to work with v1. Teams can upgrade their SDK dependency and take advantage of v2 improvements without any changes to their…
The GET /workflows/{id} endpoint now accepts a version query parameter, allowing callers to fetch a specific version of a workflow rather than always receiving the latest.
Harsh Sinha
Senior Software Engineer
AgentTools now includes ToolParallelAiSearch, a native integration with Vertex AI's Parallel AI Search that allows agents to issue multiple search queries concurrently and aggregate results.
The WhatsApp interface has been significantly extended in V2, adding support for rich media, interactive message types, teams, and workflows.
Mustafa Esoofally, Ray
The new Telegram interface mounts webhook endpoints directly on AgentOS, turning any agent, team, or workflow into a fully functional Telegram bot.
Mustafa Esoofally, Uzair Ali, and 1 other
The DoclingReader provides a single, unified interface for processing the full range of document formats an AI agent encounters — PDFs, Word files, PowerPoint decks, Excel spreadsheets, images, and…
Sannya Singal
Software Engineer
Production agent systems demand visibility. Agno now integrates with MLflow to deliver complete, end-to-end trace observability across every model call, tool invocation, and agent step—without custom…
Agno agents can suggest followup questions at the end of a response. Set followups=True on an Agent or Team and you get back a list of ready-to-run prompts on response.followups, built from the user's…
Yash Pratap Solanky, Anurag Sharma, and 1 other
LearningMode.PROPOSE now automatically enables chat history for the session, ensuring that the multi-turn confirmation flow — where the agent proposes a learned fact and waits for user approval — has…
Mustafa Esoofally
AI Engineer
Updated the default base_url for the Siliconflow model provider from .com to .cn to match Siliconflow's actual API endpoint.
Zamuldinov Nikita
Community contributor
Fixed a formatting issue where tool parameter descriptions were incorrectly prefixed with (None) when no type annotation was present.
Fehmi, Kaustubh Shukla
Resolved a bug where add_history_to_context was not correctly applied during Human-in-the-Loop runs that involved multiple conversation rounds.
A new datetime_format parameter on Agent and Team lets you control exactly how the current datetime is presented in the agent's context using any valid strftime format string.
Zhenting Huang, Harsh Sinha, and 1 other
Tool pre- and post-hooks, as well as agent-level tool_hooks, can now read the current run's complete message history via run_context.messages.
Zhenting Huang, Harsh Sinha, and 1 other
GoogleCalendarTools has been extended with additional tools, a service account authentication path, and new cookbooks to help teams get started quickly.
Mustafa Esoofally
AI Engineer
Agents and teams can now automatically generate actionable followup prompts after each response by setting followups=True.
Resolved a bug where each iteration of a Loop always received the original input rather than the output of the previous iteration, causing loops to repeat work instead of building on it.
Kaustubh Shukla
Senior Software Engineer
A json_serializer is now passed during MySQL engine creation, ensuring that JSON fields are correctly serialized when reading from and writing to MySQL-backed databases.
Willem Carel de Jongh
Community contributor
Resolved a bug in OpenAIResponses where combining external_execution tools with standard tools caused incorrect dispatch behavior.
Zhenting Huang, Uzair Ali, and 1 other
serve() now reads AGENT_OS_HOST and AGENT_OS_PORT environment variables as fallbacks when explicit values are not passed.
Mustafa Esoofally, Kaustubh Shukla
Images and audio generated during a run are now consistently included in run output regardless of the store_media setting.
Br1an, Mustafa Esoofally, and 1 other
Agents and teams are now assigned human-readable IDs (e.g., brave-falcon-7x3k) instead of raw UUIDs.
Yash Pratap Solanky, Kaustubh Shukla
GmailTools has been extended with a broader set of email management functions and a new service account authentication path.
Mustafa Esoofally
AI Engineer
Engineering and platform teams using GitLab can now connect agents directly to their repositories. GitlabTools brings read-focused GitLab access to Agno agents, covering projects, merge requests, and…
The built-in session search tool has been upgraded from a single-pass lookup to a two-step process: the agent first calls search_past_sessions() to retrieve lightweight previews of recent sessions…
JSON schema generation now handles Literal types, ensuring that agents and tools using constrained value sets produce valid, complete schemas.
Kaustubh Shukla
Senior Software Engineer
OpenAIResponses now supports input_file, letting you pass files directly into OpenAI Responses API calls.
Uzair Ali
Community contributor
We resolved a race condition in OpenAI Responses where file_search could silently return empty results due to eventual consistency in OpenAI's vector store file listing API.
Google tools have been restructured into a dedicated agno.tools.google sub-package (e.g., from agno.tools.google import GmailTools).
File upload endpoints now accept image/heic and image/heif formats, removing the need to convert Apple-native image formats before ingestion.
Br1an
Community contributor
A new approval status endpoint lets you query where a paused run stands in the approval process, and admin-gated enforcement ensures that only authorized users can continue execution.
A new approval status endpoint lets you query where a paused run stands in the approval process, and admin-gated enforcement ensures that only authorized users can continue execution.
Kaustubh Shukla, Yash Pratap Solanky
AgentOS now supports an advanced filtering DSL for traces, letting you construct precise, composable queries to isolate specific runs, models, components, or behaviors.
Kaustubh Shukla
Senior Software Engineer
Knowledge sources now support GitHub App authentication (app_id, installation_id, private_key) in addition to personal access tokens.
Willem Carel de Jongh
Community contributor
ModelsLabTools now supports text-to-image generation with PNG/JPG outputs, an image fetch endpoint, and sizing options.
Adhik Joshi
Community contributor
Slack integrations now support real-time streaming with live progress cards, so end users see assistant activity as it happens rather than waiting for a final response.
Stream real-time events during autonomous team task execution.
Kaustubh Shukla
Senior Software Engineer
Stop returning low-quality matches. Set a quality floor on your vector search results so your agents only work with context that's actually relevant.
The metrics system has been redesigned to provide granular, per-model and per-component tracking across the entire agent, team, and workflow lifecycle.
SeltzTools now uses Seltz SDK 0.1.3, incorporating the latest fixes and improvements from the upstream SDK.
William Espegren
Community contributor
Workflows now support Human-in-the-Loop at the individual Step level, letting you pause execution to collect confirmation or user input before proceeding.
Kaustubh Shukla
Senior Software Engineer
WorkflowRunOutput now exposes a files field and uses consistent JSON (de)serialization. This fixes prior serialization errors and makes file artifacts first-class, enabling teams to programmatically…
Kaustubh Shukla
Senior Software Engineer
We’ve added remote content sources including Amazon S3, Google Cloud Storage, Azure Blob, GitHub, and SharePoint, along with new APIs to list sources and browse files before ingestion.
Willem Carel de Jongh
Community contributor
PDF extraction now includes a sanitize_content option (default: True) to normalize fragmented text by collapsing excessive whitespace.
A new isolate_vector_search option on the Knowledge class lets multiple agents or teams share the same vector database while keeping their search results isolated.
Teams can accumulate and persist knowledge over time, improving their responses and decisions across sessions and runs.
We updated the sessions, component configurations, and component links tables to use proper primary key constraints, replacing the previous unique constraint approach.
store_history_messages now defaults to False. Previously, agent run history messages were stored automatically.
A new approval system lets you require human sign-off before agents execute sensitive actions. Using the @approval decorator alongside a HITL primitive (requires_confirmation, requires_user_input, or…
Agno infrastructure now supports AWS Elastic File System (EFS) for persistent, shared storage across agent deployments.
Tools, knowledge sources, and team members can now be defined as callable factories that are resolved at runtime.
Agno now includes a built-in scheduler for running agents, teams, and workflows on a recurring basis. Define cron schedules with support for retries, timeouts, and timezone configuration.
The human-in-the-loop (HITL) system for teams has been significantly expanded. New run requirements support tool confirmation, user input collection, and external tool execution, giving you…
Teams now support four distinct execution modes (coordinate, route, broadcast, and tasks), giving you explicit control over how agents collaborate.
The Workflow Router step now supports returning the name of a step instead of the step object itself, and can route to a group of steps as a single choice.
Agno now supports Neosantara, an Indonesian LLM gateway that provides an OpenAI-compatible API. This allows teams to use Neosantara models without changing existing agent or workflow integrations.
Kaustubh Shukla, Just R
Workflow Condition, Loop, and Router steps now support CEL (Common Expression Language) evaluators. Expressions are defined as strings, making workflows fully serializable and easier to store, review…
Condition steps now support else_steps, allowing you to define a clear alternative path when a condition evaluates to false.
Uzair Ali, Yash Pratap Solanky
Agno now aligns with LanceDB’s latest API, replacing the deprecated table_names() with list_tables() and updating the minimum LanceDB version to 0.26.0.
Harsh Sinha
Senior Software Engineer
Introduce smarter retrieval with the new AwsBedrockReranker, supporting Cohere Rerank 3.5 and Amazon Rerank 1.0.
AwsBedrockEmbedder now supports Cohere Embed v4, including configurable output dimensions and multimodal (text + image) embeddings, with async variants.
Laith Al-Saadoon, Willem Carel de Jongh
Human-in-the-loop confirmation now correctly applies to MCP Function tools via toolkit-level settings (e.g., requires_confirmation_tools).
Adam Shedivy, Kaustubh Shukla
WebsiteReader now computes a unique content hash per crawled URL, fixing skip_if_exists for multi-page crawls.
Learning is now simpler and more effective. When learning=True, user memory is enabled by default, and the LearnedKnowledgeStore captures organizational context (goals, constraints, policies) to guide…
Async text_reader.aread() now returns an empty list ([]) for empty files, aligning behavior with the sync API. This removes special-case handling and simplifies downstream pipelines.
We changed the WebsiteReader deduplication model to compute content hashes per page. This aligns skip_if_exists with page-level updates and ensures accurate re-crawls.
Mustafa Esoofally
AI Engineer
We’ve added a first-class SeltzTools toolkit that brings Seltz-powered semantic search directly into Agno.
William Espegren, Yash Pratap Solanky
Agno now supports Moonshot.ai as a model provider with initial models and examples to help you get started quickly.
Steven sun
Community contributor
We added UnsplashTools, a first-class toolkit for discovering and retrieving high-quality, royalty-free images directly in Agno.
Divy yadav, Kaustubh Shukla
We introduced a dedicated ExcelReader for .xls/.xlsx with sheet filtering, options to skip hidden sheets, and chunking controls. ReaderFactory now routes Excel files to ExcelReader automatically.
We introduced OpenAI Responses API–compatible clients, including a base OpenResponses and provider-specific clients for Ollama and OpenRouter.
Yash Pratap Solanky
Staff Software Engineer
Knowledge now connects to private Azure Blob Storage as a first-class source — alongside SharePoint and GitHub — so Azure-centric organizations can centralize content without custom ETL.
Willem Carel de Jongh
Community contributor
A fix restores reliable table creation across AsyncSQLiteDb, AsyncPostgresDb, AsyncMySQLDb, and FirestoreDb.
Knowledge can now ingest content from private GitHub repositories and SharePoint, via SDK and API. This enables organizations to consolidate code, docs, and operational knowledge from private systems…
We’ve added n1n.ai as an OpenAI-compatible provider, giving teams more flexibility to optimize for cost, performance, and regional availability.
n1n.ai, Kaustubh Shukla
Async generator tools now capture and surface errors on the tool call —matching synchronous behavior — instead of re-raising exceptions.
Ray
Community contributor
Knowledge now natively ingests Excel files by routing spreadsheets through the CSV reader. Each sheet is parsed into its own document with sheet-level metadata and normalized cell content.
李琼羽, Mustafa Esoofally
We corrected streaming token accounting for Perplexity by collecting usage only on the final chunk for providers that return cumulative metrics.
Marcelo Busana, Harsh Sinha
We introduced KnowledgeProtocol, a unified interface that enables multiple Knowledge backends to work interchangeably with Agents and Teams.
We removed deprecated fields across tools/hooks and API parameters to simplify the surface area and reduce ambiguity. This change keeps the platform focused and easier to maintain at scale.
AgentOS now uses a unified db parameter and deprecates tracing_db. This reduces configuration complexity and clarifies data storage for both operational and tracing needs.
We resolved a 400 error caused by message formatting for file Part objects in Gemini (Vertex AI) uploads. Uploads now work as expected, unblocking multimodal use cases.
Mustafa Esoofally
AI Engineer
We replaced the DuckDuckGo-specific web search tool with a generic WebSearchTools interface. This standardization broadens provider choice and future-proofs search integrations.
Gemini now accepts gs:// URIs and HTTPS URLs (including presigned URLs) directly, eliminating the need to download files before processing.
Mustafa Esoofally
AI Engineer
Knowledge.add_content has been renamed to insert and insert_many for clarity and alignment with the new protocol direction.
You can now persist and manage Agent, Team, and Workflow definitions in a database, with new AgentOS endpoints for programmatic create, read, update, and delete.
We’ve introduced request-scoped isolation for agents, teams, and workflows. Each incoming request now runs against a fresh copy of the component while expensive resources (database connections…
Ashpreet Bedi, Kaustubh Shukla
We introduced a unified learning system that enables agents to learn from every interaction. Teams can choose learning types and plug in preferred storage backends, making continuous improvement a…
We now classify common non-retryable conditions (e.g., 4xx responses, payload too large, context limit exceeded) and skip retries across both sync and async flows.
A new AST-based Code Chunker splits code into semantically meaningful units, preserving function and class boundaries across multiple languages and tokenizer options.
This release introduces a breaking change: PythonTools and MLXTranscribeTools now operate only within their defined base directory by default.
We introduced a restrict_to_base_dir parameter for PythonTools and MLXTranscribeTools, enabled by default.
manu
Community contributor
Crawl4aiTools now supports proxy_config via BrowserConfig, allowing traffic to route through enterprise proxies and enabling browser-level network configuration.
Aayush Gid, manu
Toolkit now supports async tool functions and automatically selects them when an agent runs in an async context.
Kaustubh Shukla
Senior Software Engineer
Provider usage metrics (including token counts) are now propagated to the model response in both sync and async paths.
Thomas Yook
Community contributor
JWTMiddleware now supports a configurable audience parameter to validate the aud claim. This ensures tokens are intended for your services, reducing the risk of token replay or misrouting and…
Pone Ding, Dirk Brand
We introduced a first-class Skills system, including a Skills class plus validation and loader utilities. Teams can now define, validate, and reuse skills across agents with a consistent interface.
When a URL is provided, MCPTools now default to StreamableHttp transport. This makes it easier to connect to external MCP servers and improves streaming behavior out of the box, reducing configuration…
manu
Community contributor
You can now connect to and orchestrate remote agents via A2A using the new A2AClient, with cookbook examples to get started.
MCPTools and MultiMCPTools now support a header_provider callback to generate request headers at run time.
Neel Bhatt, manu
Agno now supports native reasoning for OpenAI GPT-5.1/5.2, Google Gemini 3/3.5/deepthink, and DeepSeek r1/reasoner.
Agent-as-Judge evaluation runs are now returned on GET endpoints, making them fully visible and manageable in the AgentOS UI.
We introduced an async-capable cancellation manager with in-memory and Redis-backed options. This lets you reliably stop long-running or runaway work across distributed workers, improving cost control…
Adi Berkowitz, Kaustubh Shukla, and 1 other
We overhauled the getting-started cookbook with structured examples, ready-to-use configs, and clear requirements.
Ashpreet Bedi
Founder & CEO
Agno’s LiteLLM integration now extracts and surfaces reasoning_content for supported models, enabling richer, audit-ready reasoning traces.
Seth Burkart, Kaustubh Shukla
You can now pass Google OAuth2 service account credentials directly when configuring Vertex AI models.
SemanticChunking now works with all Agno embedders (e.g., Azure OpenAI, Mistral) and custom chonkie BaseEmbeddings via a wrapper, with new parameters for finer control.
Harsh Sinha
Senior Software Engineer
Introducing RemoteAgent, RemoteTeam, and RemoteWorkflow to execute orchestration on a remote AgentOS. This decouples runtime from application code so you can centralize governance and observability…
AgentOSClient is a first-class client for connecting to and operating a remote AgentOS. It standardizes how you authenticate, manage agents/teams/workflows, and stream events, reducing integration…
Hybrid search combines dense semantic similarity with keyword matching using reciprocal rank fusion (RRF) for Chroma-backed knowledge bases.
Kaustubh Shukla
Senior Software Engineer
Workflow event streams now support robust reconnection, catch-up, and replay. Clients automatically resume from the last known event after transient network issues, preventing gaps in dashboards…
We resolved issues in read and async_read across multiple readers (CSV, field‑labeled CSV, JSON, Markdown, PDF, DOCX, PPTX, S3, Text, and Web Search).
Yash Pratap Solanky
Staff Software Engineer
AgentOS now exposes an API endpoint to migrate all managed databases in one operation. This reduces operational overhead in multi-tenant or multi-environment deployments and ensures consistent schema…
Dirk Brand
Community contributor
When both JWT and security key authentication are enabled, JWT now takes precedence. This standardizes behavior, reduces ambiguity for clients, and aligns with common enterprise security practices.
Dirk Brand
Community contributor
We added a cost field to Metrics for OpenRouter-backed activity. This provides a reliable, standardized view of model spend without manual spreadsheets or custom aggregations, improving financial…
Catarina Pires, Dirk Brand
output_schema now accepts provider-specific JSON schemas and passes them directly to model APIs (OpenAI, Claude, and OpenAI‑like).
Harsh Sinha, manu, and 1 other
You can now stream reasoning chunks whenever a reasoning model is used. A new ReasoningManager coordinates streaming and lifecycle, giving teams earlier visibility into model thinking, faster…
Kaustubh Shukla, manu
We introduced conventional A2A endpoints — including Agent Card retrieval — and aligned run endpoints and payloads to the updated protocol.
Ray, Dirk Brand, and 1 other
Milvus search and async_search now support radius, range_filter, and async search_parameters. These controls help teams tune recall vs. precision and reduce tail latency in high-throughput workloads.
Uzair Ali
Community contributor
AgentOS now blocks initialization/resync if duplicate IDs are detected across Agents, Teams, or Workflows. This ensures unambiguous references and prevents hard-to-debug behavior at runtime.
Uzair Ali, manu
A2A protocol endpoints have been updated to follow standardized URL conventions, and related payloads were aligned to the protocol.
JWTMiddleware now enforces token presence on every request. validate=False no longer permits requests without a token.
Samuel Jupe
Senior Software Engineer
We’ve added role-based access control (RBAC) to AgentOS via JWT middleware with per-endpoint authorization and per-resource scopes.
Dirk Brand, Kaustubh Shukla
A new unified token counting utility provides consistent, accurate token estimates across OpenAI, Anthropic, AWS Bedrock, Google Gemini, and LiteLLM.
Mustafa Esoofally
AI Engineer
We now populate provider metadata for OpenAI Chat responses and surface it across key response and event objects.
Jason Cameron
Community contributor
Streaming experiences using Gemini now accept URL context and web_search_queries, enabling real-time retrieval and reasoning over live web content.
Dirk Brand
Community contributor
To make runs more predictable, the stream and stream_events flags no longer persist across run/arun calls.
We introduced a Shopify toolkit that lets agents analyze store data such as sales, customers, and products without custom integration work.
Dirk Brand
Community contributor
Agno now supports reasoning messages from OpenRouter, enabling you to capture and act on models’ reasoning outputs where available.
Zero
Community contributor
Knowledge add_content_ methods now support true synchronous execution. This removes the async-only limitation, making it straightforward to integrate content ingestion into synchronous services and…
A new built-in evaluation system lets you automate LLM quality checks with binary and numeric scoring, background execution, post-hooks, and customizable evaluator agents.
Harsh Sinha, Dirk Brand, and 1 other
We’ve added AsyncMySQLDb with native compatibility for the asyncmy driver, enabling fully asynchronous MySQL operations.
Harry, Dirk Brand, and 1 other
MemoriTools has been removed in favor of Memori SDK v3’s built-in auto-recording. This consolidates functionality in the SDK, reduces integration complexity, and lowers maintenance overhead.
We’ve moved retry logic from Agents/Teams to the Model layer. When you set retries on a model, Agno now retries at the model execution level, which is more effective for handling provider throttling…
Dirk Brand, manu
Agno now ships with Memori SDK v3.0.5, enabling automatic recording of agent conversations without a separate tool.
RunRequirement simplifies how agents request and manage human input. Requirements now surface directly in agent responses or as RunPaused events in streaming flows, providing a consistent pattern for…
AgentOS evaluation endpoints now work with asynchronous database backends. Teams using async DB classes can run evaluations without changing their stack, removing a key limitation for modern…
We introduced RedshiftTools, giving agents first-class access to Amazon Redshift without custom glue. Teams can explore schemas, describe tables, inspect and run queries, and export data directly…
We’ve introduced a Spotify toolkit and example agent to manage and interact with Spotify, including library management.
Yash Pratap Solanky
Staff Software Engineer
Agent and Team pre- and post-hooks now run as background tasks in AgentOS, so they no longer block the main operation.
Dirk Brand, Harsh Sinha
To prevent CreateTable validation errors and ensure reliable, time-ordered queries, the DynamoDB schema for the user Memory table now requires a global secondary index (GSI) on created_at.
Dirk Brand
Community contributor
We introduced native tracing with OpenTelemetry, including first-class spans and new endpoints to inspect traces.
Kaustubh Shukla, Priti S, and 1 other
Runs now support an optional citations field across single, team, and workflow executions. This lets you store and surface model-provided source citations directly in your run metadata, improving…
Priti S
Senior Software Engineer
We added a complete Gemini 3 demo, including example agents, configuration, and generated assets. This makes it faster to evaluate and roll out Gemini 3 within Agno by providing opinionated, runnable…
Mustafa Esoofally, Yash Pratap Solanky, and 2 others
A new MemoryOptimizationStrategy framework and APIs allow you to summarize and optimize memories outside of agent runs.
Uzair Ali, Dirk Brand
MongoDB clients now support Motor and PyMongo async libraries with improved error handling and typing.
Uzair Ali, Dirk Brand
Automatically compress and summarize tool call results to keep agent context safely within model token windows.
Mustafa Esoofally, Dirk Brand
We’ve added an optional API key path for AWS Bedrock Claude in addition to IAM. This reduces setup friction in environments where IAM is not feasible while preserving IAM as the default for…
Neha Prasad
Community contributor
Agno now offers full support for Google Gemini File Search, including store and document management, uploads/imports, metadata filters, citation extraction, and async APIs.
Uzair Ali, Dirk Brand
You can now override output_schema at runtime for both Agent and Team (streaming and non-streaming), with automatic restoration after the run.
We fixed an issue where filtering memories by topic could return incorrect results when using SQLite or AsyncSQLite backends.
manu
Community contributor
We added first-class support for Anthropic’s structured outputs, including schema enforcement, strict tool calling, and robust response parsing across synchronous, asynchronous, and streaming APIs.
We introduced NanoBananaTools, a turnkey toolkit to generate images with Google’s Nano Banana model. It includes built-in parameter validation and a cookbook example, enabling faster adoption and…
Neel Bhatt, manu
Agno now supports the thought signatures required by Gemini 3.0 Pro, ensuring compatibility and unlocking the latest model capabilities without custom integration work.
We removed get_messages_for_session and get_messages_from_last_n_runs in favor of get_messages, get_session_messages, and get_chat_history. This unifies patterns and reduces mental overhead.
We introduced a MigrationManager and the first migrations for sessions and memories tables. This provides a controlled, repeatable path for schema evolution, reducing upgrade risk and operational…
GoogleSearchTools has been removed. Please migrate to DuckDuckGoTools for web search capabilities. This streamlines support and ensures predictable results across environments.
We renamed the Team parameter delegate_task_to_all_members to delegate_to_all_members. This clarifies intent and standardizes naming across the API.
RedisDb now accepts RedisCluster clients, enabling high availability and horizontal scalability for agent state. Teams running clustered Redis can adopt Agno storage without architectural workarounds.
We removed deprecated AgentOS parameters to standardize on stable naming: os_id -> id, fastapi_app -> base_app, enable_mcp -> enable_mcp_server, replace_routes -> on_route_conflict.
When using knowledge_filters, you must configure contents_db. This ensures deterministic, stateless filtering aligned with AgentOS and prevents silent mismatches.
You can now generate WAV sound effects directly through ModelsLabTools. This adds an audio SFX modality to Agno, enabling teams to build sound-driven experiences — alerts, games, product interactions…
We removed the stream_events parameter from print_response/aprint_response and CLI. Streaming now works correctly by default, reducing configuration and edge cases.
The default Nebius model endpoint is now api.tokenfactory.nebius.com. This aligns with Nebius updated platform and helps avoid legacy endpoints that may degrade or deprecate.
We restored reliable live event streaming across Agents and Teams workflows, ensuring events from custom executor steps are delivered consistently.
Yash Pratap Solanky
Staff Software Engineer
The Slack interface now replies only when mentioned, reducing channel noise and improving operator control by default. This change helps teams run bots in busy channels without overwhelming users.
Mustafa Esoofally, manu
We introduced a metadata-based filter DSL for Knowledge searches, enabling precise, policy-aligned retrieval at scale.
You can now enable Anthropic beta features by passing the betas parameter. When present, Agno automatically uses the appropriate beta client, making it easier to evaluate new capabilities without…
manu
Community contributor
Opt-in support for Claude’s context editing helps automatically remove stale tool results from long conversations.
Jonathan Talmi, Mustafa Esoofally, and 1 other
We introduced ParallelTools with Search and Extract APIs to deliver LLM-ready excerpts and robust markdown from the open web and PDFs — including JS-heavy pages.
Harsh Sinha, Yash Pratap Solanky
Agents can now list, create, apply/remove, and delete custom Gmail labels. This enables end-to-end email triage, routing, and compliance workflows without external glue code, speeding deployment and…
shivani, Harsh Sinha
We introduced yield_run_output for Agent and Team runs, replacing yield_run_response (slated for deprecation).
Run context now propagates automatically through every workflow step — including parallel branches. This delivers predictable, shared state across complex flows, reducing manual plumbing and avoiding…
manu
Community contributor
Custom executors can now yield native objects — no need to wrap every output as an Agno event. This fix removes a key limitation, making it easier to integrate existing business logic and libraries…
AgentOS now supports multiple Agno tables of the same type within a single database. This enables clean tenant or namespace isolation without multiplying databases, lowering operational overhead while…
Willem Carel de Jongh
Community contributor
AG-UI request state is now passed and mapped into session_state, ensuring agents receive the right UI context with no extra plumbing.
Francesco Cartier, Mustafa Esoofally, and 1 other
Child agents now inherit only the primary model from their parent. Auxiliary models for output, parsing, or reasoning are no longer inherited, ensuring predictable configurations and reducing hidden…
Harsh Sinha
Senior Software Engineer
We introduced a strict_output setting that enforces exact adherence to your output_schema by default across supported models.
We removed Redis and redisvl as dependencies of the base VectorDb class. VectorDb can now be used without installing or configuring Redis, reducing setup time and expanding where Agno can run (for…
We introduced RunContext to carry session state, dependencies, metadata, and knowledge filters through every step of a run.
manu, Dirk Brand
Knowledge now supports a Redis VectorDB backend. Teams standardized on Redis can consolidate infrastructure, simplify operations, and reduce latency by keeping vector search close to existing caches…
Robert Shelton, Yash Mandilwar, and 1 other
MCPTools now supports a tool_name_prefix to avoid name collisions when sourcing tools from multiple MCP servers.
hypen-code, manu
We introduced a migration script to move existing VectorDB data to the v2 format. This protects compatibility, unlocks improvements in the new version, and reduces risk during upgrades.
Willem Carel de Jongh, manu
We added a vLLM embedder with batching support, enabling high-throughput, cost-controlled embeddings on your infrastructure or via remote endpoints.
Uzair Ali
Community contributor
To comply with Exa API v2.0.0, ExaTools has removed support for the highlights parameter. Calls that include it will fail. Update your integrations to avoid errors and maintain service compatibility.
ExaTools no longer accepts or passes the removed highlights parameter, aligning with Exa API v2.0.0. This prevents runtime errors and ensures forward compatibility with the upstream service.
Nahian Pathan
Community contributor
Agno now validates input schemas for Agents and Teams, enforcing strong contracts at the edge. This catches issues earlier, improves reliability in production, and shortens debugging cycles.
Anurag Sharma
Software Engineer
A new Notion toolkit and cookbook make it easy to connect agents to Notion. Teams can read, create, and update Notion pages and databases programmatically, reducing integration effort and speeding up…
Kaustubh Shukla
Senior Software Engineer
We introduced WorkflowAgent, which powers chat-like workflows that decide when to answer from conversation history and when to execute workflow steps.
Kaustubh Shukla
Senior Software Engineer
FileTools now supports delete, chunked read, and partial replace operations, with new size limits and base_dir disclosure controls.
Updating AgentOS now automatically refreshes all API routers — including custom ones — so your routes stay aligned with the new OS state without manual intervention.
manu
Community contributor
You can now update a live AgentOS instance — adding Agents, Teams, and Workflows — inside FastAPI lifespan functions.
manu
Community contributor
AsyncPostgresDb now accepts id as the primary identifier, with db_id deprecated. This aligns naming with the broader platform and eliminates parsing edge cases, improving reliability and reducing…
Agent-facing memory managers now include the deletion tool by default. This reduces setup friction and makes it easier to enforce data retention policies, remove outdated information, and keep…
manu
Community contributor
We introduced AsyncMongoDb to provide fully asynchronous MongoDB access end to end. Teams can process more requests concurrently, reduce I/O bottlenecks, and improve responsiveness in agent…
New async APIs (aget_session_summary()) let Agents and Teams return session summaries without blocking.
Agents and Teams can now share and reuse the same session to preserve context and history across handoffs.
Dirk Brand
Community contributor
Agents can now leverage Claude’s native skills for documents, spreadsheets, and presentations. This expands what agents can execute natively — from editing and analysis to content generation — without…
Uzair Ali, Dirk Brand
Introducing Async SqliteDb for end-to-end async database access. This enables higher throughput and lower tail latency in asyncio-based services by removing blocking I/O, while reducing boilerplate…
manu
Community contributor
We’ve added native caching for model responses across sync, async, and streaming APIs. You can configure TTL and cache storage to accelerate repeated prompts and reduce token spend — without building…
Uzair Ali, manu
We’ve integrated TavilyReader for knowledge base ingestion and enhanced Tavily tools with URL content extraction (sync and async).
Uzair Ali
Community contributor
You can now ingest Microsoft PowerPoint (.pptx) files natively with a dedicated PPTX reader. This removes the need for custom loaders, shortens integration time, and expands the types of enterprise…
Baccari Ala
Community contributor
A new parameter, max_tool_calls_from_history, lets you cap how many historical tool call pairs are loaded into context.
Mustafa Esoofally, manu
When stream=True, Workflow.arun now returns an AsyncIterator instead of requiring await. This clarifies intent and avoids mixed patterns in streaming code.
Team streaming now respects input media. Images, video, audio, and files provided via run_input are properly processed during streaming, restoring expected multimodal behavior and improving parity…
praveen-livspace, Kaustubh Shukla
A unified stream_events parameter now governs the emission of non-content events during streaming across Agent, Team, and Workflow APIs.
We’ve added API endpoints to create empty sessions, fetch a run by ID, and update sessions. This gives teams precise control over session state, enabling cleaner orchestration, simpler retries, and…
Dirk Brand
Community contributor
Memory updates now occur in a background thread, reducing latency for users and UIs. We’ve also added events for run content completion and session summaries to make end-of-stream handling more…
Dirk Brand
Community contributor
Non-RunContent events (e.g., operational or summary signals) now emit only when stream_events=True. This reduces noise in streaming responses and ensures UIs receive only the events they opt into.
The stream_intermediate_steps setting is deprecated. Use stream_events for a single, consistent way to control streamed event emission across components, reducing configuration overhead and drift.
Workflow.arun now returns an AsyncIterator, aligning with Agent and Team. This change standardizes how you consume streaming results and reduces integration complexity across components.
Kaustubh Shukla
Senior Software Engineer
We removed the default expected_output from Team delegate_task_to_member. Callers now explicitly define the expected output or handle its absence, improving predictability and intent in task…
We added add_team_history_to_members to simplify sharing team history with members, improving context continuity in multi-agent work.
Agents can now process inputs that contain only media (no text). This unlocks use cases such as camera-to-answer, voice-only prompts, and file-first interactions, reducing friction in multimodal…
Kaustubh Shukla, manu
Knowledge can now be created and managed directly in AgentOS, independent of any specific Agent or Team.
Willem Carel de Jongh
Community contributor
Define company-wide tone, domain norms, and editorial standards once and apply them across agents. The new, experimental Culture Manager centralizes “cultural context” so agents can think, write, and…
Workflow Condition (evaluator) and Router (selector) functions now receive session_state, enabling context-aware decisioning.
Kaustubh Shukla, manu
We’ve added a stable id field to every Message and exposed it in RunOutput messages. This makes it straightforward to correlate logs, audit events, and persist messages across systems without custom…
Dirk Brand
Community contributor
We corrected the response_audio field to be an optional single object (previously an optional list) across Run, Team, and Workflow schemas.
Anurag Sharma
Software Engineer
We renamed the knowledge search endpoint from search_vectors to search_knowledge. This is a breaking change and aligns the API with terminology used across the platform.
The response_audio field type has changed from Optional[List[dict]] to Optional[dict]. This brings consistency across Run, Team, and Workflow schemas and reduces edge cases in client code.
You can now attach post-hooks to streaming flows, making it easier to run instrumentation, filtering, logging, or persistence tasks as soon as a stream completes.
Dirk Brand
Community contributor
The Google Calendar integration now supports attendee notifications when creating, updating, or deleting events.
srexrg
Community contributor
JiraTools now supports adding worklogs to issues. This enables automated time tracking and better reporting directly from your agents and workflows, reducing manual entry and improving governance.
To ensure consistent behavior across releases, the knowledge search endpoint has been renamed from search_vectors to search_knowledge. Update clients to avoid failures against the deprecated route.
Willem Carel de Jongh
Community contributor
We resolved errors that occurred when reading or updating user memories when using asynchronous databases such as Postgres.
manu
Community contributor
The configuration flag store_tool_results has been renamed to store_tool_messages. This is a breaking change and requires updating any configs, environment variables, or automation that reference the…
We added full SurrealDB support—including models, queries, metrics, and utilities—so you can run agents, teams, workflows, and memory on SurrealDB with first-class parity.
Martin Schaer, Yash Pratap Solanky, and 1 other
We renamed the configuration flag from store_tool_results to store_tool_messages and aligned behavior so tool-call and tool-result messages are scrubbed together.
Kaustubh Shukla, manu
Agno now supports native reasoning/thinking modes for Gemini 2.5+, Anthropic Claude, and Vertex AI–hosted Claude.
Uzair Ali
Community contributor
We’ve removed the requirement to append “/mcp” to MCPToolbox database URLs. This simplifies configuration and aligns with common DSN formats.
We’ve added end-to-end async database support, including a complete async Postgres implementation, across Agents, Teams, AgentOS, Evals, and Knowledge.
manu, Yash Pratap Solanky, and 12 others
AgentOS access logs are now disabled by default, resulting in leaner deployments and minimizing the risk of unintentionally logging sensitive data.
AgentOS now exposes API endpoints for vector search across your knowledge bases. This makes it easy to build retrieval-augmented workflows and search experiences without custom indexing or ad-hoc…
Willem Carel de Jongh
Community contributor
GoogleSheetsTools now supports service account authentication. This enables secure, headless server-side access aligned with enterprise policies and CI/CD workflows — no manual OAuth flows or user…
simonkagwi, Dirk Brand
GET runs responses now return media at the top level of array objects, making responses simpler to consume and reducing client-side parsing logic.
Anurag Sharma, Yash Pratap Solanky, and 8 others
Workflows can now persist and access history at the step level or across all steps. This makes agents and orchestrations more context-aware without manual state passing, reducing boilerplate and…
Kaustubh Shukla, Dirk Brand
Workflows now emit events immediately from parallel and custom function steps, with workflow context injected into each event.
Kaustubh Shukla
Senior Software Engineer
A new Google Drive toolkit allows agents to list, upload, and download files directly from Google Drive.
Banda Sai Poorna Chandra Prakash, manu
We added a new Claude model integration backed by Vertex AI, enabling you to run Claude where your data and governance live on Google Cloud.
OpenRouter now supports fallback models for transparent failover. If a primary model is degraded or unavailable, requests automatically route to healthy alternatives — reducing errors and customer…
Uzair Ali, Yash Pratap Solanky
The AgentOS MCP server now runs cleanly in more environments and integrates with custom FastAPI base apps.
manu, Dirk Brand
We upgraded h11 from 0.14.0 to mitigate a known CVE. This reduces exposure to HTTP handling vulnerabilities and aligns deployments with current security best practices.
wangxiaolei
Community contributor
Expose and run Agents, Teams, and Workflows over an A2A‑compatible JSON‑RPC interface with streaming responses and structured events.
manu
Community contributor
All memory delete operations now honor user_id across every supported database backend. This ensures strict tenant isolation, reduces the risk of accidental cross-user deletions, and strengthens…
Guy Korland, manu
You can now run local binaries (for example, ./script) as MCP servers via MCPTools and MultiMCPTools. This makes it simple to operationalize existing scripts and CLIs as governed, observable tools…
AgentOS routers now recognize more audio and file types out of the box. This increases ingestion success rates for multimodal workloads and reduces the need for pre-processing, accelerating…
Claude-based agents now default to Claude Sonnet 4.5, improving baseline reasoning quality and response consistency without any configuration changes.
Stijn
Community contributor
You can now run multiple user interfaces on a single AgentOS instance by setting an optional route prefix for AGUI, WhatsApp, and Slack.
Dirk Brand
Community contributor
We’ve updated the MongoDB session serialization format to improve consistency and resilience. Deployments that read existing session documents or rely on the previous format may encounter read/write…
Mustafa Esoofally
AI Engineer
AgentOS now supports user-supplied FastAPI-compatible middleware and includes a built-in JWT middleware for token validation and claims extraction.
Kaustubh Shukla, Dirk Brand
We added async batch embeddings for major providers and integrated them into most vector databases. This significantly improves throughput and reduces latency and cost for data ingestion, reindexing…
Willem Carel de Jongh
Community contributor
You can now configure pre- and post-execution hooks for agents and enable built-in guardrails including prompt injection checks, PII detection, and OpenAI Moderation.
Dirk Brand, Nancy Chauhan, and 12 others
Agno now supports Requesty, an affordable LLM gateway with advanced governance. Teams gain more control over costs and policy enforcement while keeping model choice flexible.
Dirk Brand, John Costa
AgentOS now more reliably discovers and registers MCP tools and databases during setup. The system also detects and rejects incompatible database instances that share the same identifiers, preventing…
Agno’s LiteLLM model support now includes first-class metadata and additional fields. Teams can attach and propagate structured context alongside model calls, making it easier to track usage, apply…
Avi Rosenberg
Community contributor
Teams can now deterministically control whether an incoming run should override the session state already stored in the database.
manu
Community contributor
Agno introduces the MCP Toolbox for Databases, a new toolkit that allows agents to interact with structured data in Google’s MCP ecosystem.
Adam Shedivy, manu
Agno now allows AgentOS workflows to integrate with Slack, expanding where agents can operate and interact with users.
Kaustubh Shukla
Senior Software Engineer
All Agno database implementations now support bulk writes, enabling multiple Sessions and Memories to be persisted with one operation.
Agno now allows adding multiple text entries in a single call to Knowledge. Teams can populate knowledge bases faster, with fewer API calls and less orchestration overhead.
Agno now exposes tool dependencies as built-in arguments, making it easier to configure and run custom tools within agent workflows.
Kaustubh Shukla, Dirk Brand
Agno now supports CometAPI as a model provider, giving teams more flexibility in how they build and deploy agentic workflows.
TensorNull, Dirk Brand
Agno now supports an allow_partial_failure option in MultiMCPTools, letting workflows continue even if some tools fail.
yinglj, manu
Control costs and prevent runaway tool calls in reasoning agents
Ruan Smit
Community contributor
Agno now supports Llama CPP as a first-class model option, enabling teams to run agents on local or self-hosted LLMs.
Yash Pratap Solanky
Staff Software Engineer
Agno now handles media routing more precisely when agents use tools that generate images or other media.
AgentOS now works more reliably when embedded in custom applications. When teams provide their own app framework, Agno automatically ensures the AgentOS UI has the access it needs—without breaking…
Yash Pratap Solanky, Dirk Brand
File uploads in the AgentOS chat experience are now more reliable, restoring support for common formats such as PDFs.
Agno now persists the original workflow input alongside workflow run outputs. This gives teams full visibility into what triggered a run, making it easier to debug issues, audit behavior, and reason…
Kaustubh Shukla
Senior Software Engineer
Search results for session history are now correctly scoped to the current user. This change improves correctness, privacy, and trust—ensuring users only see and interact with their own session data.
Kaustubh Shukla
Senior Software Engineer
Agno now supports file generation tools, enabling agents to produce structured file artifacts as part of normal execution.
Kaustubh Shukla
Senior Software Engineer
Agno now handles Gemini schemas with nullable fields and complex definitions more reliably. This resolves issues that could previously cause structured outputs to fail or behave unpredictably.
We’ve added a first-class Nexus Model abstraction, giving teams a cleaner and more consistent way to define, route, and manage models across agentic systems.
Yash Pratap Solanky
Staff Software Engineer
AgentOS now includes a default / route, eliminating unexpected 404 errors when accessing the service root.
Dirk Brand
Community contributor
Ag-UI and AgentOS now integrate more cleanly, resolving issues that could cause inconsistent behavior between the interface and the underlying system.
AG-UI reliability has been improved to address issues such as duplicate events and multiple tool-calling inconsistencies.
Mustafa Esoofally, Willem Carel de Jongh, and 5 others
The v1 to v2 migration tooling has been updated to support metrics parsing and MongoDB migrations. This reduces manual work and uncertainty during upgrades, helping teams move to v2 with greater…
AgentOS now offers expanded support for custom FastAPI applications. When routes overlap, AgentOS routes are applied by default, with the option to disable this behavior.
Agno now provides more accurate metric tracking for workflows using OpenAI Responses. This gives teams clearer visibility into usage, performance, and cost drivers when running agentic systems in…
anch0vy
Community contributor
Agno now includes a Streamlit application for Vision AI, providing an interactive interface to experiment with vision models and integrate them into workflows quickly.
Harshith VH, Mustafa Esoofally
All AgentOS evaluation workflows now support async tools through MCP, allowing parallel execution of tasks and faster throughput.
manu
Community contributor
Agno introduces the SiliconFlow model class, enabling teams to integrate SiliconFlow models into their agentic workflows.
shiwyang, Yash Pratap Solanky
Agno now supports TypedDict in addition to Pydantic for defining input schemas in agents, teams, and workflows.
AgentOS no longer relies on the MCP dependency, making it easier to deploy and maintain across environments.
manu
Community contributor
Agno’s unified knowledge system now supports multiple content types in a single structure. Teams can manage, access, and update knowledge consistently, enabling agents to deliver more accurate and…
Teams can now cancel agent, team, or workflow runs mid-execution while maintaining event integrity and state awareness. This feature improves operational control and reduces wasted compute.
Run outputs and events are now standardized, with additional metadata for enhanced tracking, reporting, and debugging.
Agno now supports fully stateless agents, teams, and workflows, simplifying session management and making scaling more predictable.
Playground, AGUIApp, SlackApi, WhatsappApi, and FastAPIApp have been replaced or integrated into AgentOS. Migration consolidates capabilities into a single platform, reducing operational overhead.
Agno introduces AgentOS, a production-ready API that consolidates agent, team, and workflow management into a single platform.
Sessions, memories, evals, and metrics are now managed through a simplified, unified storage system, reducing the complexity of tracking agent runs and workflow performance.
Agno now enables custom events in workflows, allowing teams to instrument workflows with domain-specific signals and outcomes.
Agno’s Cookbook documentation has been fully updated with more examples and structured guidance for building production-ready multi-agent workflows.
Agno introduces new session convenience methods, providing streamlined access to runs, session summaries, and aggregated chat histories for easier workflow management and insights.