Place the internal Browser proxy fields in a native disclosure and keep its styling borderless. Refresh the guide screenshot and cover the config markup.
Add project-scoped HTTP and SOCKS proxy settings for the internal Docker browser, including bypass and optional authentication. Pass them through Playwright's native proxy option, restart active Browser runtimes when they change, and update regression coverage and user documentation.
Normalize the legacy reasoning_effort field at the Codex Responses proxy boundary so it cannot reach the upstream endpoint in an unsupported shape.
Preserve an explicit native reasoning object and cover alias conversion and precedence with regression tests.
Keep response tool calls at the top level so they can end the parent message loop instead of forcing an unnecessary follow-up turn.\n\nDocument the parallel constraint and cover both runtime rejection and prompt guidance.
Require verified window focus before target-bound typing and report remote computer-use receipts from observed evidence.\n\nGuide agents through scoped snapshots and focus verification while refusing window presses and identical failed-action retries.
Configure Cerebras as a native LiteLLM provider using Chat Completions and its live model catalog.
Expose Cerebras in onboarding with API-key guidance, a production default model, and a bundled logo, with focused provider and UI coverage.
Keep fenced examples readable in prompt Markdown while removing only JSON fence markers from the final assembled system prompt. Cover all bundled profiles and preserve non-JSON fences.
Explain that fenced examples are documentation-only and make the canonical response example match the required wire format. Add focused guardrails for the rendered instruction and unfenced example.
Guard partially parsed tool arguments while streaming and render both text and legacy message response fields. Keep live response logs synchronized without allowing incomplete code arguments to raise.
Route native Responses output text through the normalized response-tool executor instead of ending the monologue directly. Preserve active goal overrides and Responses state cleanup, wait for complete native streams, and reject empty response payloads.
Require complete standalone text requests for execution while accepting supported text-tool formats. Route fenced and structurally broken tool intent through the existing misformat repair path so streamed chats do not remain in a thinking state.
Raise RepairableException when response lacks a top-level text or message string. The existing recovery path now warns the model to correct the call instead of exposing a KeyError, while preserving legacy message arguments.
Return WebUI navigation after the initial document commit and align the socket timeout with browser command deadlines.
Remove forced viewport nudges and reject cropped or mismatched screencast frames so tab changes and pointer movement do not stretch the viewport.
Skip redundant same-version reinstalls and stage updates before replacing extension files.
Show clear install progress, offload blocking work, and restart active browser runtimes safely.
Paramiko caches its optional invoke import error with the original traceback, retaining the code-execution tool-loading stack and first agent.
Clear only the stale traceback while preserving the exception, and add focused regression coverage.
Clear DeferredTask callables and arguments after completion or cancellation while running each invocation from a safe private snapshot. Preserve result retrieval and active restart behavior, clean up child tasks, and add best-effort local and SSH session destructors with focused lifecycle regression coverage.
Detect and treat terminated local/SSH/TTY shells as definitive command completion. Add is_terminated and get_exit_code helpers to LocalInteractiveSession, SSHInteractiveSession, and TTYSession; expand _is_closed_pty_error to recognize exited TTY processes. CodeExecution now reports a shell-exit prompt, recreates terminated sessions lazily before the next command, and returns immediately when a shell has exited. Docs and README updated to describe strict-mode/exit behavior, and tests were added/updated to cover the new termination detection and handling.
Filter usr/.env masking to API keys and login/password credentials so ordinary settings cannot corrupt chat text. Keep global and project secrets protected, and cover full-response, prompt, and streaming behavior with a regression test.
Preserve authorization, evidence, pending work, loaded skills, and secret references in a fixed resumable-state summary. Clear the stale context-window cache after compaction and cover the prompt and persistence contracts with focused tests.
Decorate unified_call and unified_turn so community plugins can observe the real logical model-call boundary.
Add focused coverage for the generated start and end extension points.
Include usr/.env in the agent-facing SecretsManager sources so runtime credentials are masked in tool results, history, logs, and streamed output. Keep the writable default secrets manager scoped to usr/secrets.env.
Add regression coverage for dotenv masking and document the source contract.
Delete the Core WebUI gateway menu and its client-side control store so Host access stays owned by A0 Launcher. Keep /computer-use informational in WebUI and direct users to Launcher or A0 CLI for host changes.
Update remote file and execution metadata from the acknowledged Launcher gateway state before resolving the control request.
Add regression coverage for the read/write to read-only transition so writes fail immediately while reads remain routed.
Delegate skill discovery, parsing, lookup, search, and validation to helpers.skills so CLI behavior cannot drift from the runtime contract.
Generate canonical triggers metadata and cover valid and incomplete skill validation.
Remove heading-based Markdown pagination so source and preview operate on the complete file.
Add support for keyboard undo/redo ops.
Give plain text documents the same preview, formatting, save, and file-action toolbar as Markdown, with regression coverage for both behaviors.
Render the connection state with one reactive SVG circle so connected and disconnected visuals cannot overlap after reconnects. Add regression coverage that keeps the indicator to a single shape.
Make model presets a single global collection and treat presets as reusable setups (main, utility, embedding). Persisted scope configs now store only a preset name (Default is always present and immutable); project-scoped preset definitions were removed and attempts to edit/reset project presets are rejected. Add embedding-model support throughout: include embedding slot in presets, surface embedding in the switcher and override APIs, and notify extensions when the effective embedding model changes. Implement rename/retire propagation to update plugin configs, saved chats, and live AgentContext objects when preset names change or presets are removed. Update CLI/integration commands to use an "inherit" action for returning to the scoped preset and to report the effective scoped-or-chat preset. Add startup migration/bootstrap to initialize presets from remote or bundled fallback and numerous docs/UI text updates to reflect the new preset model. Extra: refactor config resolution helpers and add safety checks (validation, atomic writes) when saving presets.
Stop PrintStyle from creating per-process HTML files under /a0/logs and remove the obsolete tracked folder scaffolding.
Delete existing legacy log directories during startup migration so self-updated and manually upgraded installations are cleaned automatically. Point plugin debugging guidance to Docker output and add regression coverage for repeatable cleanup.
Add Download to Editor file actions and safe File Browser extraction for ZIP, TAR, RAR, 7z, and compressed archives. Include archive safety checks, focused regressions, and 7zip in the base image.
Show a direct Open Host access action when Launcher settings disable the gateway while preserving Reconnect for Core-originated disconnects.
Use the bounded Launcher bridge so Core opens the trusted settings editor instead of re-enabling access itself.
Make /computer-use on and off act on the current Launcher Host access lease while preserving A0 CLI guidance in ordinary WebUI sessions.
Update connector prompts and regressions so permission recovery consistently accounts for both Launcher and CLI entry points.
Keep the Core host popover open after a hard disconnect and reuse the connection action to restart the owning Launcher tab lease.
Retain the master toggle as the reversible Pause control and cover the bounded bridge contract.
Treat the Current project config selection as inherited when no project-scoped model config exists, even when the UI omits scope metadata.
Cover the browser-normalized save payload so project saves do not create _model_config/config.json.
Resolve provider-safe Responses tool names back to their canonical MCP names inside the MCP handler before dispatch. Preserve canonical lookups and reject stale or unrelated aliases so local tool resolution can continue.
Add regression coverage for Google Workspace-style names and document the lookup contract.
Use the standard compact panel radius and present the emergency gateway action as Disconnect. Keep the plugin contract and focused UI regression coverage aligned.
Move the Launcher Host access control into Agent Zero's existing sync-status cluster, render one computer glyph per gateway, and remove the tooltip, expanding label, and animation. Reuse the standard WebUI radius tokens and cover the new extension surface and compact indicator contract with focused tests and DOX updates.
Advertise the file-write gateway capability while preserving legacy Files scopes as read/write access.
Render five Host access switches in Core, enforce read/write/exec dependencies, and cover negotiation and control behavior with focused tests.
Persist only durable Responses continuation metadata instead of repeated prompts and raw model payloads.
Normalize legacy AI message metadata during load while preserving structured output, unrelated metadata, and tool-result inputs.
Preserve explicit endpoint case, accept host:port and HTTP discovery addresses in Browser settings, and keep live-runtime guidance independent of any fixed localhost port.
Convert standard inline and display delimiters before Markdown while preserving code spans and fences. Render agent-thought math locally so generic process and key/value rendering stays flag-free.
Add every font referenced by the vendored KaTeX stylesheet so math renders without missing local assets. Cover the CSS-to-font contract with a focused regression test and document ownership.
Add a confirmed Reset to default action to the preset editor and refresh its draft after resets from either entry point.
Resolve the toast helper at action time so resetting model settings cannot abort before removing the preset override. Rename the generic reset action for clarity and add regression coverage.
Persist the frontend-extension notification as read before reloading so it does not reappear after refresh. Align plugin and updater toast actions with the shared small spacing token.
Present Open updater as the existing confirm-style button on its own toast row. Opening the Self Update modal now dismisses the persistent notification so users do not need to close it separately.\n\nKeep external update-instruction links unchanged and extend the persistent-toast regression coverage.