Releases: anomalyco/opencode
v1.4.2
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)
v1.3.15
Core
- Prevent npm installs from failing when Arborist hits the compiled binary's
node-gyppath
Thank you to 1 community contributor:
- @Yuxin-Dong:
- refactor: remove redundant Kimi skill section (#20393)
v1.3.14
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.
Thank you to 12 community contributors:
- @github-actions[bot]:
- Update VOUCHED list
- @JosXa:
- fix: normalize filepath in FileTime to prevent Windows path mismatch (#20367)
- @valenvivaldi:
- fix(core): prevent agent loop from stopping after tool calls with OpenAI-compatible providers (#14973)
- @aaron-he-zhu:
- fix(session): compaction agent responds in same language as conversation (#20581)
- @dpuyosa:
- feat(opencode): Add Venice AI package as dependency (#20570)
- @noamzbr:
- @BYK:
- fix(format): use biome format instead of check to prevent import removal (#20545)
- @lennyvaknine43:
- feat: add macOS managed preferences support for enterprise MDM deployments (#19178)
- @ykswang:
- fix(opencode): honor model limit.input overrides (#16306)
- @jpcarranza94:
- fix: prevent Tool.define() wrapper accumulation on object-defined tools (#16952)
- @kflansburg:
- feat: Send x-session-affinity and x-parent-session-id headers (#20744)
- @natewill:
- fix(core): fix restoring earlier messages in a reverted chain (#20780)
v1.3.13
- Bump opentui version
v1.3.12
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.
Thank you to 2 community contributors:
v1.3.11
Core
- Add a dedicated system prompt for Kimi models. (@Yuxin-Dong)
TUI
- Improve TUI terminal output passthrough so external command output renders more reliably.
Extensions
- Skip plugins that do not expose a matching server or TUI entrypoint, warn instead of failing, and apply default options from package exports on install.
- Pin explicit plugin versions during install and block package install scripts from running.
Thank you to 1 community contributor:
- @Yuxin-Dong:
- feat: add a dedicated system prompt for Kimi models (#20259)