Agent Zero v2.4: Crash-Safe Chats, Gemini Orchestration, & Interface Controls

v2.4 protects chat data and agent loops, expands orchestration and provider choices, adds responsive interface controls, and makes terminal, command, OAuth, preset, and self-update behavior more dependable.

#releases

Agent Zero v2.4 changelog banner

๐Ÿ›ก๏ธ Reliability & Self-Update

  • Crash-safe chat persistence โ€” Serialized chats are written to a temporary file, synced to disk, and atomically moved into place so interrupted saves cannot corrupt existing chat data.
  • Runaway response circuit breaker โ€” A configurable consecutive-output limit stops malformed or repeated model responses from looping forever, with an Agent Settings control and a clear stop notice.
  • Codex CLI refreshes during self-update โ€” Existing installations are updated after a successful or already-current self-update without making npm failures fatal.
  • More time for update health checks โ€” The default update and rollback window increases from two to three minutes for slower Docker and virtiofs environments.

๐Ÿค– Orchestrator & Providers

  • Gemini CLI orchestration โ€” Gemini CLI is now a registered Orchestrator backend with authentication detection, headless workflows, settings, and status metadata.
  • NVIDIA NIM provider โ€” Hosted chat and embedding models are available through LiteLLM with model discovery, onboarding, and API key configuration.
  • Gemini CLI setup hardened โ€” Installation and probing are separated for clearer diagnostics, while API keys resolve through Agent Zero secret aliases.
  • Utility Model default refreshed โ€” Global, Balance preset, and onboarding defaults now use google/gemini-3.1-flash-lite on OpenRouter without the preview suffix.

๐Ÿ–ฅ๏ธ Interface & Model Configuration

  • Responsive interface controls โ€” Interface settings now provide separate mobile and desktop visibility toggles for the project selector, clock, connection status, and right Canvas rail.
  • Preset rows keep stable state โ€” Removing a middle preset no longer causes Alpine to bind another row's model configuration to the wrong editor.
  • Preset editing moved into a store โ€” Drafts and add, remove, and save actions now use a dedicated Alpine store while the HTML stays declarative.
  • OAuth model selection polished โ€” Provider cards and slot copy are simpler, pickers align with the main model UI, and a sole connected provider is inferred only when it will not replace a different saved choice.
  • Provider-specific options reset safely โ€” Switching providers clears additional parameters and custom API base values so stale settings cannot leak across providers.

โŒจ๏ธ Commands & Terminal

  • Multiline commands stay together โ€” Bash and PowerShell terminal input now runs as one compound command in the current shell instead of letting intermediate prompts finish queued lines early.
  • Built-in commands are easier to manage โ€” Bundled commands have their own section, and editing one creates a project or global override instead of changing the built-in; redundant command UI was removed.