github agent0ai/agent-zero v2.13

4 hours ago

Agent Zero v2.13

Highlights

This release brings a significantly improved file browser, sidebar project folders, slash commands for messaging integrations, native commentary streaming, broad performance optimizations, and numerous quality-of-life and stability fixes across the WebUI, LLM transport, plugin system, and desktop environment.


File Browser & Editor

  • Redesigned file browser navigation — configurable path bar with breadcrumb and text modes, folder autocomplete with keyboard navigation, and fully clickable file rows without a loading overlay
  • Consolidated create-new dropdown replaces separate New File and New Folder buttons
  • Inline rename and new-folder creation in the shared footer input row, with modal rename preserved for external callers
  • Preserved file tree ancestors — parent folders stay clickable during nested navigation; starting folder is now configurable and defaults to /a0
  • Canvas and picker lifecycle fixes — opening a file picker no longer blanks a live canvas listing, and live browsers navigate in place for path links instead of stacking windows
  • File permissions and ownership preserved when applying editor patches — executable bits and host-user ownership are no longer replaced with root-owned 0600 files
  • Skip hidden Markdown previews when opening source files, reducing median open time for large files from ~22.5 s to ~0.37 s
  • Text editor line edits explicitly supported — removed the legacy label and documented all three patch forms
  • LibreOffice saves follow renamed documents — desktop rename now uses native Save As so Writer retains the correct save target

Sidebar & Chat Organization

  • Project folders for chats and tasks — collapsible sidebar folders grouped by project, with flat-view option, creation-time sorting, drag-and-drop reordering, and whole-family project moves
  • Pin to Top improvements — project folder pins including a default "No project" pin, reactive pin indicators beside chat/task titles, and scoped indicator rendering
  • Deep worker rendering — subordinate workers beyond the first child level now render correctly with recursive expansion and tapered indentation
  • Drag performance — median hover-handler time in a 240-chat sidebar dropped from ~10 ms to ~0.1 ms
  • Clearer status filters — consistent All / Working / Idle labels; "Recent activity" shortened to "Last active"

Messaging Integrations

  • Slash commands for Telegram — built-in, plugin, global, and project commands with paginated menus, compaction confirmation, transcript export, and fresh-chat session binding
  • Slash commands for WhatsApp — reuses the shared context-aware command catalog with text menus, tool permissions, plugin settings, and persistent chat selection
  • Shared slash command documentation added to the plugin creation skill
  • Improved settings experience for Telegram, Email, and WhatsApp — project and agent-profile scoped configuration, token-native status pages, and shared settings accordions
  • Telegram bot management — stable names for unnamed bots, duplicate name rejection, and automatic restart on connection changes

LLM & Model Handling

  • Native commentary streaming — public commentary from native tool calls now displays as streamed thoughts in generation logs
  • Commentary preserved in Responses history replay so eligible native turns retain their original message items
  • Stabilized Chat Completions cache boundaries — cache breakpoints no longer shift on every tool turn; marks the last leading context and last two nonempty assistant messages
  • Provider refusals surfaced — content-filter and refusal finish reasons now reach the visible error handler instead of being silently retried
  • Anthropic-specific thoughts instructions — scoped prompt adjustments for Anthropic models (including via OpenRouter and Bedrock) requesting public action summaries
  • Scoped subagent model presets preserved — parent chat model overrides only copy when a new subordinate resolves to Default
  • Chat naming refreshes as topics change by default, and subordinate delegation labels are no longer overwritten by automatic naming
  • Subordinate names honored when continuing with an existing context ID
  • Local provider dummy keys removed — static API-key defaults for LM Studio, llama.cpp, oMLX, and vLLM no longer override saved credentials

Performance

  • Settings save ~6.5× faster by reusing the resolved Git version across active agents (10.1 s → 1.6 s median on 214 contexts)
  • Cached global model presetsget_effective_config dropped from 36.2 ms to 0.5 ms per call
  • Native tools built only for Responses turns — eliminates 400–450 ms of unused tool building on Chat Completions calls
  • Rate-limiter skips token counting when no limits are configured (~70 ms saved per call on large prompts)
  • Pooled HTTP connections for Codex — reuses TCP/TLS connections, saving 50–80 ms per request
  • Empty plugin lookup results cached — Responses tool builds dropped from 112 ms to 58 ms

Browser Tool

  • Browser context moved out of the system prompt into loop extras for cache-stable system prompts across turns
  • Evaluate timeout — new evaluate_timeout_seconds setting (default 30 s) with recoverable JavaScript cancellation and explicit recovery reporting
  • Empty evaluate calls rejected — missing scripts now return an actionable error instead of evaluating undefined
  • Minified browser tool JSON in agent history with beautified display in the WebUI
  • Startup state and stale URL fixes — cleared state when no active tab remains; pending results invalidated on chat switch; busy state released on subscription failure
  • SOCKS proxy supportsocksio included in framework requirements; Browser install hook repairs missing support in existing environments

WebUI & Mobile

  • Reusable overflow menus for chat composer controls with browser-zoom tolerance
  • Context usage refreshes during tool-only runs after four root-agent tool calls
  • Mobile composer and welcome sizing fixed — natural editor growth, proper viewport height, and enlarged touch targets
  • Mobile settings Save fixed — optional store loading no longer silently disables the button; section navigation simplified with a native picker
  • Text-size inflation prevented in terminal output on mobile
  • Tooltips suppressed on touch devices — no more lingering tooltips from touch-generated hover events
  • Notification modal actions fixed — action buttons work correctly when rendered inside the notifications modal
  • Preset editor selection fixed — the editor now opens showing the actual preset
  • Process group rendering fixed — no more flashing groups during memory search; correct group IDs and standalone message boundaries
  • Bootstrap favicon restored on splash and safe-mode pages

Settings & Secrets

  • API-key pools preserved when saving settings — comma-separated key lists retained correctly
  • Secret values preserved through masked edits, including multiline text, Unicode, and special characters
  • Masked secrets matched case-insensitively so mixed-case entries retain their values on save

Plugins & Updates

  • Repository thumbnails preserved during plugin installation — no longer overwrites tracked images
  • Local plugin commits rebased during updates with conflict detection, rollback, and persistent error toasts
  • Nested secret substitution fixed in parallel tool calls

Infrastructure & Packaging

  • Codex client updated to 0.155.1 with proper upstream SSE stream cleanup
  • Orchestrator runtime data excluded from default backups
  • Desktop dependency installation fixed for v2.13 with Python 3.13-compatible package pins from signed Debian archives
  • Launcher README updated with v1.8 download links

Breaking Changes

  • runtime=input removed from remote execution — use input_remote instead; no compatibility alias is provided
  • Local provider dummy API keys removed — LM Studio, llama.cpp, oMLX, and vLLM configurations that relied on the built-in default key must now have a key explicitly saved (or use keyless mode, which LiteLLM supports)

Don't miss a new agent-zero release

NewReleases is sending notifications on new releases.