𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.13 released. TL;DR: Desktop tabs are now window-scoped; App gets WSL/question/composer polish; Providers fix Copilot Responses replay and OpenAI-style reasoning variants.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
Added
• Added per-window Desktop identity so restored windows keep separate routes, tab stacks, recent tabs, and window state.
• Added session tab hover previews with project, title, path, branch, and server context.
Changed
• Changed deep links and menu commands to target the last-focused window instead of a single global main window.
• Changed WSL add-server probing to batch distro and OpenCode checks through one stricter IPC path.
Fixed
• Fixed stale local storage buildup by deleting empty workspace stores and pruning old draft stores.
𝗔𝗽𝗽
Added
• Added a redesigned WSL add-server flow with installed distro statuses, distro catalog search, WSL install/unavailable states, and inline OpenCode install/update actions.
• Added a minimizable question dock so pending questions can be collapsed without losing answer progress.
• Added v2 model selector/manage-models controls with searchable provider groups, free/latest tags, and provider-level visibility toggles.
Changed
• Changed missing-session errors in the new layout to stay scoped inside the session panel with an Unknown Session tab and close-tab action.
• Improved composer model/variant controls and context-usage tooltip alignment for the v2 layout.
Fixed
• Fixed session timeline virtualization near scroll bounds by clamping out-of-range offsets before range calculation.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Fixed OpenAI-style reasoning variants by forcing reasoning mode for OpenAI, Azure OpenAI, and Bedrock Mantle models when reasoning is supported or explicitly requested.
• Fixed GitHub Copilot Responses replay by keeping response/item metadata in the Copilot namespace, allowing stale item IDs to be stripped before later requests.
𝗨𝗜
• Improved session markdown rendering with more natural heading/block spacing and v2 copy-button tooltips.
• Improved inline code path detection across many more filenames and extensions, so rendered file references are recognized more reliably.
𝗭𝗲𝗻
• Updated Zen model tables for Claude Sonnet 5, MiniMax M3, and Kimi K2.7 Code, with older Claude, MiniMax, and Kimi entries moved into deprecation tables.
No noticeable bundle change
Compare: https://t.co/UWJCIqoUj8
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.12 released. TL;DR: TUI auto-approve, App/Desktop session UX polish, v2 API/SDK coverage, and LLM/MCP/OAuth hardening.
𝗧𝗨𝗜
Added
• Added --auto to auto-approve permissions that are not explicitly denied, with hidden compatibility aliases and a visible auto prompt indicator.
• Added auth headers for externally served TUI transports so remote TUI threads can talk to protected server APIs.
Fixed
• Fixed the session switcher to query root sessions, preserve selection during live updates, and avoid stale deleted entries.
• Fixed prompt.skills keybind registration so custom keybinds can open skill selection.
𝗔𝗽𝗽
Added
• Added @ autocomplete for configured references and MCP resources, sent as typed prompt attachments with source metadata.
• Added project and workspace controls for new-session drafts, including branch-aware worktree selection outside production.
• Added a session-scoped auto-accept permissions toggle in settings.
Changed
• Improved the session header with sticky layout, single-click title editing, v2 menus, and v2 context usage controls.
• Improved titlebar tabs with dnd-kit drag handling, middle-click close handling, inline title edits, and better tab state recovery.
Fixed
• Fixed prompt cursor restoration on focus.
• Fixed bare slash rendering so / stays plain inline code instead of being classified as a path.
• Fixed hidden terminal renderer suspension to avoid resize hangs.
• Fixed concurrent session event reconciliation and default review-pane collapsed state.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Restored the last active in-app URL on desktop relaunch.
• Fixed desktop shell edge cases around draggable startup error views, destroyed-window permission checks, and intermittent context-menu or tab clicks.
𝗔𝗴𝗲𝗻𝘁
• Fixed external absolute-path reads to require external_directory approval before reading or listing.
• Fixed prompt attachment MIME/resource handling for image and file context.
• Fixed remote skill caching so versioned refreshes are safe and resource paths are preserved.
𝗖𝗼𝗿𝗲
• Changed runtime wiring to the app-node/layer-node graph and removed legacy layer aliases, tightening per-location service composition.
• Removed legacy config filename discovery; config loading now targets opencode.json and opencode.jsonc.
𝗟𝗟𝗠
Added
• Added model defaults and compatibility metadata for route-level generation, provider, HTTP, and tool-schema behavior.
• Added provider-specific tool-schema projections for Gemini and Moonshot while preserving OpenAI-compatible shaping.
• Added a typed response reducer that assembles stream events into text, reasoning, tool calls, usage, and finish state.
Changed
• Changed HTTP body overlays to reject protocol-owned fields, preventing config/defaults from overriding prompt, messages, tools, or generation controls.
Fixed
• Fixed OpenAI Responses stateless reasoning replay and reasoning-end ordering before text or tool events.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Enabled Anthropic Sonnet 5 adaptive thinking variants.
• Exposed https://t.co/0Tykrz2c7i experimental modes as selectable model IDs.
Fixed
• Fixed small-model fallback to use model family metadata and avoid guessing Azure deployments.
• Fixed empty provider config defaults and provider option serialization edge cases.
𝗠𝗖𝗣
Added
• Added MCP resource and resource-template discovery plus read support for prompt context.
• Added separate MCP startup and request timeout configuration.
Changed
• Changed OAuth credential lookup to scope stored tokens and client registration to the server URL.
Fixed
• Fixed OAuth reauth/reconnect flows, including refresh-token scope handling and reconnecting after browser completion.
• Fixed MCP tool result normalization to prefer explicit content and only synthesize text from structuredContent when content is absent.
𝗔𝗖𝗣
• Improved permission prompts with tool context, locations, diffs, and proposed-edit write-back to ACP clients.
• Fixed ACP prompt, resume, tool update, and usage behavior so errors surface, resumed sessions skip transcript replay, and richer tool/usage state reaches clients.
𝗦𝗲𝗿𝘃𝗲𝗿
• Added v2 active-session listing for foreground drains owned by the current OpenCode process.
• Added finite durable session history pages and per-session event replay/SSE.
• Added session-scoped permission create, list, get, and reply endpoints, plus saved-permission APIs.
𝗦𝗗𝗞
• Generated fuller protocol clients and exposed schemas/events needed for live event streams, active sessions, session history, and permission endpoints.
• Fixed generated JS SDK SSE/history typing while preserving V2Event names and numeric history query params.
𝗣𝗹𝘂𝗴𝗶𝗻
• Added shared branded local OAuth callback pages for ChatGPT/Codex, xAI, DigitalOcean, Snowflake, and MCP flows.
• Hardened xAI OAuth callback startup/error handling and kept the device-code path available for headless login.
𝗨𝗜
• Published @opencode-ai/ui as a public package with v2 exports, fonts, themes, icons, and build metadata.
• Added v2 dialog/divider/progress/icon styling and polished session markdown/tool UI to avoid blank status frames.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Updated Go/Lite pages with current model data, limit graph UI, locale links, and region-aware Lite billing controls.
• Removed the expired Go MiniMax promo.
𝗭𝗲𝗻
• Changed inference routing to track workspace/user region and choose providers with budget-priority headroom.
• Fixed abandoned requests by propagating caller aborts to upstream provider fetches.
No noticeable bundle change
Compare: https://t.co/HD15c2ZHR7
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.11 released. TL;DR:
App tabs/session state are steadier; v2 gets snapshot-backed session revert; SDK/protocol generation expands; provider and MCP fixes land.
𝗔𝗴𝗲𝗻𝘁
• Added snapshot-backed session revert plumbing for staging, clearing, and committing rollback boundaries with file diffs.
• Fixed fast file search startup so unavailable fff indexes fail closed instead of crashing or scanning broad roots.
𝗔𝗽𝗽
Added
• Added draggable/reorderable titlebar tabs with autoscroll and Chrome-style Ctrl+Tab/Ctrl+Shift+Tab cycling.
• Added inline titlebar tab renaming.
• Added Home session archive actions and a clearer empty state for starting a first session.
Changed
• Changed prompt drafts to keep the project server they belong to, so submission targets the correct local or remote server.
• Centralized per-server session info, messages, todos, permissions, and questions to reduce stale cross-directory UI.
Fixed
• Fixed prompt submission rollback so text, context, and images restore to the correct prompt after failures or draft handoffs.
• Fixed missing session tabs being closed when the target session no longer exists.
• Fixed todo dock state leaking across session navigation.
• Fixed Home project actions to be unavailable when the selected server is unhealthy.
Removed
• Removed the App timeline session progress stripe and its setting.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Fixed OpenAI textVerbosity mapping so request options emit text.verbosity.
• Fixed custom/console provider models being pruned when omitted from local config.
• Fixed directory-scoped provider catalogs so explicit directory consumers do not silently fall back to global providers.
𝗦𝗲𝗿𝘃𝗲𝗿
• Added v2 session revert stage, clear, and commit routes with typed OpenAPI errors.
• Changed the HTTP contract to be assembled from @opencode-ai/protocol, shared with generated clients.
𝗦𝗗𝗞
• Added @opencode-ai/client generation target with zero-Effect Promise and Effect-native clients.
• Added @opencode-ai/sdk-next for in-process Effect usage without opening a network listener.
• Added @opencode-ai/httpapi-codegen for Promise/Effect APIs generated from Effect HttpApi + Schema contracts.
𝗠𝗖𝗣
• Fixed opencode mcp auth to print the OAuth authorization URL before opening the browser, so manual auth is always available.
𝗧𝗨𝗜
• Restored OpenTUI 0.3.4 after reverting the 0.4.2 update.
• Fixed provider API-key dialog descriptions in the terminal UI.
Bundle -3.1 MB because mostly Native addons -3.3 MB and CLI/TUI JS +126.0 KB
Compare: https://t.co/rdppwKh4EI
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.10 released. TL;DR: App tabs/routes rebuilt; MCP resources/instructions; plugin/model/provider v2 plumbing; TUI/CLI/server controls tightened.
𝗔𝗽𝗽
Added
• Added server-keyed session routes and tab identity so sessions can open by server/session ID without directory-only URLs.
• Added per-tab prompt memory for draft/session tabs, keeping composer state scoped to the tab instead of the route.
• Added mobile utility navigation and a setting to place the v2 titlebar at the bottom on mobile.
Changed
• Changed Home and titlebar new-session flows to create draft tabs while preserving target server/project selection.
• Improved first navigation by prefetching recent sessions and markdown rendering data.
Fixed
• Fixed prompt persistence for draft sessions.
• Fixed stale timeline range indexes during session history updates.
• Fixed review line comments and viewed-session notification clearing.
𝗧𝗨𝗜
Added
• Added a bindable diff viewer open command and diff_open keybind support.
• Added a main branch diff source when the current branch differs from the default branch.
Changed
• Changed the model picker to sort models by release date.
• Changed the startup logo to a static render, removing animation overhead.
Fixed
• Fixed autocomplete file attachments to use the active session location and normalized file/directory MIME handling.
• Fixed multi-day duration formatting.
• Fixed skill load errors to render inline.
• Improved the crash screen with scrollable stack trace, copy report, reset, and exit actions.
𝗠𝗖𝗣
Added
• Added MCP resource tools for listing resources, listing templates, and reading resources with read permissions, truncation metadata, and safe media attachments.
• Added MCP server instructions to system context, filtered by denied tools.
Changed
• Changed MCP resource/template keys to preserve URI uniqueness and prevent server/name collisions.
Fixed
• Fixed MCP OAuth callback binding to IPv4 loopback.
• Fixed denied MCP resource tools being advertised as available.
𝗖𝗟𝗜
Added
• Added opencode api for calling the running server by OpenAPI operation ID or raw HTTP method/path, with headers, JSON data, and params.
• Added --mini minimal interactive mode for opencode tui and opencode attach, including replay controls.
Changed
• Changed attached local files to inline data URLs for remote servers, rejecting directories, special files, and files over 10 MiB.
Fixed
• Fixed default server port probing to walk upward from 4096 instead of jumping to a random OS port.
𝗦𝗲𝗿𝘃𝗲𝗿
Added
• Added v2 APIs to switch a session agent or model for subsequent provider turns.
Changed
• Changed /api/event to stream native v2 events for the whole server instead of a single location.
• Updated OpenAPI to describe /api/event as V2Event SSE payloads.
𝗦𝗗𝗞
• Updated the JS SDK and OpenAPI types for session switch APIs and server-wide v2 event subscription.
𝗣𝗹𝘂𝗴𝗶𝗻
Added
• Added v2 Effect and Promise plugin APIs with domains for agent, AISDK, catalog, command, integration, reference, and skill transforms.
• Added a plugin host with dynamic add/remove and readiness waiting, so internal/config plugins register through the same runtime path.
Changed
• Changed provider/model/command/skill config loading to use the direct runtime registry instead of legacy hook facades.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Added OpenCode Console as an integration with device OAuth and service-account API key auth for remote provider/model catalog loading.
• Added generated model variants for GLM 5.2-style OpenAI-compatible models, exposing high/max reasoning_effort variants.
Fixed
• Fixed Codex OAuth model filtering so gpt-5.5-pro is not shown as available.
• Fixed provider/model init errors to preserve structured messages and suggestions.
𝗟𝗟𝗠
• Added Gemini audio/video media ingestion for non-text user and tool file parts.
• Fixed structured tool errors for OpenAI Chat and Responses so models see JSON error payloads instead of collapsed strings.
𝗔𝗴𝗲𝗻𝘁
Changed
• Changed shell tool schema to drop the model-supplied description field; command text is now the permission/title source.
Fixed
• Fixed interrupted or failed provider turns to settle assistant steps and outstanding tool calls instead of leaving incomplete tool results.
• Fixed read/web tools to return typed binary, UTF-8, range, and size failures while enforcing bounded HTTP body reads.
𝗖𝗼𝗿𝗲
• Added the shared @opencode-ai/schema package for model, provider, session, permission, and related public schema definitions.
• Improved v2 session coordination and prompt promotion so wakes coalesce, queued inputs wait for idle boundaries, and promoted inputs reset turn allowance.
𝗨𝗜
• Added @opencode-ai/session-ui for session timeline, review, markdown, diff, and file-rendering components.
• Added cached markdown sanitization/preload for faster App session navigation.
𝗔𝗖𝗣
• Fixed ACP resource text conversion to preserve file URI source paths and line numbers in prompt text.
𝗭𝗲𝗻
Added
• Added GLM 5.2 to the Zen model catalog and pricing surface.
• Added user_id/model tier capture to inference metrics and unique-user totals in stats views.
Changed
• Changed Zen provider header modifiers to support request, session, model, project, caller, and IP placeholders.
Fixed
• Fixed Zen SSE parsing across CRLF, LF, and CR event separators.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Added support-authenticated actions for manual referral creation and account deletion.
𝗘����𝘁𝗲𝗿𝗽𝗿𝗶𝘀𝗲
• Added support-authenticated share removal through the enterprise share API.
Bundle +3.2 MB because mostly Native addons +3.3 MB and CLI/TUI JS -48.0 KB
Compare: https://t.co/mobxWSYvKp
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.9 released. TL;DR:
Agent step limits now behave correctly, GLM-5.2 thinking variants land, Bedrock/Copilot provider handling improves, and the TUI gets cleaner subagent/error behavior.
𝗔𝗴𝗲𝗻𝘁
• Fixed configured agent step limits in the v2 runner: the final step disables tools and forces a text-only summary instead of failing the run.
• Changed agents without a configured step limit to continue past the old hard 25-step local tool cap.
• Changed steered follow-up prompts to stay as normal user messages, preserving message shape and improving prompt-cache stability.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Added High/Max thinking variants for GLM-5.2 across OpenAI-compatible and Anthropic-compatible providers.
• Added OpenRouter GLM-5.2 High/XHigh reasoning variants using OpenRouter’s native effort mapping.
• Fixed GitHub Copilot model discovery so configured provider headers are passed through.
• Fixed Devstral model detection to use locale-stable lowercase matching.
𝗟𝗟𝗠
• Fixed Amazon Bedrock Converse topK forwarding by sending it through model-specific request fields as top_k.
𝗧𝗨𝗜
Fixed
• Fixed subagent task rows merging visually with neighboring inline tools.
• Fixed inline spacing around assistant summaries, assistant errors, block tools, and multi-line rows.
• Fixed the Console org switcher so org-load failures render inline instead of tearing down the dialog.
• Fixed background-subagent shortcut visibility so it only appears when the server advertises support.
𝗦𝗲𝗿𝘃𝗲𝗿
• Added /experimental/capabilities so clients can discover enabled experimental runtime features.
𝗦𝗗𝗞
• Updated the generated JS SDK and OpenAPI types for experimental capability discovery.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Added unique-user charts to OpenCode Data home and model pages.
• Fixed model peer rankings to use the same ranking window as the displayed model rank.
𝗭𝗲𝗻
• Improved provider budget telemetry so usage is recorded when spend is tracked and includes per-model budget usage.
No noticeable bundle change
Compare: https://t.co/uWpFYnHBEd
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.8 released. TL;DR: faster App timelines; off-thread markdown highlighting; safer MCP/provider tool handling; OpenCode Go moves to GLM-5.2.
𝗔𝗽𝗽
• Improved session timelines with stable row projection and TanStack virtualization, reducing rerenders and scroll jumps during streaming and history loads.
• Added a Home tab toggle that remembers the last active tab and exposes the shortcut through the titlebar.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Added a new desktop directory picker with tree navigation, path suggestions, and home/root/parent controls when new layout designs are enabled.
• Fixed desktop image attachments so selected files can preserve their native source path instead of only the basename.
𝗨𝗜
• Added worker-backed streaming markdown code highlighting with incremental Shiki token updates, keeping large code blocks from blocking message rendering.
• Fixed custom scrollbar thumb dragging so pointer position maps correctly to scroll position and cancel events end dragging cleanly.
𝗠𝗖𝗣
• Fixed long-running MCP tools so progress notifications reset call timeouts.
• Fixed MCP tool results marked as errors so they fail with readable text instead of being treated as successful output.
• Fixed MCP OAuth callback cleanup so the local callback server stops after completion, timeout, or cancellation.
• Fixed MCP OAuth callback error pages to escape provider-supplied HTML.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Fixed OpenAI and Azure-compatible tool schemas by lowering JSON Schema to their supported subset before provider calls.
• Fixed schemas that imply object or array types but omit explicit type/properties, improving compatibility with MCP-derived tools.
• Fixed Cloudflare AI Gateway auth by passing the API key into the unified model client.
𝗧𝗨𝗜
• Fixed Move session error handling so load failures render inline, while refresh failures keep the existing directory list usable.
𝗭𝗲𝗻
• Added GLM-5.2 to OpenCode Go model surfaces and removed GLM-5 from Go model lists, limits, pricing, and API docs.
• Changed Go model stats to scope usage, geo, peers, and rankings to OpenCode Go, with model ranks based on the latest week.
𝗗𝗼𝗰𝘀
• Fixed docs language selection so the chosen locale persists across pages.
Bundle +9.4 MB because mostly Web UI assets +27.8 MB and CLI/TUI JS +134.4 KB
Compare: https://t.co/lRGDIxyCHZ
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.7 released. TL;DR: canonical v2 PTY API; safer App draft server scoping; integration-backed provider availability; MCP/ACP polish.
𝗦𝗲𝗿𝘃𝗲𝗿
Added
• Added canonical location-scoped /api/pty routes for list/create/get/update/remove plus ticketed WebSocket connection and cursor replay.
• Added bounded exited-PTY retention on the canonical API, including exitCode visibility until explicit removal.
Changed
• Changed PTY WebSocket delivery to preserve replay, cursor metadata, live output, and close ordering through one outbound stream.
𝗔𝗽𝗽
• Fixed /new-session drafts so SDK and sync hooks follow the draft’s server instead of the globally selected server.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Changed provider/model availability to come from integration connections, so env keys and stored credentials are reflected consistently.
• Fixed model auth resolution to prefer active stored credentials and credential metadata over static configured auth.
𝗣𝗹𝘂𝗴𝗶𝗻
• Fixed plugin client requests to reuse the active OpenCode server URL instead of hard-coded localhost fallback.
• Fixed shell.env hooks applying to PTY terminal sessions, with plugin env merged before forced terminal variables.
𝗧𝗨𝗜
• Fixed @ mention autocomplete to match item names only, not descriptions or URIs.
• Improved provider/model refresh after catalog or integration updates.
𝗠𝗖𝗣
• Added MCP roots support, returning the current project directory as a file:// root when servers request roots.
• Updated mcp debug initialization to use the MCP SDK’s latest protocol version.
𝗔𝗖𝗣
• Fixed shell tool calls in ACP clients to show the actual command and resolved working directory instead of a generic shell title.
𝗦𝗗𝗞
• Added generated v2 PTY client methods and types for the new /api/pty surface.
• Updated generated provider and credential types for integration-backed provider availability and location-scoped credential update/remove.
𝗭𝗲𝗻
• Added provider budget-aware routing so fill-mode providers can stop receiving traffic after spend contribution reaches the configured budget.
No noticeable bundle change
Compare: https://t.co/nQXea7yk03
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.6 released. TL;DR: safer project-directory refresh, clearer move-session failures, and more explicit MCP client negotiation.
𝗖𝗼𝗿𝗲
• Fixed project copy refresh so unavailable copy roots are skipped instead of aborting the whole directory scan.
• Preserved existing source directories when a previously git-backed root is no longer a checkout.
𝗧𝗨𝗜
• Fixed the move-session dialog to surface project-directory load failures with an error toast and recover to an empty result.
𝗠𝗖𝗣
• Changed MCP client initialization to explicitly declare client capabilities during normal connection and OAuth auth flows, improving compatibility with stricter MCP servers.
No noticeable bundle change
Compare: https://t.co/ZMQZIXwg4P
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.5 released. TL;DR: Snowflake Cortex gets browser OAuth, MCP sessions self-recover, v2 integrations/project copies hit the API, and App/TUI polish lands.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Added Snowflake Cortex external-browser OAuth via /connect, with PKCE, optional role scoping, local callback capture, token refresh, and retry after 401.
Changed
• Updated Snowflake Cortex token handling to prefer SNOWFLAKE_CORTEX_TOKEN or options.token while keeping SNOWFLAKE_CORTEX_PAT/PAT fallback.
Fixed
• Fixed Snowflake Cortex request/stream compatibility by mapping max_tokens, normalizing empty SSE roles, and treating “conversation complete” as a normal stop.
𝗠𝗖𝗣
• Fixed expired streamable HTTP MCP sessions by reinitializing and retrying once after a session-bound POST returns 404.
• Fixed closed MCP clients staying registered after disconnect; tool definitions now clear and publish tool-change events.
• Fixed structured MCP output being hidden by surfacing structuredContent as JSON text.
𝗦𝗲𝗿𝘃𝗲𝗿
Added
• Added v2 integration discovery/auth routes for list/get, key connect, OAuth start/status/complete/cancel, and connection state.
• Added credential label update/remove endpoints for stored integration credentials.
• Added location-scoped v2 project-copy create/remove/refresh endpoints.
Changed
• Changed local server composition to build from layer nodes, consolidating dependency wiring for the instance HTTP API.
𝗦𝘁𝗼𝗿𝗮𝗴𝗲
Added
• Added full-schema bootstrap for empty SQLite databases, so fresh installs no longer replay every historical migration file.
• Added project-directory strategy metadata so worktree copies can be refreshed, sorted, and removed safely.
Changed
• Changed credential persistence to integration-scoped records instead of connector/method active slots.
𝗦𝗗𝗞
• Updated generated JS SDK/OpenAPI for integration, credential, project-copy, project-directory, and event-schema changes.
𝗔𝗴𝗲𝗻𝘁
• Fixed commands using $ARGUMENTS so file parts already supplied by the user are not injected a second time.
𝗧𝗨𝗜
Fixed
• Fixed duplicate renderable IDs in assistant text/tool rows, preventing rendering collisions when different messages reuse part IDs.
• Restored spacing around subtask inline tool rows, assistant summaries, and assistant errors.
Changed
• Improved move-session working-copy handling with current/other grouping, safer deletion prompts, and fallback navigation when the current copy is removed.
𝗔𝗽𝗽
Added
• Added overflow fades to titlebar session tabs and keeps active/new tabs scrolled into view.
Changed
• Changed v2 visibility preferences so file tree/search/status/custom-agent controls apply in web sessions, not just desktop.
Fixed
• Fixed the terminal resize gutter hitbox by moving the handle outside the clipped panel.
𝗨𝗜
• Updated OC-2 v2 grey ramps, foreground/icon contrast picking, and tab styling for stronger light/dark separation.
𝗖𝗟𝗜
• Fixed opencode run in-process SDK fetches to attach the local Authorization header before hitting the embedded server.
• Fixed serve layering so credential-backed API surfaces are available in the standalone server command.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
Added
• Added a Go banner for MiniMax M3 3x usage limits.
Changed
• Updated Go model lists from Kimi K2.5 to Kimi K2.7 Code and removed MiniMax M2.5 from current listings.
• Updated stats pricing views to use https://t.co/0Tykrz1EhK catalog prices and added markers for small countries on usage maps.
No noticeable bundle change
Compare: https://t.co/kTq4w7MhBh
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.4 released. TL;DR: connector auth foundation ships, MCP gets cwd/header fixes, v2 API/SDK expands, and TUI error visibility improves.
𝗖𝗼𝗿𝗲
• Added a scoped connector registry for key and OAuth auth flows, including attempt state, refresh, cancellation, expiration, and connector update events.
• Changed provider resolution so active credentials are projected into provider request config and model availability follows the selected credential.
𝗦𝘁𝗼𝗿𝗮𝗴𝗲
• Added credential persistence with one active credential per connector and one-time import from legacy auth.json.
𝗔𝗴𝗲𝗻𝘁
• Fixed provider content-filter finishes so blocked or partially blocked responses surface as visible session errors instead of silently going idle.
• Improved git snapshot creation for huge repos by reusing source object storage and large-index settings to avoid expensive rehashing.
𝗧𝗨𝗜
Changed
• Replaced the v2 sync debug path with a location-aware data cache for sessions, messages, permissions, questions, connectors, references, models, agents, commands, and skills.
Fixed
• Fixed prompt submission failures so the TUI shows an error toast instead of dropping the failure.
• Fixed failed pending terminal tools so patch and todo failures show concrete failure labels.
• Fixed scoped shutdown so the session exit epilogue still prints after cleanup.
• Fixed session-list search filtering.
𝗠𝗖𝗣
Added
• Added cwd for local MCP servers, with relative paths resolved from the workspace directory.
• Added MCP server log notification handling so server-emitted logs flow into OpenCode logs with severity.
Fixed
• Fixed remote MCP OAuth and debug requests so configured headers are preserved.
• Fixed MCP catalog timeouts so tool, prompt, and resource discovery respects configured timeout values.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Added OpenAI connector methods for ChatGPT Pro/Plus browser OAuth and headless device OAuth.
Fixed
• Fixed Gemini tool-schema compatibility for JSON Schema type arrays, including Gemini models reached through GitHub Copilot proxy paths.
• Fixed Cloudflare Workers AI credential handling by deriving the Workers endpoint from accountId metadata when no base URL is set.
𝗣𝗹𝘂𝗴𝗶𝗻
• Changed built-in provider plugins to use Connector and Credential services instead of the legacy account plugin.
• Added automatic API-key connector registration for providers discovered from https://t.co/0Tykrz1EhK environment metadata.
𝗦𝗲𝗿𝘃𝗲𝗿
Added
• Added v2 connector API routes for listing connectors, key auth, OAuth begin/status/complete/cancel, and connector OpenAPI schemas.
• Added v2 session create/get, location get, and per-session question list endpoints.
Changed
• Changed v2 filesystem reads to serve raw bytes with content type from /api/fs/read/* instead of JSON-wrapped file content.
𝗦𝗗𝗞
• Updated the generated JS SDK and OpenAPI types for connector auth, location, session, question, credential events, content-filter errors, MCP cwd, and raw filesystem reads.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Added a Data navigation link to the hosted console header.
• Updated Data page canonical URLs and social unfurl metadata for https://t.co/psAN72teQx with a PNG banner.
𝗭𝗲𝗻
• Changed Zen checkout to save card and Link payment methods for off-session use, improving follow-up billing flows.
No noticeable bundle change
Compare: https://t.co/ILujA25wTR
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.3 released. TL;DR: native filesystem search fallback fixed; file find stays available via ripgrep when FFF is unavailable.
𝗖𝗼𝗿𝗲
• Fixed filesystem search backend selection so OpenCode falls back to ripgrep when native FFF is disabled or unavailable.
• Improved reliability for file-find flows on runtimes/platforms where FFF cannot initialize, instead of failing during search service startup.
No noticeable bundle change
Compare: https://t.co/cts1XxqNhV
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.2 released. TL;DR: fff search is default on non-Windows, subagent permissions now honor subagent rules, attachment picking is restored, and Linux Desktop launchers are fixed.
𝗖𝗼𝗿𝗲
• Changed filesystem search to use fff by default on non-Windows, with `OPENCODE_DISABLE_FFF=true` as the opt-out and Windows staying on ripgrep by default.
• Removed the initial fff scan gate, so search initialization no longer fails just because the first index pass exceeds 5s.
𝗔𝗴𝗲𝗻𝘁
• Fixed task-spawned subagents so their own edit/tool permissions are preserved instead of inheriting parent agent restrictions.
• Changed Plan Mode to deny the built-in `general` subagent by default, while still allowing users to explicitly permit it via task permissions.
𝗖𝗟𝗜
• Fixed remote config auth failures to recognize SSO/login HTML responses as expired authentication instead of opaque JSON decode errors.
• Fixed `opencode auth login <url>` to bypass project instance startup when re-authenticating a URL, so a stale remote-config token can be replaced.
𝗔𝗽𝗽
• Fixed prompt attachment picking by restoring the platform file picker and browser file-input fallback instead of routing selection through server-side file reads.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Fixed Linux launcher identity so app id, executable name, desktop file name, icon base, and StartupWMClass line up for dev/beta/prod builds.
• Added a hidden legacy prod desktop entry so existing Linux pins to `opencode-desktop.desktop` keep opening after upgrade.
No noticeable bundle change
Compare: https://t.co/Pm0JTPzE1g
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.1 released. TL;DR: references become agent-visible; App adds durable new-session drafts; MCP handling is safer; Anthropic and Zen model support updated.
𝗖𝗼𝗿𝗲
Added
• Added description and hidden metadata to local and Git project references.
Fixed
• Fixed deprecated reference config handling so old configs are accepted and migrated to references.
• Fixed ripgrep-backed file search so .git metadata stays hidden and catch-all searches still respect ignored files.
𝗔𝗴𝗲𝗻𝘁
• Added described project references to agent context, so agents can discover when to inspect configured external directories or repos.
• Added configured reference directories to the external-directory permission allowlist, reducing prompts when reading referenced code or docs.
𝗔𝗽𝗽
• Added /new-session draft routing for the new layout, with draft tabs that promote into real session tabs on submit.
• Fixed draft project switching so changing directories retargets the existing draft instead of spawning a separate new-session flow.
𝗧𝗨𝗜
• Changed @ reference autocomplete to respect hidden: true and show the underlying repo/path beside aliases.
𝗠𝗖𝗣
• Fixed MCP client creation failures so broken servers report failed status and half-created clients are closed.
• Applied configured MCP timeouts to prompt and resource reads, not just tool discovery.
𝗟𝗟𝗠
• Updated the Anthropic adapter dependency to handle Anthropic fallback response shapes instead of failing those responses.
𝗭𝗲𝗻
• Added DeepSeek V4 Pro to the Zen model list as deepseek-v4-pro on the OpenAI-compatible chat-completions endpoint.
• Updated DeepSeek V4 pricing docs, including the DeepSeek V4 Flash cached-input price.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Fixed macOS auto-update packaging by moving Electron Builder to 26.15.2.
𝗦𝗗𝗞
• Updated generated OpenAPI and JS SDK types for references, deprecated reference compatibility, and reference metadata.
No noticeable bundle change
Compare: https://t.co/xvSOOLayjr
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.17.0 released. TL;DR: standalone TUI package, V2 session/tool hardening, managed Desktop WSL sidecars, App draft tabs.
𝗔𝗴𝗲𝗻𝘁
Added
• Added safe V2 session interruption with per-session execution coordination, wakeup coalescing, and concurrent drains across different sessions.
• Added automatic V2 context compaction around provider context-overflow failures, keeping an anchored summary plus recent turns.
• Added bounded tool-output retention so huge results get a preview plus a saved output path instead of flooding model context.
• Added fff-backed filesystem search with ripgrep fallback, fuzzy ranking, shorter-path tie breaks, and partial scan exposure.
Fixed
• Fixed prompt-scoped tool overrides and per-call permission rules so tool availability does not leak between turns.
• Fixed V2 file reads to be media-aware, binary-safe, paginated, and stricter about oversized ingest.
𝗧𝗨𝗜
Added
• Added @opencode-ai/tui as a standalone package for terminal UI runtime, themes, keymaps, config, plugins, and tests.
• Added working-copy management in the move-session dialog: show current locations, create a new copy, delete copies, and handle dirty-copy confirmation.
• Added project-copy context in the session list and quick-switch slot gutters for pinned/open sessions.
Changed
• Changed dialog action footers so Tab and Shift+Tab can focus secondary actions instead of trapping selection on the list item.
• Changed tool rendering with richer inline/block views, expandable shell output, diagnostics, task status, and denied/error states.
Fixed
• Fixed current-item gutter rendering in select dialogs.
• Fixed new project-copy bootstrap and reminder injection after moving sessions.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
Added
• Added managed WSL servers on Windows: probe/install WSL, install distros, install/update opencode inside a distro, and spawn per-distro sidecars.
• Added WSL server settings/onboarding in the app so WSL distros appear as selectable servers.
• Added attachment picking that reads selected files into the active project through a tokenized picker flow.
Changed
• Changed updates to a persistent subscribed state with explicit check, download, ready, install, and error states.
Fixed
• Fixed WSL sidecar startup edge cases including stale probes, removed servers, version mismatch checks, and distro names with spaces.
𝗔𝗽𝗽
Added
• Added draft tabs for new sessions, including persisted prompt state and promotion from draft to session after submit.
• Added a tabs help button.
• Added server management UI for WSL servers and improved server settings flows.
Changed
• Improved project/session browsing with higher session limits, scrolling, server UI updates, and refreshed project avatars.
Fixed
• Fixed directory MCP status refresh and clipped rounded session panels.
𝗠𝗖𝗣
Added
• Added non-interactive opencode mcp add: configure remote servers with URL/headers or local servers with argv/env without prompts.
Fixed
• Fixed MCP tool-call cancellation by passing abort signals through to callTool.
• Fixed paginated tools, prompts, and resources catalogs, including repeated-cursor protection.
• Fixed capability handling so prompt-only and resource-only MCP servers connect without forced tool listing.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Added reasoning as a supported interleaved field option for vLLM-style providers.
• Added reasoning variants across OpenRouter models instead of limiting them to a small model subset.
• Fixed MiniMax M3 thinking defaults and variants across Anthropic/OpenAI-compatible routes.
• Fixed Bedrock Mantle/API-key config and scoped Vertex provider transforms.
• Added Cohere North model configuration.
𝗟𝗟𝗠
• Added provider context-overflow classification across OpenAI Responses, Anthropic Messages, and Bedrock Converse so sessions can compact and retry instead of failing hard.
• Added image/media validation and tool-result media support across OpenAI Chat, OpenAI Responses, Gemini, and Bedrock paths.
• Added OpenAI Responses service_tier passthrough.
𝗣𝗹𝘂𝗴𝗶𝗻
• Added TUI plugin lifecycle cleanup, scoped keymap/mode/attention APIs, slot registration, status listing, activation/deactivation, add/install commands, and theme sync.
• Kept legacy TUI command APIs available while steering new plugins toward keymap layers and runtime-managed slots.
𝗦𝗲𝗿𝘃𝗲𝗿
• Changed the generated HTTP API to a canonical authorized /api surface with refreshed OpenAPI tags instead of the old experimental v2 grouping.
• Added /api/health and location-scoped /api/reference.
• Added session-location middleware so session routes run in the stored session location.
• Added ordered cursor pagination and search to session listing.
𝗦𝗗𝗞
• Regenerated the JS SDK and OpenAPI types for the new server surface, reference types, filesystem content shape, compaction/interrupt events, and tool output paths.
𝗟𝗦𝗣
• Fixed JDTLS root detection for Java Maven multi-module projects, Gradle projects, Eclipse projects, and nested independent Maven modules.
𝗭𝗲𝗻
• Added Claude Fable 5.
• Added North Mini Code Free.
• Updated MiniMax M3 Go pricing and request-limit estimates.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Changed the public stats surface to Data at /data, with /stats redirected.
• Fixed leaderboard deltas to show New for fresh entries and scoped market-share data to Go.
Bundle +7.3 MB because mostly Native addons +20.9 MB and CLI/TUI JS +892.0 KB
Compare: https://t.co/hG7eulcRRL
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.16.2 released. TL;DR: v2 sessions get durable context epochs, App gets multi-server tab/state isolation, Snowflake Cortex lands, and TUI can navigate diff hunks/background subagents.
𝗔𝗴𝗲𝗻𝘁
Added
• Added durable v2 context epochs: instructions, selected-agent system text, and available skill guidance are snapshotted per session and refreshed as explicit system update messages.
• Added default_agent config support for selecting the default primary agent when a session has no agent yet.
• Added background promotion for synchronous subagents so a blocking task can be detached and continue running.
Changed
• Changed permission checks to evaluate against the selected agent and fail closed when an agent cannot be resolved.
Fixed
• Fixed edit tool safety by refusing empty oldString replacements on existing files and tightening fuzzy block-anchor matches that could replace too much.
𝗔𝗽𝗽
Added
• Added server-scoped home, project, session, terminal, worktree, and query state so multiple servers no longer share local-only caches.
Changed
• Changed the home screen to focus projects and session search across configured servers while suppressing stale status indicators from inactive servers.
Fixed
• Fixed titlebar session-tab overflow with scrollable tabs, server-aware tab metadata, and preserved close/new-tab navigation.
𝗧𝗨𝗜
Added
• Added [ and ] hunk navigation in /diff with help and footer hints.
• Added Ctrl+B session.background to detach synchronous subagents when experimental background subagents are enabled.
Fixed
• Fixed permission replies in attach/workspace routing by sending the session directory with replies.
• Fixed terminal theme refresh after palette reloads, SIGUSR2, and resize-triggered palette changes.
• Fixed editor launch in attach mode when the remote project path does not exist locally by falling back to local cwd.
• Fixed /models slash autocomplete precedence and guarded path/diff metadata formatting inputs.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Added Snowflake Cortex provider support with account/PAT login, SNOWFLAKE_ACCOUNT/SNOWFLAKE_CORTEX_PAT env auth, Cortex request/stream normalization, and model catalog integration.
Fixed
• Fixed Amazon Bedrock hangs in packaged builds by using Node export conditions instead of browser conditions.
• Fixed GPT-5 reasoning options so only compatible providers receive Responses-only fields; Azure chat-completions paths drop unsupported include/reasoningSummary fields.
𝗟𝗟𝗠
• Changed Anthropic Messages system-update lowering to fall back to provider-compatible text when native placement is invalid, while still rejecting updates that split local tool calls from results.
𝗖𝗟𝗜
• Fixed daemon lifecycle handling with versioned registrations, timed health checks, safe stale-process replacement, and atomic registration cleanup.
𝗦𝗲𝗿𝘃𝗲𝗿
• Added POST /experimental/session/{sessionID}/background to promote running task subagents tied to a session into background jobs, gated by the experimental background-subagent flag.
𝗦𝗗𝗞
• Updated JS SDK/OpenAPI for the background-subagent endpoint, session context-updated events, and the new system session-message variant.
𝗦𝘁𝗼𝗿𝗮𝗴𝗲
• Added session context epoch persistence for baselines, snapshots, replacement sequence, revision, and agent so v2 sessions can replay context changes durably.
𝗣𝗹𝘂𝗴𝗶𝗻
• Added same-process native tool attachment APIs with schema-validated execution and model output projection; location tools keep precedence over application-level tools.
Bundle +3.0 MB because mostly CLI/TUI JS +8.9 MB and Bun runtime +26.0 KB
Compare: https://t.co/B3nRcsleB9
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.16.0 released. TL;DR: v2 sessions move into core, App/TUI get stronger workspace controls, providers get protocol fixes, and Stats gets model-level pages.
𝗖𝗼𝗿𝗲
• Added a public native core API for Effect-based embeddings: sessions can now be created, listed, prompted, paged, inspected, and streamed through an intentional supported surface.
• Changed v2 session execution around event-sourced prompt admission, queued vs steering delivery, durable tool settlement, and location-scoped model/tool resolution.
𝗧𝗨𝗜
Added
• Added /move for moving a session to another project directory or creating a new git worktree copy, with dirty-file transfer handling.
• Added queued prompt management in direct interactive run mode, including leader+q access plus edit/remove before queued prompts start.
• Added Vue syntax highlighting.
Fixed
• Fixed question replies and diff views so they route through the active session directory instead of the current process directory.
• Fixed prompt corruption when pasting near wide characters.
• Fixed live hydration and session switching edge cases that could leave stale or misplaced active-turn UI.
𝗔𝗽𝗽
Added
• Added Settings v2 appearance controls for color scheme, theme selection, UI font, mono font, and terminal font.
• Added server settings and multi-server home project lists, including local/http server de-duping and per-server project state.
• Added home session search with keyboard navigation, status indicators, and project-aware results.
Fixed
• Fixed recent session/project loading before path sync resolves, stale custom provider state after config updates, and titlebar/tab layout polish.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Fixed local server startup failure handling so sidecar initialization errors surface in the renderer instead of hanging behind startup state.
• Changed startup by removing the old SQLite migration overlay path and waiting directly on sidecar readiness.
𝗦𝗲𝗿𝘃𝗲𝗿
• Added a standalone v2 server package with typed routes for sessions, messages, models, providers, filesystem, permissions, questions, events, commands, skills, and health.
• Added experimental project-copy and control-plane routes for managed working copies and session moves.
𝗟𝗟𝗠
Added
• Added chronological system-message support: Anthropic Opus 4.8 can use native system updates, while other routes receive visible lower-authority wrapped updates.
Fixed
• Fixed OpenAI function tool schemas by normalizing top-level objects and flattening nullable/anyOf shapes.
• Fixed Gemini and Bedrock reasoning signature preservation across replay and continuation.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Added AWS Bedrock Mantle support for OpenAI models, including OpenAI Responses routing for GPT models and Chat routing for safeguard models.
Changed
• Updated GitHub Copilot model discovery to use the 2026-06-01 API, picker filtering, token-pricing conversion, and utility small-model selection.
Fixed
• Fixed SAP AI Core reasoning variants by routing Anthropic, Gemini, GPT, and fallback efforts through modelParams.
• Fixed OpenAI websocket error handling so initial and mid-stream API errors preserve status, headers, and response bodies.
𝗔𝗖𝗣
• Fixed loaded-session replay so ACP clients receive prior user, assistant, and reasoning transcript chunks.
• Fixed session/cancel so ACP aborts the running OpenCode turn while keeping the ACP session usable.
• Fixed ACP tool classification and locations for apply_patch, task, external_directory, and cleaned read tool display content.
𝗦𝘁𝗼𝗿𝗮𝗴𝗲
• Changed database ownership into core with a named TypeScript migration journal and normalized Windows path storage.
• Removed the manual JSON-to-SQLite migration command from opencode db.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Added refreshed Stats routes with cache-ratio, geo breakdown, top-usage sorting, and model/provider detail pages.
• Fixed Stats banner proxying, OG image serving, and retired provider/model cleanup during sync.
𝗭𝗲𝗻
• Added Go/Zen catalog coverage for MiniMax M3, Qwen3.7 Plus, Qwen3.7 Max, and DeepSeek V4 Flash surfaces.
• Updated the free NVIDIA endpoint from Nemotron 3 Super to Nemotron 3 Ultra with revised trial/TOS copy.
𝗣𝗹𝘂𝗴𝗶𝗻
Added
• Added experimental.provider.small_model so provider plugins can choose utility models for tasks like title generation.
Changed
• Changed plugin event delivery to location-scoped EventV2 events instead of the legacy global bus.
Fixed
• Restored private git plugin install fallback behavior.
𝗨𝗜
• Added OC-2 v2 theme token resolution, Matrix theme, and a shared ProjectAvatar v2 component.
• Improved v2 select, menu, toast, tabs, keybind, switch, and text-input styling for the new App settings/home surfaces.
𝗦𝗗𝗞
• Regenerated OpenAPI and the JS v2 SDK for the new v2 server routes and changed response shapes.
𝗭𝗲𝗱
• Removed the bundled Zed extension metadata and sync automation from this repository.
No noticeable bundle change
Compare: https://t.co/ZTAHOvzVqk
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.15.13 released. TL;DR: ACP is promoted, config/plugin/runtime state got deeper v2 plumbing, TUI/App session flows improve, and provider transport fixes target Vertex, OpenAI, MCP, and Windows PTY.
𝗔𝗖𝗣
• Changed opencode acp to use the newer ACP implementation by default instead of a feature-flagged alternate path.
• Added richer ACP session lifecycle support: list, resume, close, fork, loadSession, and per-session model/mode config updates.
• Added ACP directory snapshots that include providers, agents, slash commands, skills, default model resolution, and available-command updates.
• Improved ACP replay and usage reporting so resumed sessions can restore recent messages and report context/cost usage to clients.
𝗖𝗼𝗿𝗲
Added
• Added location-scoped v2 config loading across global config, project config, and nested .opencode directories, with nearer config winning for runtime settings.
• Added v2 config schemas for agents, providers, MCP, LSP, formatters, attachments, references, plugins, compaction, and tool output.
• Added experimental provider-use policies so config can deny provider access by wildcard resource.
Changed
• Changed location runtime caches to include config, policy, catalog, agent, plugin, auth, npm, https://t.co/0Tykrz1EhK, filesystem, and global services with a longer 60-minute TTL.
• Changed catalog and agent mutation to use serialized state transforms, reducing races when plugins and config mutate provider/model/agent state.
𝗔𝗴𝗲𝗻𝘁
• Added default v2 agents through a built-in plugin: build, plan, general, explore, compaction, title, and summary now get explicit modes and permission profiles.
• Added config-driven agent overrides, custom agents, disabling, model/variant/options overrides, and per-agent permissions.
𝗣𝗹𝘂𝗴𝗶𝗻
• Added config-driven provider catalog transforms, including custom providers, model definitions, costs, limits, variants, capabilities, and disabled models.
• Added a plugin.added event so catalog state can react when plugins are registered after initial boot.
𝗧𝗨𝗜
Added
• Added an experimental session switcher behind OPENCODE_EXPERIMENTAL_SESSION_SWITCHER, with search, pinned sessions, quick-switch slots, rename/delete actions, workspace recovery, and a live preview pane.
Fixed
• Fixed wrapped inline tool rows so icons/text align consistently and block tools create proper vertical spacing.
• Fixed inline tool failures to show a compact error state that can be expanded instead of dumping errors inline.
• Fixed select dialogs so footers stay pinned at the bottom while the option list scrolls.
• Changed provider-specific model lists to sort by release date, making newer connected-provider models easier to find.
• Fixed the OpenCode Go provider prompt to send users to https://t.co/AUucp9Obqr.
𝗔𝗽𝗽
• Changed MCP/command loading to run only for directories with an active directory-sync context, then disable when the last consumer is released.
• Fixed horizontal jitter on the /go page.
𝗦𝗲𝗿𝘃𝗲𝗿
• Added session metadata persistence and API support: create/update/get/list now round-trip metadata, and forked sessions preserve it.
• Fixed workspace create/warp failures to return typed, message-bearing errors so clients can show the real failure instead of a generic bad request.
𝗦𝗗𝗞
• Updated generated OpenAPI/JS SDK types for session metadata, optional model variants, plugin.added events, experimental provider policies, and typed workspace create errors.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Fixed Vertex AI auth by requesting the cloud-platform OAuth scope through GoogleAuth.getClient().
• Fixed OpenAI Responses WebSockets under Bun to honor HTTP(S)_PROXY/NO_PROXY and preserve upgrade/connect error messages.
• Fixed stalled SSE streams to surface as retryable provider stream errors instead of generic read timeouts.
• Fixed Anthropic Opus 4.7+ adaptive reasoning detection for suffixed model IDs and forces summarized thinking display through AI SDK Gateway so thinking blocks are not empty.
• Updated gitlab-ai-provider to 6.8.0.
𝗠𝗖𝗣
• Fixed MCP OAuth/auth file races by serializing reads and writes to mcp-auth.json with a file lock.
𝗖𝗟𝗜
• Fixed Windows ConPTY PTY info decoding by allowing pid 0 while node-pty assigns the child process asynchronously.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Updated packaged @lydell/node-pty binaries to 1.2.0-beta.12 across desktop targets.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Added hosted /stats routing and proxying, with rankings/model charts, live GitHub star count, newsletter signup, social unfurl metadata, and mobile chart/layout fixes.
• Fixed workspace operation errors in the UI so real server messages are surfaced to users.
𝗭𝗲𝗻
• Changed high-volume balance/usage accounting for hot workspaces to batch through Redis before flushing to billing tables, reducing row-lock pressure.
• Fixed Lite referral rewards so first checkout credits the inviter and invitee while avoiding self-referrals and duplicate invitee rewards.
No noticeable bundle change
Compare: https://t.co/Tyo3FqjSdu
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.15.12 released. TL;DR: ACP-next can prompt, OpenAI gets experimental Responses WebSockets, TUI gains workspace management, and App layout redesigns become toggleable.
𝗔𝗖𝗣
Added
• Added ACP-next session/prompt handling for text, images, embedded resources, file links, slash commands, and /compact.
• Added ACP permission mediation with allow once, always allow, and reject outcomes, including proposed-edit handoff when the client supports writing files.
• Added ACP usage updates after prompts with context-window size and session cost.
Changed
• Improved ACP-next startup and warm config switches by caching directory snapshots and avoiding historical session scans for default model selection.
Fixed
• Fixed ACP session/list so newly created live ACP sessions appear before persistence catches up.
𝗟𝗟𝗠
• Added an experimental OpenAI Responses WebSocket transport for streamed /responses calls, with per-session pooling, HTTP fallback, connection age limits, and release-build opt-in via OPENCODE_EXPERIMENTAL_WEBSOCKETS.
• Fixed OpenAI WebSocket stream failure handling with active idle/connect timeouts, retry budgeting before first events, abort propagation, and custom base URL support.
𝗧𝗨𝗜
Added
• Added an experimental Workspaces dialog exposed through workspace.list and /workspaces, with connection status, path details, sync, and delete confirmation.
Changed
• Changed session navigation, session list, and scroll bindings so the important global keys stay active while prompt modes or autocomplete are focused.
Fixed
• Restored the live thinking spinner in both TUI session renderers.
• Fixed subagent retry visibility by showing retry status inline and surfacing retry errors when entering the child session.
• Fixed editor launches from root or non-git worktree paths so they fall back to the project directory instead of opening at /.
𝗦𝗲𝗿𝘃𝗲𝗿
Changed
• Changed event streaming and PTY WebSocket connect routes to use the typed HTTP API middleware stack, including instance context, workspace routing, and route-specific auth.
Fixed
• Fixed remote workspace proxying so non-GET request bodies are forwarded instead of being dropped.
• Fixed existing-session routes to prefer the persisted session directory when resolving workspace context.
• Fixed Basic auth decoding so passwords may contain colons.
𝗔𝗽𝗽
• Added Settings > General > New layout and designs, making the redesigned layout, home, composer, titlebar, and session UI user-toggleable in desktop builds.
• Fixed redesigned desktop tabs and home behavior, including tab close visibility, all-project recent sessions, and multi-server grouping only when multiple servers exist.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
• Fixed Anthropic Opus 4.7+ adaptive reasoning detection so newer Opus 4.x IDs get the expanded effort set and summarized thinking display.
𝗔𝗴𝗲𝗻𝘁
• Fixed git worktree discovery by anchoring primary worktree detection to the project worktree instead of the current sandbox path.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Improved Go referral claiming by applying invite cookies from the referral surface, clearing consumed cookies, blocking self-referrals, and ignoring accounts that already paid for Lite.
• Improved the OpenCode Stats surface with a model-stats hero, anchored sections, mobile navigation, preloaded IBM Plex Mono weights, normalized provider/model attribution, and lower-memory ingest batching.
𝗭𝗲𝗻
• Changed IP and API-key rate limits to Redis-backed counters, reducing request-path database writes.
• Removed per-request API-key last-used writes from Zen request handling.
𝗦𝗗𝗞
• Updated generated v2 SDK/OpenAPI PTY connect types to expose cursor and ticket query parameters.
𝗨𝗜
• Updated v2 shared UI components to use the v2 font and theme tokens consistently across menus, controls, inputs, and stories.
No noticeable bundle change
Compare: https://t.co/8rXhIyYdZe
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.15.11 released. TL;DR: ACP-next is available behind OPENCODE_ACP_NEXT; App/TUI session state and scrolling got sharper; OpenAI Responses continuation is safer; provider/project identity fixes reduce broken runs.
𝗔𝗖𝗣
• Added an ACP-next runtime with session create/load/list/resume/close/fork, config option updates, model/mode switching, auth metadata, and MCP server registration.
• Added ACP event routing for streamed assistant text, thoughts, and tool-call state so clients receive live tool updates instead of only final session state.
𝗖𝗼𝗿𝗲
• Changed project identity resolution to prefer normalized git remote identity, while migrating cached project IDs without losing sessions, workspaces, or permission rules.
𝗔𝗴𝗲𝗻𝘁
• Fixed run-loop continuation after abort/retry by ignoring orphaned interrupted tool calls instead of treating them as pending work.
• Changed experimental background subagents to inject completion/error results automatically and removed task_status polling from the tool surface.
𝗧𝗨𝗜
Added
• Added responsive prompt sizing: prompt.max_height caps the session composer and prompt.max_width can fixed-cap or auto-scale the home prompt.
Fixed
• Fixed diff viewer and editor flows: diff scrolling now uses configured acceleration, and external editor/export opens in the active worktree cwd.
• Fixed OpenAI reasoning summary display by separating the title header from the markdown body.
𝗔𝗽𝗽
Changed
• Changed server SDK/sync into server-scoped global contexts that coalesce event bursts, reconnect stale streams, and reuse per-directory state.
• Refined V2 home/new-session composer and titlebar with project picking, session tabs, server status, and update controls.
Fixed
• Fixed virtual timeline state so collapsed tools/diffs survive streaming updates and recently expanded context groups remeasure before overlapping later rows.
• Fixed deleted/archived sessions evict cached data and close stale titlebar tabs.
𝗗𝗲𝘀𝗸𝘁𝗼𝗽
• Fixed Electron startup/restored-window flashes by defaulting BrowserWindow background to the active OC2 theme and updating existing windows on theme changes.
𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿𝘀
Added
• Added provider.options.headerTimeout with a 10s OpenAI default, separate from full request and SSE chunk timeouts.
Fixed
• Fixed DigitalOcean OAuth to use genai:read/inference:query tokens directly for inference/router discovery instead of creating Model Access Keys.
• Fixed Google provider regressions around tool-call IDs, Vertex thought signatures, and noisy GCP metadata warnings.
𝗟𝗟���
• Fixed OpenAI Responses reasoning continuation for stateless GPT-5 flows by carrying encrypted reasoning state and splitting streamed summary parts into stable thought blocks.
• Added support for OpenAI Responses include values so native callers can request provider-returned artifacts without custom translation.
𝗠𝗖𝗣
• Fixed dynamically added MCP servers so in-memory entries show status, expose tools, and can be connected/disconnected after add.
𝗣𝗹𝘂𝗴𝗶𝗻
• Added a plugin dispose lifecycle hook called during instance teardown.
• Fixed Codex integration by sending the session-id header expected by upstream session tracking.
𝗦𝗲𝗿𝘃𝗲𝗿
• Fixed HTTP/OpenAPI modeling for optional no-body payloads on selected session and worktree routes so generated clients can call them without fake bodies.
𝗭𝗲𝗻
Added
• Added Qwen3.7 Max to OpenCode Go/Zen surfaces, including Go limits/pricing docs and console model lists.
Changed
• Changed Zen free-IP rate limiting to use Upstash/Redis with database fallback for lower-latency quota checks.
Fixed
• Fixed Zen provider selection and non-stream usage accounting: disabled providers are skipped, and Google/OpenAI Responses usage is extracted for billing.
𝗖𝗼𝗻𝘀𝗼𝗹𝗲
• Added a support lookup surface for account, workspace, API key, billing, Go, payment, usage, and disabled-model diagnostics.
𝗜𝗻𝗳𝗿𝗮
• Added AWS S3 Tables/Iceberg data lake ingest for Zen inference events and a stats pipeline backed by Athena/Planetscale.
Bundle +1.0 MB because mostly Web UI assets +2.6 MB and CLI/TUI JS +563.3 KB
Compare: https://t.co/7sey2ZCnuk
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 v1.15.10 released. TL;DR: prod desktop legacy flows are restored, app sync readiness is corrected, Anthropic tool-result typing is stabilized, and Zed downloads now target 1.15.10.
𝗔𝗽𝗽
Changed
• Changed the production legacy home screen back to a project-first launcher with recent projects, server status, explicit open-project flow, and loading/empty states.
Fixed
• Fixed production desktop session pages being treated as the v2 new-session route, restoring review/file-tree side panels and normal session panel sizing behavior.
• Fixed directory sync readiness so child stores start as loading, move to partial during bootstrap, and only become complete after slow project/session/provider loads succeed.
𝗟𝗟𝗠
• Fixed Anthropic Messages tool-result content handling so downstream consumer packages no longer hit unstable typechecking around content-array results.
𝗭𝗲𝗱
• Updated the Zed extension manifest and agent-server artifact URLs to v1.15.10 for macOS, Linux, and Windows targets.
No noticeable bundle change
Compare: https://t.co/2w81tgS2Tm