Skip to content

OpenCode v2.2.1

Released · OpenCode / SST

Breaking

What the release notes say

Highlights

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

  • Generate Images: Enable experimental.image_generate to let agents create or edit images with the new image_generate tool. You can optionally set its default model with experimental.image_generate.model. (#59939, #60096)

  • Inspect Background Shells: Click a running shell in the Desktop activity pill to see its live output and stop it without leaving the menu. (#59496)

  • New Default Model Picker: Search favorites, recent models, providers, and variants from the redesigned model picker, which is now the default in Desktop. (#59997)

Breaking changes

@opencode/ai provider removals and renames

These changes affect code that imports @opencode/ai directly. They don't change the CLI, Desktop, or the HTTP API.

  • The fal, Black Forest Labs, Replicate, and Stability providers are removed, along with their ./providers/fal, ./providers/black-forest-labs, ./providers/replicate, and ./providers/stability entry points. (#59977)

  • Five legacy entry points are removed. Import the nested paths instead, which 2.2.0 already exports: ./providers/amazon-bedrock-mantle → ./providers/amazon-bedrock/mantle, and ./providers/google-vertex-chat, -interactions, -mistral, and -responses → ./providers/google-vertex/chat, /interactions, /mistral, and /responses. (#59506)

  • Each provider's configure() input type is now named Config, for example Groq.LanguageModelOptions → Groq.Config, and model() settings are optional when every setting is optional. (#59765)

Core

Improvements

  • Add /goal <objective> with pause, resume, and clear controls, plus automatic progress review until the objective is met. (#59437)

  • Add opt-in scheduled prompts through /schedule, agent tools, and experimental.schedules. (#59401, #59457)

  • Add the opt-in image_generate tool for background image creation and editing, with automatic or configured model selection. (#59939, #60096)

  • Offer GPT Image 2 after Codex sign-in and add MiniMax and Meta Muse image generation support. (#60085, #59929, #60081)

  • Add Responses API support for OpenRouter, DigitalOcean, and Venice, including freeform tools. (#59991, #59963)

  • Improve snapshot performance by coalescing captures and avoiding repeated ignore-file work. (#59419)

Bug fixes

  • Preserve more context headroom when fitting tool output into the context window. (#59934)

  • Retry provider throttling correctly instead of reporting it as context overflow. (#59649)

  • Send image-edit references and image sizes in the formats expected by OpenRouter, Google, and Vercel Grok. (#60067, #59927)

  • Keep credential metadata and prompt-cache settings out of model settings and variants. (#60057, #59500)

  • Keep Git snapshots working in repositories that use a split index. (#59417)

  • Expose Console web search only when the workspace enables it. (#59592)

  • Improve Code Mode diagnostics for parse errors, stalled awaits, and promise-like search results. (#59834, #59749, #59981)

TUI

Improvements

  • Show /goal status below the prompt and provide a dialog for pausing, resuming, or clearing it. (#59437)

Bug fixes

  • Show execution failures that occur before the first model step. (#60079)

  • Keep the activity spinner visible while a continued subagent runs. (#59950)

  • Send pasted image and PDF paths correctly when connected to a local server. (#59833)

  • Improve spacing in an empty /usage dialog. Thanks @Tarquinen. (#59918)

Desktop

Improvements

  • Add /reload to reload configuration without restarting. (#59887)

  • Make the redesigned searchable model picker the default, with dedicated Favorites and Recent sections and keyboard-accessible provider controls. (#59997)