v2.0
agent0ai/agent-zerov2.0Jun 24, 2026by github-actions[bot]
AI Summary
A major version upgrade introducing Native Responses API transport, parallel tool calls, and a complete overhaul of MCP configuration and shared canvas surfaces.
Key Highlights
- Native Responses API transport with automatic fallback
- Parallel tool calls runtime
- Revamped MCP server configuration
- Shared canvas surfaces
- Time Travel workspace selector
New Features
- Native Responses API
- Parallel tool calls
- MCP project-scoped config
- Shared canvas surfaces
- New local providers (oMLX, llama.cpp, vLLM)
- Telegram integration
- Security and dependency updates
Full Release Notes
# Agent Zero v2.0
## Highlights
- **Native Responses API transport** — Agent turns now prefer the OpenAI Responses API when available, with automatic chat-completions fallback for providers that don't support it. Responses metadata is persisted in history and agent state for provider-state continuation, replay, and function-call execution. Prompt caching is normalized per provider (OpenAI/Azure, Anthropic, Gemini, Bedrock, OpenRouter).
- **Parallel tool calls** — A new parallel tool-call runtime lets the agent batch independent tool calls concurrently as visible child chats. Parallel await timeouts are non-destructive so jobs can be re-awaited, and nested subordinate chats work normally inside parallel workers.
- **Revamped MCP server configuration** — MCP servers now support project-scoped configuration with global/project merge semantics, a richer settings UI with list-first layout, server and tool search, per-tool enable/disable toggles, a dedicated scanner modal, and chat composer access. MCP runtime handling is hardened for dotted tool names, timeouts, status accuracy, lock scope, and cleanup of wedged transports.
- **Time Travel workspace selector** — The Time Travel plugin now supports selectable workspaces (workdir/project), with a workspace picker in the UI and new API endpoints.
- **LiteLLM global kwargs** — Normalized global LiteLLM configuration handling ensures framework defaults, configured globals, and per-call overrides merge correctly. Global kwargs are kept as per-call options rather than frozen into provider defaults.
- **Shared canvas surfaces** — Files is promoted to the universal canvas rail alongside Browser, Editor, and Desktop. All surfaces use a shared draggable/resizable floating modal with Focus mode. Surface windows persist across page refresh, and the right-canvas rail is visible on mobile (routing to modals on narrow screens).
- **Welcome screen refresh** — Reworked welcome screen with a shared new-chat composer, quick actions, discovery cards, OAuth accounts, and a system resources panel. The welcome screen stays free of docked canvas surfaces.
- **Skills improvements** — A new Settings > Skills scanner section runs security checks on skill zips before import. Loaded skills now persist through chat compaction by storing skill IDs as chat-wide context data and reattaching bodies post-compaction. Browser automation skills gain trigger frontmatter for better discovery. The `a0-development` skill is refactored into focused reference files.
- **Protocol prompt area** — A new prompt region ("protocol") is injected before message history, with per-turn temporary and persistent slots. Project instructions and active/loaded skills are now delivered through protocol rather than extras.
- **A2A streaming** — Agent Zero now advertises streaming capability on A2A endpoints by default.
## New local provider support
- **oMLX** — First-class local provider for Apple Silicon with Docker-friendly defaults and paged SSD cache documentation.
- **llama.cpp / llama-server** — Registered as chat and embedding providers with host.docker.internal defaults.
- **vLLM** — Registered as chat and embedding providers; empty tools arrays are stripped for strict OpenAI-compatible servers.
- **LM Studio & Ollama** — Shipped Docker-friendly defaults so containerized Agent Zero reaches host-running services without manual api_base edits.
- **Tiny Local tool-use profile** — Bundled agent profile for small local models.
## Telegram integration
- Major improvements to native Telegram integration UX and streaming.
- Telegram tool lifecycle hooks are now safe no-ops for non-Telegram contexts.
## Security & dependency updates
- LiteLLM upgraded to 1.88.1 (above CVE-2026-42271 patched floor); OpenAI SDK pinned to 1.88.1.
- Starlette pinned to patched 1.0.1 release for Host-header advisory.
- `requirements2.txt` folded back into a single `requirements.txt`.
## Settings & UI improvements
- Settings sidebar now has search with filtered results; sidebar accordion expansion is decoupled from active section; content pane scrolls independently. Backup & Restore promoted to its own section.
- Context window size control moved above the Advanced disclosure for main and utility model slots.
- Stale preset kwargs are cleared on model switches so unsupported parameters don't leak across providers.
- Rubik is now the default WebUI font, including native browser controls and the login page.
- Shared `.text-button` CSS primitive restored so controls render correctly without chat composer dependency.
- WebSocket heartbeat interval and timeout raised with environment overrides to prevent disconnects during long operations.
- Editor generalized from Markdown-only to exact-text `.md` and `.txt` documents with open, save, Save As, and rename support. "Open in Editor" is a visible File Browser row action.
- Google Cloud Gemini OAuth provider renamed for clarity.
- What's New showcase modal with version gating, permanent opt-out, and bundled media for new features.
- Project extension data hooks let plugins contribute named project settings sections without coupling to core helpers.
## Bug fixes
- **Pager CPU spin** — Disabled pagers (`PAGER=cat`, `GIT_PAGER=cat`) in non-interactive code execution shells so `git diff`/`git log` no longer block forever at 100% CPU. Fixes #1697.
- **MCP settings apply NameError** — Fixed undefined variable when applying global MCP servers.
- **Compaction backups with malformed Unicode** — Surrogate-containing chat content no longer breaks JSON/transcript backup writes.
- **Parallel worker chat log orphans** — Ephemeral parallel worker chat folders are cleaned up; directories without `chat.json` are ignored at startup.
- **Subordinate agent profiles** — Profile arguments are validated against available profiles; profiles persist in saved chats and survive profile switches and restarts.
- **Sentence-transformer embedding aliases** — Stale provider/model aliases are patched at the config boundary so memory embeddings use the intended local HuggingFace provider.
- **Project skills folder initialization** — `.a0proj/skills` is created during project setup and repaired when loading existing projects.
- **Connector file chunking** — Chunked `connector_file_op_result` payloads are buffered and reassembled before resolution.
- **Responses API 404 fallback** — Wrapped NotFoundError responses from providers without the Responses API now correctly fall back to chat completions.
- **Document query image routing** — Images, screenshots, and diagrams prefer `vision_load` when vision tools are available.
- **Remote tool prompt gating** — Remote tool prompts are hidden unless the connected CLI advertises the matching capability.
- **Mobile fixes** — Welcome composer wrapping, project action layout, compaction modal spacing, modal layering over canvas rail, and composer alignment polished for narrow viewports.
- **Unsecured connection settings link** — The "Configure credentials" banner now opens Settings at the correct section.
- **Welcome composer idle placeholder overlap** — Ghost placeholder suppressed until a chat is selected.
- **Xpra amd64 Docker fallback** — Minimal fallback package set now works on amd64 when the preferred Xpra repository is unsatisfiable.
- **pytest capture import** — Guard added so pytest capture objects work with the code execution TTY helper.
## Infrastructure & Docker
- Self-update manager synced at startup when the installed copy is stale.
- Uploads directory created during Docker runtime initialization before services start.
- Docker open file limit raised at startup with explicit compose `nofile` example.
- Comprehensive file-level DOX documentation added across the repository with matching `AGENTS.md` indexes.
## Documentation
- New Launcher guide with runtime setup, Installs, Instances, and screenshot notes.
- v1.20-to-v2.0 image upgrade path documented with backup/restore guidance.
- README install section reorganized into Launcher, A0 Install, and direct Docker paths with A0 Launcher v0.9 download matrix.