Releases: anomalyco/opencode
v1.4.7
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.
Thank you to 8 community contributors:
- @ariane-emory:
- fix(core): Remove dead code and documentation related to the obsolete list tool. (#22672)
- @CarloWood:
- fix(tui): Don't overwrite the agent that was specified on the command line (#20554)
- @jerome-benoit:
- fix(nix): add shared package to bun install filters (#22665)
- @GrahamCampbell:
- feat: Add support for claude opus 4.7 xhigh adaptive reasoning effort (#22833)
- @B67687:
- fix: align stale bot message with actual 60-day threshold (#22842)
- @trbutler4:
- fix: add missing glob dependency (#22851)
- @kobicovaldev:
- fix(opencode): drop max_tokens for OpenAI reasoning models on Cloudflare AI Gateway (#22864)
- @thakrarsagar:
- fix(opencode): use low reasoning effort for GitHub Copilot gpt-5 models (#22824)
v1.4.6
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.
Thank you to 1 community contributor:
- @github-actions[bot]:
- Update VOUCHED list
v1.4.5
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.
v1.4.4
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.
Thank you to 9 community contributors:
- @claudianus:
- fix: enable thinking for zhipuai-coding-plan & prevent Korean IME truncation (#22041)
- @remorses:
- feat: allow session permission updates (#22070)
- @simonklee:
- chore(github): vouch simonklee (#22127)
- @shafdev:
- fix(opencode): remove spurious scripts and randomField from package.json (#22160)
- @goniz:
- @github-actions[bot]:
- Update VOUCHED list
- @nazarhnatyshen:
- fix(provider): guard reasoningSummary injection for @ai-sdk/openai-compatible providers (#22352)
- @RAIT-09:
- fix(acp): stop emitting user_message_chunk during session/prompt turn (#21851)
- @gigamonster256:
- chore(nix): remove external ripgrep (#22482)
v1.4.3
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)
Thank you to 2 community contributors:
- @egze:
- feat(mcp): add OAuth redirect URI configuration for MCP servers (#21385)
- @simonklee:
- opencode: lazy-load top-level CLI commands
- Revert "opencode: lazy-load top-level CLI commands" (#21726)
v1.4.2
TUI
- Fix subagents not being clickable until finished
Desktop
- Removed the forced loading delay while the app connects
v1.4.1
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.
Thank you to 3 community contributors:
- @OpeOginni:
- fix(app): skip url password setting for same-origin server and web app (#19923)
- @vglafirov:
- feat(llm): integrate GitLab DWS tool approval with permission system (#19955)
- @nonbanana:
- fix(lsp): remove CMakeLists.txt and Makefile from clangd root markers (#21466)
v1.4.0
Breaking Changes in SDK
Due to some performance issues we had to make a few breaking changes in our data model.
Diff metadata
The diffs contained in the metadata for the edit and patch tool will no longer contain a to and from field with full file contents. they will only contain a patch field with the unified diff
Additionally all snapshot diffs contained in user message and session diff will follow this format
UserMessage.variant
Before the user message had a variant field - it is now nested under model so userMessage.model.variant
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.
Thank you to 4 community contributors:
- @derekbar90:
- fix(lsp): MEMORY LEAK: ensure typescript server uses native project config (#19953)
- @mchenco:
- docs: update Cloudflare provider setup to reflect /connect prompt flow (#20589)
- @gitpush-gitpaid:
- feat(opencode): Add PDF attachment Drag and Drop (#16926)
- @ariane-emory:
v1.3.17
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
Thank you to 1 community contributor:
v1.3.16
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
Thank you to 3 community contributors:
- @blackheaven:
- @georgeharker:
- fix(core): implement proper configOptions for acp (#21134)
- @meruiden:
- fix: pass both 'openai' and 'azure' providerOptions keys for @ai-sdk/azure (#20272)