Changelog
New updates and improvements to OpenCode
v2.2.6 GUI Plugin Themes and New Slots
GUI plugins can now add color themes, render or add actions to code blocks, and use native settings and menu components.#61485#61533#61527#61509
See all highlights in v2.2.6Improvements
- SDKAdded
client.experimental.job.list()and its Effect equivalent for listing background shell, subagent, and image jobs, with session, descendant, kind, and status filters.#60698 - SDKServer embedders can provide a custom
fetchimplementation for OpenCode HTTP, model, web, and remote MCP traffic.#61582
Fixes
- SDKAdded
v2.2.4 Publish Interactive Artifacts
Enable
See all highlights in v2.2.4"experimental": { "artifacts": true }inopencode.jsonto let agents publish, update, and serve HTML or static artifacts through the built-in local provider or plugin-provided storage.#60351Improvements
- SDKExtended
client.experimental.persistentPty.updateto rename terminals or clear a user title, and exposeduserTitlepluspersistent-pty.updatedevents.#60329
- SDKExtended
v2.2.3 Added lazy loading for stored image references when
experimental.media_blobis enabledAdded lazy loading for stored image references when
See all highlights in v2.2.3experimental.media_blobis enabled. Images are downloaded only for previews, while undo, revert, fork, and prompt recall restore referenced attachments safely.#60116Improvements
- SDKPreserved partial
LLMResponseoutput onAIError.partialwhen generation, object generation, or a tool loop fails.#60477 - SDKUnified Effect and Promise tool declarations around
tool(...), with optional output schemas and executable or declaration-only tools.#60407 - SDKAdded typed OpenRouter
debug,models,plugins,provider, anduseroptions to the Responses route.#60044 - ExtensionsAdded persistent-terminal renaming to the process daemon, including capability discovery and user titles that override shell-provided titles until cleared.#60324
Fixes
- SDKMatched the Promise AI client more closely to the Effect API and accepted typed tools in loops.#60465#60390
- SDKKept tools whose
executehandler can throw available to the AI client.#60431 - SDKContinued polling queued media generations when providers return unknown intermediate statuses.#59988
- SDKStopped sending an incompatible
filenamealongsidefile_urlon OpenAI Responses requests.#60382 - ExtensionsPreserved
nullvalues in Code Mode text encoding.#57639@xiajiahang - ExtensionsTidied nested Extensions menus.#59468
- SDKPreserved partial
v2.2.2 Unified Quotes and Annotations
Timeline quotes, terminal quotes, and browser annotations now share a compact optional-comment editor, while source highlights remain attached to local drafts.#60164
See all highlights in v2.2.2Improvements
- SDKAdded
ifanduntilinputs forclient.experimental.schedule.create, plus schedule check results and output fields.#60137 - SDKExposed
SessionInfo.time.busyfor the latest execution’s start time. - SDKAdded optional source metadata to prompt file attachments.
Fixes
- ExtensionsCorrected visible flowchart edges connected through Merman subgraphs.
- SDKAdded
v2.2.1 Keep Working Toward a Goal
Run
See all highlights in v2.2.1/goal <objective>in the TUI or Desktop to let the session continue until a reviewer confirms the objective is met. Use/goal pause,/goal resume, or/goal clearto control it.#59437Improvements
- SDKAdd
client.experimental.schedule.{create,list,get,pause,resume,delete}for managing scheduled prompts.#59457 - SDKGroup experimental generated-client methods under
client.experimental; previous locations remain as deprecated aliases until the next minor release.#59072 - SDKExpose compaction through the Promise AI client.#59987
- SDKAdd freeform tool support and Responses routes for OpenRouter, DigitalOcean, and Venice.#59963#59991
- ExtensionsLet Code Mode extension globals return Effects and declare required services.#59948
- SDKAdd
v2.2.0 Create, install and share Desktop plugins (experimental)
See all highlights in v2.2.0Fixes
- SDKFix generated Promise client input types for TypeScript consumers.#58875
- SDKLet SDK clients discard inline tool-result file payloads to reduce memory use.#59101
- SDKAvoid unnecessary catalog refreshes for locations an SDK client has not loaded.#55237#59099
- SDKRestore running sessions created while an SDK client was disconnected.#53012
- SDKRelease omitted tool-image payloads from memory instead of retaining their base64 data.#58560
v1.18.31 v1.17.12 Add a live event subscription stream
Improvements
- SDKAdd SDK access to active sessions.
- SDKRestore session runtime operations such as event streaming, interrupts, and message lookup.
- SDKAdd paged durable session history.
- SDKAdd session permission request create and fetch endpoints.
Fixes
- SDKPreserve
V2Eventnames in SSE streams. - SDKWake embedded session execution after new prompts.
- SDKImprove V2 runtime tool results and avoid duplicate model switch events.
- SDKResolve MIME types for prompt attachments sent by URI.
v1.17.10 Exposed provider integration IDs in the SDK
Improvements
- ExtensionsAdded namespaced plugin hook APIs.
- ExtensionsAdded the V2 plugin API for Effect and Promise plugins.
v1.17.7 Improvements
Improvements
- SDKSDK clients now refresh model and provider availability when integrations change, and credential update and remove calls accept
location.
- SDKSDK clients now refresh model and provider availability when integrations change, and credential update and remove calls accept