Skip to content

Releases: anomalyco/opencode

v1.4.7

16 Apr 21:55

Choose a tag to compare

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.

Thank you to 8 community contributors:

v1.4.6

15 Apr 07:26

Choose a tag to compare

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

15 Apr 04:25

Choose a tag to compare

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

15 Apr 00:04

Choose a tag to compare

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.

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:
    • fix(cli): auth login now asks for api key in handlePluginAuth (#21641)
    • fix(cli): handlePluginAuth asks for api key only if authorize method exists (#22475)
  • @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

10 Apr 01:00

Choose a tag to compare

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)

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

09 Apr 16:25

Choose a tag to compare

TUI

  • Fix subagents not being clickable until finished

Desktop

  • Removed the forced loading delay while the app connects

v1.4.1

09 Apr 07:12

Choose a tag to compare

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.

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

08 Apr 00:32

Choose a tag to compare

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 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.

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:
    • fix(tui): use sentence case for theme mode command palette items (#21192)
    • feat(tui): allow variant_list keybind for the "Switch model variant" command (#21185)

v1.3.17

06 Apr 07:39

Choose a tag to compare

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:

  • @mchenco:
    • fix: show clear error when Cloudflare provider env vars are missing (#20399)

v1.3.16

06 Apr 03:45

Choose a tag to compare

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

Thank you to 3 community contributors: