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: summarizedby 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_ATTRIBUTESfor custom telemetry resource tags. - Fix package installs when
node_modulesis 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_KEYto thewebsearchtool 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-idso 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/nullin revert diffs. - Improved workspace session handling when a workspace no longer exists.
- Fixed Windows
ctrl+zterminal 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-mininow 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_tokensfor 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
xhighadaptive 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.
--agenton 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_chunkevents during session and prompt turns in ACP clients.(@RAIT-09) - Fixed reasoning summary injection for
@ai-sdk/openai-compatibleproviders.(@nazarhnatyshen) - Added the experimental
compaction.autocontinuehook 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-planand fixed Korean IME truncation.(@claudianus)
TUI
- Added
opencode export --sanitizeto 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
authorizemethod.(@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 createfor 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
clangdchoosingCMakeLists.txtorMakefileas 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
/providersand session shell responses.
Core
- Added OTLP observability export support.
- Fixed failed web fetches leaving stale timeouts behind.
- Improved
opencode logintransport 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-permissionsto 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+Zto 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-gyppath
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.inputoverrides.(@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 wrappingexecutemultiple 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
replaceslots mounting content more than once.