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

    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
    • ExtensionsAdded persistent-terminal renaming to the process daemon, including capability discovery and user titles that override shell-provided titles until cleared.#60324

    Fixes

    • 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
    • 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

    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

    • 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

    Reduce CPU use while animated session-tab pulses are visible

    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

    • 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 10

    • 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
  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