Skip to content

Changelog

New updates and improvements to OpenCode

  1. v2.2.5

    The connect menu no longer lists MCP servers

    The connect menu no longer lists MCP servers, which are managed in their own place.#60675

  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

    Improvements

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

    Fixes

    • TerminalPreserved prompt cursor styles applied by plugins when themes or unrelated prompt state change.#60599
    • TerminalAdded missing right padding to edit and patch diffs.#60614
    • TerminalExtended the vertical session-tab activity pulse across the full tab width.#60338
  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

    Breaking changes

    TUI plugins require OpenTUI 0.8

    @opencode/plugin now requires @opentui/core and @opentui/solid 0.8.0 or later. In OpenTUI 0.8, a ScrollBox's wrapper, viewport, content, and scrollbars are facade objects instead of renderables, and a custom RenderContext must implement clock and onAnimationTick. See the OpenTUI 0.8.0 release notes.

    #60385

    Improvements

    • TerminalAdded a distinct marker for the selected composer suggestion in the new designs.#60393
    • 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 10

    • TerminalFixed PHP syntax highlighting for code blocks without an opening <?php tag.#60359
    • TerminalPreserved # in file-search paths unless it introduces a valid line range.#60336
    • TerminalKept the configured default cursor style after config reloads.#60302
    • TerminalMatched the search cursor to the highlighted row when a selection dialog has no query.#60310
    • 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

    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

    • TerminalPreserved captured attachments and their original source paths.#60222@OpeOginni
    • TerminalPrevented middle-truncated paths from overflowing at very narrow terminal widths.
    • TerminalImproved Go usage-limit messages with the reset time and account page link.
    • TerminalCorrectly typed and displayed Go and ChatGPT usage-limit errors.
    • 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

    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

    Fixes

    • TerminalShow execution failures that occur before the first model step.#60079
    • TerminalKeep the activity spinner visible while a continued subagent runs.#59950
    • TerminalSend pasted image and PDF paths correctly when connected to a local server.#59833
    • TerminalImprove spacing in an empty /usage dialog.#59918@Tarquinen
  6. v2.2.0

    Create, install and share Desktop plugins (experimental)

    Breaking changes

    TUI plugins require OpenTUI 0.7

    @opencode/plugin now requires @opentui/core and @opentui/solid 0.7.0, up from 0.6.8 or later. Plugins that depend on OpenTUI 0.6 fail to install until they upgrade. In OpenTUI 0.7, custom renderables read their hooks from their class at construction: assign renderBefore, renderAfter, and onLifecyclePass in the constructor instead of as class fields, call refreshHooks() after adding a hook by reflection, and replace defineNativeIntegration() with a static nativeIntegration declaration. See the OpenTUI 0.7.0 release notes.

    #59295

    Improvements

    • TerminalReduce CPU use while animated session-tab pulses are visible.#59235
    • TerminalList OpenCode Console before OpenCode Go in the integration picker.#59107
    • TerminalAdd /usage, model-picker, prompt, sidebar, warning, and error details for OpenCode Console usage limits.#58731
    • TerminalMake CLI service registration more reliable when concurrent processes update its files.#59105

    Fixes 15

    • TerminalReturn opencode run --format json server connection errors as JSON.#59366@andreivince
    • TerminalPreserve pasted prompt text when copying it back out.#59209
    • TerminalReliably update the background service on Windows when its files are briefly locked.#59105
    • TerminalKeep the background service state directory out of tool shells and identify processes blocking its port.#58815
    • TerminalRefresh Git branch details after switching branches.#58982
    • TerminalKeep the TUI running when a plugin slot or route renders bare text.#58144@anmol0b@Tarquinen
    • TerminalAccept --server and --standalone anywhere in supported CLI commands.#58505
    • TerminalRelease closed and background session transcripts to prevent memory growth.#58434#57025
    • TerminalConnect remote access tunnels through HTTP proxies.#58464
    • TerminalKeep development builds on a separate server, database, and port from released builds.#58331
    • 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.19.0

    Use /update to install OpenCode updates or upgrade to OpenCode 2

    Use /update to install OpenCode updates or upgrade to OpenCode 2; updates are no longer installed automatically.

  8. v1.18.31

    Request summarized adaptive thinking for GitHub Copilot models

    Fixes

    • TerminalShow remote config authentication errors during startup and exit with a failure status.
  9. v1.18.23
  10. v1.18.13