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 clearto control it.#59437Generate 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#60096Inspect 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/aiprovider removals and renamesThese changes affect code that imports
@opencode/aidirectly. 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. - 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. - Each provider's
configure()input type is now namedConfig, for exampleGroq.LanguageModelOptions→Groq.Config, andmodel()settings are optional when every setting is optional.
Improvements
- CoreAdd opt-in scheduled prompts through
/schedule, agent tools, andexperimental.schedules.#59401#59457 - CoreOffer GPT Image 2 after Codex sign-in and add MiniMax and Meta Muse image generation support.#60085#59929#60081
- CoreAdd Responses API support for OpenRouter, DigitalOcean, and Venice, including freeform tools.#59991#59963
- CoreImprove snapshot performance by coalescing captures and avoiding repeated ignore-file work.#59419
- DesktopAdd
/reloadto reload configuration without restarting.#59887 - DesktopRedesign the integrations dialog and always include OpenCode free models in the model picker.#59976#60047
- DesktopAdd project, worktree, open-in-app, and terminal actions to the session location menu.#59607
- DesktopRefine project and worktree selection, command search, prompt-history focus, composer model labels, and artifact preview controls.#59397#59604#59626#59735#59657
- DesktopHighlight quoted timeline content while you write its first comment.#59286
- DesktopKeep draft attachment bytes local when using experimental media URIs.#59104
- 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
- CorePreserve more context headroom when fitting tool output into the context window.#59934
- CoreRetry provider throttling correctly instead of reporting it as context overflow.#59649
- CoreSend image-edit references and image sizes in the formats expected by OpenRouter, Google, and Vercel Grok.#60067#59927
- CoreKeep credential metadata and prompt-cache settings out of model settings and variants.#60057#59500
- CoreKeep Git snapshots working in repositories that use a split index.#59417
- CoreExpose Console web search only when the workspace enables it.#59592
- CoreImprove Code Mode diagnostics for parse errors, stalled awaits, and promise-like search results.#59834#59749#59981
- 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
/usagedialog.#59918@Tarquinen - DesktopFollow each plugin server’s configured endpoint when connecting to its event stream.#60087
- DesktopTreat the reachable scroll boundary as the end when Desktop zoom is active.#60034
- DesktopPrevent shell text from showing through copy buttons and avoid restyling the transcript when closing a side panel.#59901#59878
- DesktopKeep rendering malformed tool metadata instead of crashing the timeline.#59736
- DesktopMake dropdowns open immediately and keep the new-session location shortcut working after tooltip interactions.#59268#59680
- DesktopRemove edge halos from macOS application icons.#59900
- The fal, Black Forest Labs, Replicate, and Stability providers are removed, along with their