Skip to content

Changelog

New updates and improvements to OpenCode

  1. 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.6

    Improvements

    • 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 fetch implementation for OpenCode HTTP, model, web, and remote MCP traffic.#61582

    Fixes

    • ExtensionsIsolated plugin dialogs, Markdown renderers, terminal views, lazy chunks, and artifact viewers so failures do not take down their host surface.#62110#62123#61993
  2. v2.2.4

    Publish Interactive Artifacts

    Enable "experimental": { "artifacts": true } in opencode.json to let agents publish, update, and serve HTML or static artifacts through the built-in local provider or plugin-provided storage.#60351

    See all highlights in v2.2.4

    Improvements

    • SDKExtended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events.#60329
  3. v2.2.3

    Added lazy loading for stored image references when experimental.media_blob is enabled

    Added lazy loading for stored image references when experimental.media_blob is enabled. Images are downloaded only for previews, while undo, revert, fork, and prompt recall restore referenced attachments safely.#60116

    See all highlights in v2.2.3

    Improvements

    • SDKPreserved partial LLMResponse output on AIError.partial when 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, and user options 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 execute handler can throw available to the AI client.#60431
    • SDKContinued polling queued media generations when providers return unknown intermediate statuses.#59988
    • SDKStopped sending an incompatible filename alongside file_url on OpenAI Responses requests.#60382
    • ExtensionsPreserved null values in Code Mode text encoding.#57639@xiajiahang
    • ExtensionsTidied nested Extensions menus.#59468
  4. 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.2

    Improvements

    • SDKAdded if and until inputs for client.experimental.schedule.create, plus schedule check results and output fields.#60137
    • SDKExposed SessionInfo.time.busy for the latest execution’s start time.
    • SDKAdded optional source metadata to prompt file attachments.

    Fixes

    • ExtensionsCorrected visible flowchart edges connected through Merman subgraphs.
  5. v2.2.1

    Keep Working Toward a Goal

    Run /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 clear to control it.#59437

    See all highlights in v2.2.1

    Improvements

    • 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
  6. v2.2.0

    Create, install and share Desktop plugins (experimental)

    See all highlights in v2.2.0

    Fixes

    • 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
  7. v1.18.31
  8. 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 V2Event names 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.
  9. 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.
  10. v1.17.7

    Improvements

    Improvements

    • SDKSDK clients now refresh model and provider availability when integrations change, and credential update and remove calls accept location.