OpenCode 2.2 lets plugins build into the desktop app and drops its GitHub Action

2 hours ago

OpenCode 2.2, the open source coding agent's v2.2.0 release, lets plugins add panels, commands and settings pages to OpenCode Desktop (experimental). Also: Focus and Pro layouts, rewind and fork from any message, a configurable prompt cache lifetime, session instructions that keep the cache, image and decision generation for plugins and the SDK, and GPT-6.1 Terra. Gone: the OpenCode GitHub Action; terminal plugins now need OpenTUI 0.7; @opencode/ai's root is now the Promise API. Upgrade steps are in the release notes. https://github.com/anomalyco/opencode/releases/tag/v2.2.0 https://opencode.ai/v2/docs/build/plugins/gui https://github.com/anomalyco/opencode/blob/v2.2.0/CHANGELOG.md

Ask about this presentation

Chapters

  1. 0:00OpenCode 2.2 lets plugins build into the desktop app
  2. 0:1301 Desktop plugins
  3. 0:16One package, three parts
  4. 0:29Desktop plugins use the app's own controls
  5. 0:43Plugins live under Extensions
  6. 1:0002 The desktop app
  7. 1:02Focus or Pro layout
  8. 1:15Rewind or fork from any message
  9. 1:28Model dialog, todo list, Windows updates
  10. 1:4103 Sessions and models
  11. 1:44Session instructions keep the cache
  12. 1:58Set how long the prompt cache lasts
  13. 2:12Image and decision generation
  14. 2:25GPT-6.1 Terra, two context fixes
  15. 2:4004 What's gone
  16. 2:43The GitHub Action is gone
  17. 2:57Terminal plugins need OpenTUI 0.7
  18. 3:11@opencode/ai leads with Promises
  19. 3:22Set a one-hour cache first
Show transcript
  1. OpenCode 2.2 lets a plugin add its own panels, commands and settings pages to OpenCode Desktop. Desktop plugins are experimental, so their API can still change between releases.

    Slide text
    anomalyco/opencode · CHANGELOG.md · PR #55246 · PR #59469 · PR #59489 · opencode.ai/v2/docs/build/plugins/gui
  2. Part one: desktop plugins.

    Slide text
    opencode
    01
    Desktop plugins
  3. A plugin package already shipped a server part and a terminal part. Now it adds a desktop part beside them, and the desktop app's own features are built as plugins on that same SDK.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #55246 · opencode.ai/v2/docs/build/plugins/gui

    One plugin package now carries a desktop part

    Server the package’s main export
    Terminal the ./tui export
    Desktop the new ./gui-experimental export
  4. Desktop plugins can now do what the built-in features do. They show toasts and ask in the app's own dialogs, notify you while OpenCode is in the background, and manage tabs and the prompt.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59469

    Desktop plugins can use the app’s own controls

    Toasts and dialogs confirm, prompt, select, alert
    System notifications shown only while OpenCode is out of focus
    Tabs and the composer manage shell tabs, read and write the prompt
  5. You manage desktop plugins in one place: Settings, then Extensions, then Plugins, next to your MCP servers and skills. Each plugin gets a switch, a Reload button, and its error when it fails to load.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59489

    Plugins sit beside MCP servers and skills

    OpenCode Desktop Settings, Extensions, Plugins tab
  6. Part two: the desktop app.

    Slide text
    opencode
    02
    The desktop app
  7. The desktop app now asks how you work. Focus puts tabs across the top, with room to write prompts. Pro moves tabs down the side, compact and icon-first. Your current tab setting carries over.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #56898

    Pick a Focus or a Pro layout

    OpenCode Desktop layout picker: Focus and Pro
  8. Hover any message to rewind or fork from it. Rewind hides that message and everything after it, puts your files back as they were, and returns your prompt to the composer, with an Undo.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #58865

    Rewind puts your files back, and a toast offers Undo.

  9. Models now open in a searchable dialog with your favorites and recent picks. The todo list is back above the composer, if you opt in. And future Windows updates install in about a second.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #55838 · PR #59092 · PR #55933

    Models, todos and Windows updates change too

    Model dialog searchable, with favorites and recent models
    Todo list back above the composer, if you opt in
    Windows updates future ones install in about a second
  10. Part three: sessions and models.

    Slide text
    opencode
    03
    Sessions and models
  11. Plugins can now attach keyed instructions to a session. Each change arrives as a small update at the next step, so the prompt cache stays intact. The entries also survive compaction and reverts.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #56550

    Plugins can update a session’s instructions and keep the prompt cache

    Entries survive compaction and reverts.

  12. You can now choose how long the prompt cache lasts. On Anthropic it was five minutes, so an agent waiting on a slow tool paid to rewrite its whole context. Now set an hour per model.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59157
    5m 30m 1h 12h 24h

    Per provider, model or variant.

  13. Plugins and the SDK get experimental image generation, and a Decision API for models that answer structured questions about text or an image: a yes or no, a choice, or a score.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59190 · PR #59380 · PR #58758

    Plugins and the SDK can generate images and answer structured questions

    yes or no a choice a score
  14. Sign in with ChatGPT adds GPT 6.1 Terra and Terra Fast. Compaction now sizes itself from the provider's reported token count, and throttled requests retry instead of showing up as a context overflow.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59359 · PR #59441 · PR #58866

    GPT-6.1 Terra arrives, and two context bugs are fixed

    GPT-6.1 Terra and Terra Fast, in Sign in with ChatGPT
    Compaction sized from the provider’s own token count
    Throttled requests retried, not reported as a context overflow
  15. Part four: what's gone.

    Slide text
    opencode
    04
    What’s gone
  16. OpenCode no longer publishes its GitHub Action, and you should remove it from your workflows. Workflows that point at its existing tags keep working, because those tags are locked to older commits.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59032

    OpenCode no longer publishes its GitHub Action

    Workflows pinned to its existing tags keep working.

  17. Plugins for OpenCode's terminal app now require OpenTUI 0.7. A plugin still built on OpenTUI 0.6 fails to install until its author moves it to the new version.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #59295

    Terminal plugins now need OpenTUI 0.7

    A plugin on OpenTUI 0.6 fails to install until it upgrades.

  18. If you build on OpenCode's AI package, its root now exports the Promise API, matching the SDK and client packages. The Effect API moves to its own entry point.

    Slide text
    opencode
    anomalyco/opencode · CHANGELOG.md · PR #58847 · PR #59183

    The @opencode/ai package now leads with its Promise API

    The Effect API moves to its own entry point.

  19. On long Anthropic sessions, the setting I'd change first is a one-hour prompt cache. Before upgrading a plugin or an SDK app, read the breaking changes in OpenCode's 2.2 release notes.

    Slide text
    opencode
    OpenCode 2.2 release notes · github.com/anomalyco/opencode/releases

    Long Anthropic sessions? Set a one-hour cache first.

    Breaking changes and upgrade steps: the OpenCode 2.2 release notes on GitHub.

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️