Zingpop

Changelog

New updates and improvements to Zingpop

Core

  • Preserve original image attachments instead of resizing them before sending them to the model

Core

  • Restored prompt editing keybindings in the TUI textarea, including aliases like `esc` and `enter`
  • Model changes now persist reliably across session activity
  • HTTP API schema validation errors now return a readable 400 response body
  • Scout can now materialize configured reference repositories up front so they are ready to search
  • Large image attachments are now auto-resized before sending, with configurable size limits

TUI

  • File and directory paths now render relative to the session directory when possible

Core

  • Added a built-in `customize-opencode` skill so opencode config edits are less likely to break startup.
  • Fixed numeric HTTP API query parameters in the generated OpenAPI spec and SDK for session and file endpoints.
  • Fixed boolean HTTP API query handling so SDK types and runtime validation stay aligned.
  • Tolerated legacy stored numeric values in sessions, diffs, and retry events instead of failing to load old data.
  • Fixed old sessions with negative token counts causing message loads and Desktop startup to fail.
  • Fixed MCP tool discovery when a server publishes broken `outputSchema` references.
  • Fixed workspace HTTP API query drift so workspace-routed endpoints expose the right query parameters in OpenAPI and the SDK.
  • Fixed a Plan Mode security bypass where subagents could ignore parent-agent deny rules.

Core

  • Provider configs and API responses now accept models marked as `active`.
  • Read tool permission rules now match worktree-relative paths, so read allowlists and denylists apply correctly.
  • Workspace-routed HTTP API endpoints no longer reject valid `directory` and `workspace` query params.

TUI

  • Startup errors now report every failed bootstrap request instead of only the first one.
  • Opening a session no longer crashes when the messages request fails.

Desktop

  • Older migrated sessions with missing diff file details load again.
  • Older migrated sessions with missing diff patches load again.(@OpeOginni)

SDK

  • `throwOnError: true` now throws a real `Error` with the server message and preserves the response body in `cause`.

Extensions

  • TUI plugins using the deprecated `api.command` API keep working while you migrate to `api.keymap`.
  • Provider plugins can no longer mutate shared provider model state for the rest of the app.

Core

  • Fixed upgrades failing for existing workspaces when adding the `time_used` field.

Core

  • Keep provider and config API responses working when auth loaders add non-JSON options to providers.
  • Include tool image attachments in ACP updates and session replays.(@SteffenDE)

Core

  • Added HTTP API response compression for large non-streaming responses.
  • Added the Scout agent for repo research, docs lookup, and dependency-source inspection.
  • Added workspace sync so adapter-backed workspaces can be discovered and registered automatically.
  • Added an interactive split-footer mode for `opencode run`.
  • Simplified TUI keybinding config into a flat keybind format.
  • Made duplicate worktree names fall back to the parent directory for clearer labels.
  • Fixed HTTP API auth responses to match the previous wire format for empty authorize results and share errors.
  • Returned structured validation errors from the HTTP API.
  • Rejected invalid permission and question IDs in the HTTP API.
  • Included auth challenges on typed HTTP API `401` responses.
  • Fixed the HTTP API OpenAPI document route.
  • Fixed detached sessions so they are claimed by the source project again.
  • Forwarded `SIGINT`, `SIGTERM`, and `SIGHUP` correctly when running through the npm shim.(@chubes4)
  • Allowed skills without descriptions to load correctly.
  • Required auth on effect HTTP API root routes.(@RajvardhanPatil07)
  • Kept tool ordering stable so tool lists stop reshuffling between runs.
  • Made retry dialogs more specific to the provider and failure reason.
  • Fixed Gemini reasoning controls so supported effort levels and small-mode defaults match the model.
  • Fixed Anthropic Opus 4.5 reasoning effort options.
  • Limited OpenAI deep research models to the reasoning level they actually support.
  • Fixed GPT-5 reasoning variants so the exposed effort options match each model family.

TUI

  • Show retrying sessions as active in the project sidebar.(@edemaine)
  • Fixed the sidebar message shown for language server state.(@Polo123456789)
  • Sorted the session picker by full last-updated time instead of day buckets.(@Sleepful)
  • Kept longer cleared prompts in draft history so they can be restored.

Desktop

  • Switched desktop updates to silent per-user install flow.

Core

  • Restored formatter output handling so formatting still works when formatters write to stdout or stderr.(@ferdinandyb)
  • Warping a session to another workspace can now carry over your uncommitted file changes.

TUI

  • Restored custom provider setup in `/connect`.

Desktop

  • Added a macOS Settings menu entry.(@jessedi0n)
  • Moved the desktop app's local server into a separate utility process for more reliable startup and shutdown.

Extensions

  • ACP clients now restore the last model, mode, and effort when loading sessions, and can close sessions cleanly.

Core

  • Support `.well-known/opencode` configs that point to a separate remote config file.
  • Preserve assistant text when replaying signed reasoning blocks.(@edevil)
  • Return consistent not-found errors for missing sessions.
  • Apply CORS headers before auth so browser clients can reach legacy server endpoints.
  • Fix `serve`, `web`, and ACP network options triggering runtime re-entry errors.
  • Only show connected workspaces in warp flows, and carry the new directory into the session after warping.
  • Restore web terminal CSP allowances.
  • Sanitize invalid surrogate characters before provider transforms.
  • Fix Cloudflare AI Gateway provider options for OpenAI-compatible models.(@NathanDrake2406)
  • Use the current workspace with `/new`, including local-project warps.
  • Keep editor selection context stable until it is sent.
  • Retry `server_is_overloaded` API errors automatically.
  • Restore Mistral Medium 3.5 variants so model selection works correctly.
  • Show compaction summaries before retained tail messages.

TUI

  • Keep the selected model when model data refreshes.
  • Fix `/agent create` to use the `/agents` path.(@OpeOginni)

Desktop

  • Allow trusted app windows to write to the clipboard without permission failures.
  • Ignore broken pipe (`EPIPE`) errors in desktop console logging.
  • Stop auto-installing updates when quitting the app.
  • Silence noisy browser API Sentry reports in production.
  • Prevent sync bootstrap queries from failing during app startup.

Desktop

  • Respect `HTTP_PROXY` and related proxy environment variables in the desktop app.
  • Return `null` instead of failing when the desktop app cannot read a stored value.

Core

  • Embedded UI requests now work with arbitrary `connect-src` origins under the default CSP.

Desktop

  • Desktop now trusts system CA certificates for HTTPS connections.

Core

  • Canceling a task now also cancels child subtask sessions.
  • Improved v2 session rendering with cleaner tool states, better compaction summaries, and more accurate timing.
  • Warp a session into another workspace or back to the local project.

Desktop

  • Run the desktop migration on startup so existing installs transition correctly after the desktop packaging move.
  • Stabilized the Windows titlebar when changing zoom levels.

Core

  • Preserve diff patch boundaries so session diffs keep rendering correctly when file contents include `diff --git` text.

Core

  • Add PTY connection tickets so authenticated terminal websockets work more reliably across clients.
  • Add v2 session failure events so clients can detect and show failed runs.
  • Improve shell command handling for Bash, PowerShell, and cmd sessions.
  • Return structured error bodies from the effect HTTP server instead of empty failures.
  • Reload server auth environment variables correctly for each new HTTP listener.
  • Stop worktree creation from hanging while bootstrap commands run.
  • Fix Azure Anthropic model resolution when using the Anthropic SDK.
  • Fix the web UI proxy so public manifest assets load and proxied responses do not break on `transfer-encoding`.(@OpeOginni)
  • Allow Codex Spark models when signing in with Codex OAuth.(@Utkub24)
  • Fix embedded UI serving from the standalone server build.
  • Fix PTY websocket connections from Desktop when using the HttpApi server.
  • Respect custom basic auth usernames in opencode clients.
  • Prompt browsers for basic auth on protected server logins.(@OpeOginni)
  • Show real server error messages in the CLI and SDK instead of bare `{}`.
  • Prevent large diffs from using unbounded memory.
  • Fix v2 session API responses to encode optional fields correctly.
  • Fix pagination `Link` headers to use the real request host.

TUI

  • Add `debug info` to print environment and diagnostic details.
  • Add a `--username` option for basic-auth server connections.(@OpeOginni)
  • Pass server auth through internal ACP connections.
  • Show provider login errors from stderr instead of swallowing them.

Desktop

  • Prevent terminal reconnect loops after recovery failures.
  • Preserve auth-token credentials when reopening the app.

Core

  • Fix issue with custom agents in plugins not loading

Core

  • Shell mode in the prompt stays editable, so backspace, cursor movement, and other editing keys work again.
  • Fixed HTTP API workspace adapters losing instance context, which could break workspace create, sync, and routing flows.
  • Fixed experimental workspace creation requests that omit `extra`.
  • Fixed OpenAPI parameter schemas so generated clients match the public API.
  • Unsupported image formats now fall back to text reads instead of being sent as image attachments.(@zeke)
  • Agents can use the global temp directory without extra permission prompts.
  • Fixed Bedrock sessions that include reasoning content when switching models.
  • Session archive timestamps now reject non-finite values, avoiding invalid JSON in API payloads.

TUI

  • Reduced startup theme flashing when using the system theme.
  • The animated logo now avoids subpixel rendering on terminals without truecolor support.

Core

  • Azure setup now prompts for the resource name when needed and saves it with the API key.
  • Task child sessions now preserve parent `external_dir` and deny permissions.(@remorses)
  • Invalid remote MCP URLs now fail with a clear error instead of breaking setup.

Desktop

  • Restoring saved messages no longer crashes the app when a model is missing.

Core

  • Fixed missing sessions in Desktop caused by path mismatches, including recovery for existing stored data.
  • Fixed Azure Responses defaults to avoid reasoning item ordering errors.
  • Improved DeepSeek compatibility with providers that vary model naming.
  • Added Mistral Medium 3.5 with reasoning support.(@rubdos)
  • Made instruction precedence more predictable by applying global instructions before project and skill instructions.
  • Reconnected editor context when switching to a session in another directory.
  • Fixed forked sessions so compacted history stays intact.(@spark4862)
  • Reduced memory growth in long-running bash tool usage.
  • Sessions now filter to the current path by default, with a setting to show the whole project.
  • Kept GitHub Copilot model variants in sync with the latest API capabilities.
  • Fixed Zed selections with UTF-8 text so editor context uses the right ranges.

TUI

  • Added a quick toggle for paste summaries.
  • Invalid custom themes no longer crash the TUI on startup.

Core

  • Sessions now keep a relative workspace path.
  • Moonshot and Kimi tool schemas are sanitized to avoid rejected tool calls.
  • MCP OAuth errors now match the native API more closely.
  • Provider OAuth authorize errors now match the native API more closely.
  • Shell cancellations now finish cleanly instead of leaving aborted commands in a bad state.
  • Creating a session over HTTP now works with an empty request body.
  • Workspace HTTP API routes are now mounted through the bridge.
  • Tool streaming now defaults off for non-Anthropic models when using the Anthropic SDK.
  • DeepSeek OpenAI-compatible setups now keep `reasoning_content` interleaved by default.
  • The experimental LSP tool now forwards the workspace symbol query.
  • Google Vertex now defaults tool call streaming off.

TUI

  • Zed context polling stays responsive.
  • Pressing Enter in dialogs now triggers the dialog instead of leaking through.(@CasualDeveloper)
  • File context is clearer, can be turned off, and clears after sending.
  • `opencode agent create` now writes a valid `permissions.deny` config.(@21pounder)

Desktop

  • Per-workspace icon overrides now stay applied for subdirectories in the same repo.
  • Sync state loading is more reliable for MCP, LSP, and workspace refreshes.

Core

  • Fixed issue with `opencode upgrade` failing for bun installs unless in a directory with package.json
©2026 ZingpopBrandPrivacyTerms