Skip to content
  1. 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

    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.
    • 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 named Config, for example Groq.LanguageModelOptions → Groq.Config, and model() settings are optional when every setting is optional.
    #59977#59506#59765

    Improvements

    • CoreAdd opt-in scheduled prompts through /schedule, agent tools, and experimental.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 /reload to 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 /usage dialog.#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