OpenCodeOpenCode

Changelog

New updates and improvements to OpenCode

Core

  • Restore the native ripgrep backend so file search and file listing work reliably again.

Core

  • Preserve executable permissions before Docker builds when artifacts lose their exec bits.
  • Fix plugins reinstalling more often than needed.
  • Use `display: summarized` by default for Anthropic Bedrock Opus 4.7 requests.
  • Detect attachment types from file contents so images and PDFs still work with incorrect or missing extensions.
  • Support `OTEL_RESOURCE_ATTRIBUTES` for custom telemetry resource tags.
  • Fix package installs when `node_modules` is missing.
  • Fix GitHub Copilot Anthropic Haiku requests by disabling unsupported tool streaming.

TUI

  • Add a full-session option when forking from the session dialog.
  • Show the session ID in the sidebar on non-production channels.

Core

  • Fixed workspace routing so requests reach the correct workspace instance.
  • Stopped share sync attempts for sessions that were never shared.

Core

  • Restored workspace history on connect so existing sessions catch up before live sync resumes
  • Passed OTEL exporter settings into managed workspaces so telemetry works there too
  • Normalized provider metadata defaults so models still load when catalog data is incomplete
  • Passed `EXA_API_KEY` to the `websearch` tool to reduce rate limits(@rasdani)

TUI

  • Added a restore flow for sessions whose workspace is unavailable, with clearer workspace status indicators
  • Fixed agent cycling when no agent is selected and improved prompt key handling

Core

  • Added LLM Gateway as a provider, including config support and model usage reporting.(@smakosh)
  • Limited GitHub Copilot Opus 4.7 models to medium reasoning effort to avoid unsupported variants.(@OpeOginni)
  • Improved remote workspace reconnection with exponential backoff and clearer failure handling.

TUI

  • Fixed `--session-id` so it opens the requested session after app startup.
  • Fixed light mode detection in Ghostty.

Desktop

  • Fixed the beta desktop app so the file tree still appears when enabled in settings.

Core

  • Fixed a crash when experimental mode was enabled.
  • Let plugin tools return metadata in execute results.(@jquense)
  • Show real filenames instead of `/dev/null` in revert diffs.
  • Improved workspace session handling when a workspace no longer exists.
  • Fixed Windows `ctrl+z` terminal suspend and input undo behavior.
  • Enabled Azure prompt caching with a default per-session cache key.

TUI

  • Preserve prompt input when views unmount and remount.
  • Keep session list dialogs ordered more consistently within each day.

Desktop

  • Fixed desktop workspace loading so ready state persists correctly.
  • Fixed desktop session syncing when loading project data from query cache.
  • Added beta desktop settings to hide title bar tools like navigation, search, terminal, status, and file tree.
  • Improved desktop session change loading in the review panel.

Core

  • GitHub Copilot `gpt-5-mini` now uses low reasoning effort for better request compatibility.(@thakrarsagar)
  • Workspaces now receive your auth context, so provider sign-in carries across workspace sessions.
  • Cloudflare AI Gateway now drops `max_tokens` for OpenAI reasoning models so GPT-5 and o-series requests stop failing.(@kobicovaldev)
  • Azure models now default `store=true`, fixing requests that require stored responses.
  • Claude Opus 4.7 now supports `xhigh` adaptive reasoning.(@GrahamCampbell)
  • Claude Opus 4.7 now shows summarized thinking by default.
  • TUI plugins now load against the correct project when multiple directories are open.
  • The bash tool uses less memory on large command output.
  • Experimental workspaces now wait for sync to finish before returning writes, reducing stale reads and missed updates.
  • Session restore can now replay a session into another workspace in batches.
  • Sessions now retry provider 5xx errors even when the provider SDK does not mark them retryable.

TUI

  • Pasting files or large text no longer inserts content twice.
  • `--agent` on the command line is no longer overwritten by the session's saved agent.(@CarloWood)
  • Empty LSP, MCP, formatter, and session status responses no longer break TUI sync state.

Desktop

  • Desktop builds now show a Beta or Dev badge in the title bar when applicable.

Core

  • Fixed snapshot staging for very long file lists and improved staging performance.
  • Fixed OTEL header parsing when a header value contains `=`.

Desktop

  • Fixed prompt submission state updates to avoid failed or inconsistent sends.
  • Improved session title input spacing while editing.

Core

  • Export AI SDK telemetry spans to OTLP trace backends.
  • Expose the experimental question API schema and OpenAPI spec from `@opencode-ai/server`.
  • Expose a reusable question handler factory for custom question API hosts.

Desktop

  • Start desktop shell commands from the home directory.
  • Avoid bootstrap error popups while global sync initializes.

Core

  • Restored instance and logger context during prompt runs so prompt-time tools and logging behave correctly.
  • Kept GitHub Copilot compaction requests valid.
  • Restored the flat reply shape for question API responses.
  • Persisted MCP OAuth connections that finish immediately, so authenticated servers stay connected.
  • Prevented duplicate user messages in ACP clients.
  • Stopped emitting `user_message_chunk` events during session and prompt turns in ACP clients.(@RAIT-09)
  • Fixed reasoning summary injection for `@ai-sdk/openai-compatible` providers.(@nazarhnatyshen)
  • Added the experimental `compaction.autocontinue` hook to stop auto-continuing after compaction.
  • Added Alibaba provider support with cache support.
  • Snapshots now fully respect `.gitignore`, including previously tracked files.
  • Reading images no longer counts against quota.
  • Sessions can now update project permissions mid-run.(@remorses)
  • Enabled thinking for `zhipuai-coding-plan` and fixed Korean IME truncation.(@claudianus)

TUI

  • Added `opencode export --sanitize` to redact PII and confidential transcript data.
  • Fixed diff line number contrast in built-in themes.
  • Plugin auth login now asks for an API key when a plugin needs authorization.(@goniz)
  • Plugin auth no longer asks for an API key when the plugin has no `authorize` method.(@goniz)

Desktop

  • Fixed the Windows desktop backend hanging before shutdown.

SDK

  • The JavaScript SDK now throws a clear error when an older server responds with HTML instead of the API.

Extensions

  • Plugins can now register custom workspace adaptors that appear in workspace creation.

Core

  • Fixed `agent create` for OpenAI accounts authenticated with OAuth.
  • Interrupted Bash commands now keep their final output and truncation details instead of ending as aborted.
  • Added fast mode variants for supported Claude and GPT models.

TUI

  • Restored the hidden session scrollbar as the default.

Extensions

  • Added configurable OAuth redirect URIs for remote MCP servers.(@egze)

TUI

  • Fix subagents not being clickable until finished

Desktop

  • Removed the forced loading delay while the app connects

Core

  • Fix `clangd` choosing `CMakeLists.txt` or `Makefile` as the project root in C and C++ workspaces.(@nonbanana)
  • Add permission prompts for GitLab Duo Workflow tool calls instead of auto-running them.(@vglafirov)
  • Hide unsupported variants for Big Pickle models.

TUI

  • Show an OpenCode Go subscribe prompt when free usage limits are reached.
  • Simplify provider labels in the model and provider pickers.

Desktop

  • Fix terminal connections in same-origin desktop and web app setups.(@OpeOginni)
  • Fix session review and change lists when diff data arrives in inconsistent shapes.

SDK

  • Fix the generated SDK and OpenAPI types for `/providers` and session shell responses.

Breaking Changes in SDK

    Core

    • Added OTLP observability export support.
    • Fixed failed web fetches leaving stale timeouts behind.
    • Improved `opencode login` transport error messages.
    • Retried Alibaba provider rate-limit errors instead of failing immediately.
    • Kept model variants scoped to the selected model.
    • Added full HTTP proxy support.
    • Fixed OpenRouter provider issues.
    • Aligned GitHub Copilot Anthropic reasoning levels and removed incorrect Qwen variants.
    • Reduced TypeScript LSP memory use by using the native project config.(@derekbar90)

    TUI

    • Added a keybinding option for "Switch model variant".(@ariane-emory)
    • Added PDF drag and drop for attachments.(@gitpush-gitpaid)
    • Added `opencode run --dangerously-skip-permissions` to auto-approve non-denied permission prompts.

    Desktop

    • Improved subagent sessions with clearer titles, navigation, and progress states.
    • Moved auto-accept permissions into Settings.
    • Showed full file names on attachment chips.

    Core

    • Cloudflare Workers AI and AI Gateway now prompt for missing account details and show clear setup errors when required Cloudflare variables are missing(@mchenco)

    TUI

    • Restored the default kitty keyboard handling on Windows terminals to avoid input issues from the workaround rollback

    Core

    • Support Azure model options on both chat and responses paths(@meruiden)
    • Expose session model and mode config options through ACP(@georgeharker)
    • Add a separating blank line before read tool file contents for clearer output
    • Fix output token totals when reasoning tokens are reported separately

    TUI

    • Default `Ctrl+Z` to undo on Windows instead of terminal suspend
    • Let you disable TUI mouse capture in config or with `OPENCODE_DISABLE_MOUSE`(@blackheaven)
    • Hide org switching when there is only one org to choose from
    • Label Console-managed providers and let you switch orgs from the provider UI

    Extensions

    • Fix plugin installs from npm aliases and git URLs, including Windows cache path issues

    Core

    • Prevent npm installs from failing when Arborist hits the compiled binary's `node-gyp` path

    Core

    • Restored git-backed review modes, including uncommitted and branch diffs.
    • Fixed revert chains so restoring an earlier message also restores the right snapshot state.(@natewill)
    • Added macOS managed preferences for MDM-enforced config.(@lennyvaknine43)
    • Fixed sessions getting stuck after tool calls with OpenAI-compatible providers.(@valenvivaldi)
    • Kept compaction summaries in the conversation's language.(@aaron-he-zhu)
    • Added Venice AI as a provider.(@dpuyosa)
    • Respected model-specific `limit.input` overrides.(@ykswang)

    TUI

    • Kept the prompt cursor with dialogs instead of refocusing the background prompt.
    • Added a one-time confirmation before sharing a session for the first time.
    • Applied scroll settings consistently across TUI scroll views.
    • Kept text selections intact during global key handling.
    • Fell back to the first available agent if the last-used agent is unavailable.

    Desktop

    • Added file mentions in review comments.
    • Restored prompt focus after closing agent, model, and variant pickers.
    • Added keyboard navigation and shortcuts to the question dock.
    • Hid model controls in shell mode.
    • Stopped the todo dock from auto-scrolling while tasks update.

    SDK

    • Fixed JS SDK server and TUI launch and shutdown on Windows.
    • Fixed object-defined `Tool.define()` tools from wrapping `execute` multiple times.(@jpcarranza94)

    Extensions

    • Added support for theme-only plugin packages.

    Core

    • Enabled prompt caching and cache token tracking for Google Vertex Anthropic.(@major)
    • Fixed Azure provider options being forwarded correctly after the AI SDK v6 migration.

    TUI

    • Fixed plugin `replace` slots mounting content more than once.
    ©2026 AnomalyBrandPrivacyTerms