
𝙊𝙥𝙚𝙣𝘾𝙤𝙙𝙚 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, models.dev, 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 opencode.ai/go.
𝗔𝗽𝗽
• 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: github.com/anomalyco/open…
English