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 clearto control it. (#59437) - Generate Images: Enable
experimental.image_generateto let agents create or edit images with the newimage_generatetool. You can optionally set its default model withexperimental.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/stabilityentry 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 namedConfig, for exampleGroq.LanguageModelOptions→Groq.Config, andmodel()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, andexperimental.schedules. (#59401, #59457) - Add the opt-in
image_generatetool 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
/goalstatus 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
/usagedialog. Thanks @Tarquinen. (#59918)
Desktop
Improvements
- Add
/reloadto 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)
- Show live output and a Stop action when you select a background shell from the activity pill. (#59496)
- Show
/goalstate and actions in a composer pill. (#59437) - Redesign the integrations dialog and always include OpenCode free models in the model picker. (#59976, #60047)
- Add project, worktree, open-in-app, and terminal actions to the session location menu. (#59607)
- Refine project and worktree selection, command search, prompt-history focus, composer model labels, and artifact preview controls. (#59397, #59604, #59626, #59735, #59657)
- Highlight quoted timeline content while you write its first comment. (#59286)
- Keep draft attachment bytes local when using experimental media URIs. (#59104)
Bug fixes
- Follow each plugin server’s configured endpoint when connecting to its event stream. (#60087)
- Treat the reachable scroll boundary as the end when Desktop zoom is active. (#60034)
- Prevent shell text from showing through copy buttons and avoid restyling the transcript when closing a side panel. (#59901, #59878)
- Keep rendering malformed tool metadata instead of crashing the timeline. (#59736)
- Make dropdowns open immediately and keep the new-session location shortcut working after tooltip interactions. (#59268, #59680)
- Remove edge halos from macOS application icons. (#59900)
SDK
Improvements
- Add
client.experimental.schedule.{create,list,get,pause,resume,delete}for managing scheduled prompts. (#59457) - Group experimental generated-client methods under
client.experimental; previous locations remain as deprecated aliases until the next minor release. (#59072) - Expose compaction through the Promise AI client. (#59987)
- Add freeform tool support and Responses routes for OpenRouter, DigitalOcean, and Venice. (#59963, #59991)