github agent0ai/agent-zero v2.4

4 hours ago

Release Notes

  • Crash-safe chat persistence — Serialized chats are now written to a temporary file, fsynced, and atomically swapped into place, so an interrupted save never corrupts existing chat data.

  • Circuit breaker for runaway response loops — A configurable limit on consecutive malformed or repeated model outputs prevents infinite loops. The threshold is exposed in Agent Settings and a clear stop notice is shown when triggered.

  • Gemini CLI support in Orchestrator — Gemini CLI is now a registered orchestrator backend with auth detection, headless workflow support, and exposed settings and status metadata.

  • NVIDIA NIM provider — NVIDIA NIM is available for chat and embedding models via LiteLLM, with hosted model discovery, onboarding integration, and API key configuration.

  • Responsive interface control visibility — A new Interface settings section provides independent mobile and desktop toggles for the project selector, clock, connection status, and right canvas rail, persisted per instance.

  • Multiline terminal command grouping — Multiline terminal input is now executed as a single compound command in the current shell, preventing intermediate prompts from completing queued lines early. Bash and PowerShell are both supported.

  • Improved built-in command management — Bundled slash commands are listed in their own section; editing one creates a same-name project or global override rather than modifying the built-in. The Commands sidebar shortcut and redundant UI elements have been removed.

  • Codex CLI refreshed during self-update — An existing Codex CLI installation is refreshed after a successful or already-current self-update without making npm failures fatal.

  • Hardened Gemini CLI container setup — Gemini CLI installation and probing are now separated for better observability, and API key resolution uses Agent Zero secret aliases instead of assuming exported environment variables.

  • Preset editor stability after deletion — Each preset editor row now carries a stable key so removing a middle row no longer causes Alpine to rebind nested model state to the wrong preset.

  • Preset editor refactored into Alpine store — Preset drafts and add/remove/save actions are managed through a dedicated Alpine store, keeping the HTML declarative.

  • OAuth model selection polish — Provider cards and model-slot copy are simplified, model pickers align with the main configuration UI, and a sole connected OAuth provider is only inferred when it would not silently replace a different saved provider.

  • Clear provider-specific kwargs on provider change — Additional parameters and custom API base are now reset when switching model providers, preventing stale options from leaking across providers.

  • Extended self-update health timeout — The default update and rollback health-check window is raised from two to three minutes to accommodate slower Docker and virtiofs environments.

  • Updated default utility model — The global default, Balance preset, and onboarding defaults now use google/gemini-3.1-flash-lite on OpenRouter without the preview suffix.

Don't miss a new agent-zero release

NewReleases is sending notifications on new releases.