Community Roundup: August 2026
Cosette CresslerSeptember 1, 20268 min read
Months of work, a hundred small decisions about what actually breaks agents in production, culminating in one release: Agno 3.0 is here. Oh, and we hit 100% on the ARC-AGI-3 public set.
Let's dive in.
100% on the ARC-AGI-3 public set
In August, we released ARC-AGI-Arcade, an open-source playground for agents to compete on ARC-AGI-3 by learning from each other.
In a complete victory for Learning Machines, an agent running GPT-5.6 cleared all 183 levels across 25 games with a score of 100.00 RHAE. Then cross-model learning transfer went to work: seeded with GPT-5.6's manuals, Gemini 3.7 Flash scored 96.42, crossing the human baseline of 95.4 while spending a third of the tokens GPT-5.6 used.
Read the full writeup: 100% on the ARC-AGI-3 public set.
New releases & features
CodeMode lets an agent write Python that calls your tools directly
An agent with thirty tools spends its life making one call, reading the result, making the next. Every intermediate value lands in the transcript and eats your context window.
CodeMode hands it a persistent Python kernel instead. The model gets execute and restart, writes real Python, and calls your tools as awaitable handles. Loops, variables, helper functions, all in one cell. Whatever it sets up stays available on the next turn.
Two things to know before you reach for it. It needs pip install 'agno[code]' for ipykernel, jupyter_client, and dill. And it is not a sandbox. It runs Python and shell at the same permissions as the process running your agent, and restoring a session snapshot unpickles it, which means resuming a session executes code. Trusted operators or an isolated container, nothing else.
See the cookbook for reference.
Tool result offloading keeps large outputs out of the model's context
Set offload_tool_results=True. Anything a tool returns over 16,000 characters goes to AgentFS instead of into context, and the message keeps a short envelope with a preview, the size, and a result_id. The agent can call read_result or search_result if it actually needs the rest. No model call on the write path.
Threshold and retention are yours to set through ResultStore(threshold_chars=..., ttl_seconds=...).
See the cookbook for reference.
Media offloading stores media in object storage instead of your database
A 113 KB JPEG persisted as base64 becomes roughly 151,000 characters in your session row. Set media_storage and it becomes 2,897.
The bytes go to object storage and a small MediaReference stays behind with the key, bucket, mime type, size, and hash. Your model still gets the media, history still replays it, and there's no schema change to make. Works identically on Agent, Team, and Workflow, across local, S3, and GCS, each with an async twin.
Learn more about media storage.
Durable background execution keeps runs alive through crashes and deploys
An accepted run now gets committed to your database before it starts. Deploy in the middle of it and another replica picks it up and finishes the job. The queue lives in your database rather than in whichever process happened to accept the request, and Redis becomes optional coordination instead of the source of truth.
You also get bounded concurrency (32 by default), cancellation while a job is still queued, Idempotency-Key dedupe so a retry never runs twice, and a 429 when the queue fills up. Clients that drop can reconnect and resume the stream.
Enable it with QueueConfig(durable=True) on AgentOS.
Runs now have their own database table
Every run used to live inside the session blob. That meant each session write grew with the number of runs it held, and eventually you hit the item-size ceiling on DynamoDB or Firestore and everything got unpleasant.
Runs are now rows in agno_runs, with real columns and a JSON payload. Writes scale linearly. Reads work exactly as before because runs re-attach on read, so session.get_messages() and the AgentOS session routes behave the way they always did. You also get direct run APIs for querying and paging without pulling a whole session into memory.
This changes your schema, so the migration is mandatory before v3.0 serves traffic. It's non-destructive, idempotent, covers 12 sync and 4 async backends, and keeps the legacy column as a backup until you clear it yourself. An un-migrated database keeps running. A stale one raises MigrationRequiredError and tells you what to do rather than failing in some creative way.
Read the v3 Migration Guide before upgrading.
Studio 3.0 adds draft-and-publish governance
Anything you created in a shared Studio went live the moment you saved it, and two people editing the same component could overwrite each other without either of them noticing.
Now there's a publishing step. create_* writes a private draft that serves nobody until you publish it, and published versions are immutable with rollback, archive, and restore behind them. Compare-and-set guards turn a stale write into a typed 409 instead of a silent clobber. Deletes are tombstoned with dependent-tracking, so you can't pull a component something else depends on.
All 26 StudioTools calls return a machine-readable envelope with ok, status, data, error, and warnings, which matters when an agent is the one driving the Studio and needs to know why something got refused.
Per-user isolation now covers the whole platform
Isolation used to stop at sessions, which left metrics, schedules, evals, knowledge, and everything else pooling across your users. It now covers all of that, plus components, entity memory, and 17 vector databases, with metrics aggregating per user per day.
Multi-tenant on a single AgentOS is a real option now. Unowned components and knowledge count as shared, readable by everyone and editable by an admin, so switching isolation on doesn't 404 everything you built before it existed.
Learn more in the Per-User Data Isolation docs.
AdvisorTools brings multi-model escalation to any agent
Go big on your model and you pay frontier prices on trivial steps. Go small and you're stuck when a hard subproblem shows up. AdvisorTools lets a fast, cheap primary consult heavier models only when it decides it needs to. Hand it a list of advisors with a note on what each is good for, and it can ask one by name or ask them all and compare. They don't have to share a provider.
See the cookbook for reference.
OpenRouteServiceTools grounds agents in real routes and travel times
LLMs estimate distances from training data instead of measuring roads, and the estimate is confidently wrong often enough to break anything that depends on it. OpenRouteServiceTools swaps the guess for a real routing engine: accurate distances, real drive times, and turn-by-turn routes from live map data. Pass plain place names and it handles the geocoding. Setup is one line plus a free ORS_API_KEY.
See the cookbook for reference.
StudioRunnerTools brings identity-aware dispatch to any router or team lead
Letting a router dispatch Studio components used to mean handing it the full builder toolkit, which can also rewrite and delete them. StudioRunnerTools gives out run access on its own: list what it's allowed to run, and run one by ID. No create, no edit, no delete anywhere in it, so a hijacked prompt has nothing to reach for. Runs execute as the calling user, so memory lands on the person who actually asked.
Read more in the StudioRunnerTools writeup.
New tools and integrations
Also shipped in August:
- FinanceTools: prices, fundamentals, and market data behind one interface with swappable providers underneath. Switching vendors is a config change now, not a rewrite.
- AtomicMailTools: an agent gets its own inbox to read and send from, rather than borrowing a shared account.
- MiniMax video generation: agents can produce video as part of a run.
- Ramp Router and xAI SuperGrok: Ramp Router joins as a provider, and SuperGrok authenticates with device-code OAuth, so no long-lived key to paste anywhere.
- Stable toolkit IDs: every toolkit carries an
idthat AgentOS uses to reference its tools. Tool references survive restarts and deploys instead of depending on load order. - Updated default models: Cerebras defaults to
gpt-oss-120b, Gemini to 3.7 Flash, and Groq's deprecatedllama-3.3-70b-versatilemoves toopenai/gpt-oss-120b. Set a model ID explicitly and none of this touches you. - Wider OpenAI parameters:
reasoning_effort,reasoning_summary,service_tier, andverbosityaccept the full set of values the API supports. Claude models now work withanthropic1.0.0.
Breaking changes in v3.0
Read the full list before you upgrade. The migration is mandatory.
The big ones: runs move out of the sessions table, JWTMiddleware takes verification_keys instead of secret_key, enable_mcp_server and mcp_config become a single mcp_server=, reasoning=True is gone in favor of setting reasoning_model= yourself, Workflow is keyword-only, flat HITL kwargs become human_review=HumanReview(...), MultiMCPTools is deleted so use one MCPTools per server, Culture is removed in favor of Knowledge, and eval_id is now run_id everywhere.
See the v3.0 changelog for everything and the migration guide for the steps.
Community projects & showcases
A few of the things people built with Agno in August:
skillreducer: token-efficient agent skills, grounded in three papers by Abhishek (@zealgoswami-lab)
An open-source toolkit that cuts what your agent skills cost you in context. It implements three research papers as runnable commands: compress a skill's description and body, compress MCP and tool schemas, and improve skill quality from execution traces. Works with any platform using the standard SKILL.md convention.
Check it out on GitHub.
ClawFit: agent, model, and hardware recommendation engine by Seungwoo Hong (@hongsw)
An agent pattern, a model, and the hardware to run it on are three decisions most teams make separately and just hope will line up. ClawFit scores (agent, LLM, hardware) triples against your task, latency target, budget, and team maturity, backed by a seven-layer ecosystem map that tracks 162+ tools with daily automated scanning.
Check it out on GitHub.
Contributor shoutouts
Community MVPs
- @dom-dalty: Built the AtomicMail toolkit, giving an agent its own inbox to register, send, and read from rather than borrowing a shared account. Shipped as a named feature in v3.0 (#9130).
- @LHMQ878: Added a
headers=argument toMCPToolsfor connect-time auth, so an authenticated remote MCP server works without a workaround. Also fixed trailing separators getting stripped from tool args in the paused-run panel (#9444, #9246). - @chengzeyi: Shipped
WaveSpeedTools, putting image and video generation behind one toolkit (#9620). - @bharadwaj-pendyala: Stopped Agno's Cohere integration from dropping zero-valued sampling parameters: a falsy check meant
temperature=0silently became the provider default instead of the deterministic setting you asked for (#9300).
More great contributions
- @markmcd (Google): Updated the Gemini defaults to 3.7 Flash, one of the default-model changes in v3.0 (#9666).
- @ryanl-cerebras (Cerebras): Updated the Cerebras defaults and cookbook models to
gpt-oss-120b(#9244). - @googio: Added
SerplyToolswith web, news, and scholar search (#9780). - @AALG123: Added
GandrToolsfor text to speech through the Gandr TTS API (#9852). - @cuihuan: Added Synthorai as a model provider (#9788).
- @green3sf: Fixed Gemini tool-result media so it nests correctly inside function responses (#9647).
- @psinojiya: Fixed the A2A stream client dropping Task-level metadata when it broke on a status update (#9224).
- @Anai-Guo: Two MCP robustness fixes: tolerate a tool schema with no
propertiesin strict mode, and warn when tag scoping leaves a server with zero tools (#9578, #9748). - @daleselaji-dev: Three cookbook additions, the most of any community contributor this month, including a deterministic side-effect approval flow (#9790).
- @gilarel (DeepKeep): Added a DeepKeep AI Firewall guardrails cookbook (#9784).
Every one of you made Agno better. Thanks for building with us.
Get involved
There's never been a better time to contribute.
- ⭐ Star Agno on GitHub
- 💬 Join our Discord
- 📖 Read the docs
- Check out open issues
- 🚀 Share what you're building. We want to feature YOUR project next month.
— Team Agno
