Agent Zero v2.9: Agent Editor, Scoped Policies, & Security Hardening

v2.9 introduces the Agent Editor, project-scoped profiles and tool policies, safer profile lifecycles, Time Travel retention, built-in plugin upgrades, and important security and reliability fixes.

#releases

Agent Zero v2.9 changelog banner

๐Ÿง‘โ€๐Ÿ’ป Agent Editor & Scoped Profiles

  • Build agents from the WebUI โ€” The new Agent Editor offers Easy and Advanced modes for identity, prompts, model presets, tool policies, skill visibility, and avatars without destructive overwrites or model calls.
  • Choose global or project scope โ€” Sparse profile reads, writes, resets, and policies stay bound to the selected layer, while missing values inherit and explicit empty values clear inherited settings.
  • Manage the complete profile lifecycle โ€” Create, duplicate, restore, switch, and inspect profiles with scope-aware availability, collision protection, confirmation checks, and running-profile guards.
  • Create profiles from chat or the Connector โ€” The /profile command and Connector API can create a profile in the selected scope and open a fresh chat with it; /permissions opens the current profile directly in Agent Editor.

๐Ÿ›ก๏ธ Tool & Skill Policies

  • Control tools consistently across every path โ€” A project- and profile-aware resolver applies local, plugin, and MCP tool policies across prompts, schemas, connectors, execution, and delegated agents.
  • Layered restrictions remain effective โ€” Empty upper-level configs no longer hide inherited limits, canonical identities survive local and MCP execution, and blocked tools disappear from rendered prompts.
  • Set sparse skill visibility rules โ€” Profiles can allow or block individual skills and define the default for future skills while preserving history and legacy behavior.

๐Ÿงฉ Built-in Plugins & Time Travel

  • Migrate agents from five harnesses โ€” The new Migrate Agents plugin adds a guarded preview-and-import workflow, documentation, WebUI assets, and corrected upload handling.
  • Blend Kokoro voices natively โ€” The voice plugin expands its American voice catalog with speed controls, validated weighted blending, and reusable in-memory pipelines.
  • Keep capabilities clearly separated โ€” Slash commands remain in the Commands plugin, skills come only from skills_tool, MCP labels include humanized server names, and capability prompts respect tool availability.
  • Clean Time Travel history automatically โ€” Background retention sweeps remove orphaned shadow repositories, optionally expire stale history, repair stranded locks, and quarantine corrupt repositories with durable totals and logs.

๐Ÿ”’ Security & Data Safety

  • Document queries block private targets โ€” The fix for CVE-2026-4308 routes remote downloads through the public-only HTTP fetcher and rejects private destinations, including redirects.
  • Downloads resolve from the filesystem root โ€” Individual and bulk downloads now match the paths exposed by the File Browser and editor.
  • Malformed chat deletion stops early โ€” Empty or whitespace-only context IDs are rejected before cleanup can resolve them to the shared chat directory.
  • Plugin edits survive updates โ€” Tracked local changes are stashed during Plugin Hub updates and restored on conflict, with the conflict surfaced in the UI.

๐Ÿ”ง Provider, Chat, & Interface Fixes

  • Responses fall back on opaque failures โ€” OpenAI-compatible Responses endpoints retry through Chat Completions when they return an opaque 400 error.
  • Codex OAuth sends the resolved client version โ€” The required version header now satisfies upstream model gates.
  • Provider history starts with the user โ€” Orphaned leading assistant messages are omitted for Claude-compatible providers.
  • Project changes save only affected chats โ€” Project updates and deletion no longer rewrite every loaded conversation.
  • Long-running surfaces do less idle work โ€” Goal revisions arrive through the shared state monitor instead of recurring polls, and elapsed durations format hours correctly.
  • Desktop and canvas interactions are smoother โ€” Resize drags no longer leak pointer events into the live desktop iframe, and the canvas tab bar can open existing files without closing every editor tab.