Releases · anomalyco/opencode
v1.17.7
Core
Bugfixes
- Plugin client requests now reuse the active server instead of assuming the default local port.
- ACP shell tool calls now show the command and working directory from the start.
- Plugin-provided shell environment variables now apply to PTY sessions.
Improvements
- MCP servers can now receive the current workspace as a client root.
TUI
Bugfixes
- MCP debug now uses the SDK's latest protocol version.
Desktop
Bugfixes
- The new session route now stays scoped to its own draft server, so prompts and state target the right workspace.
SDK
Improvements
- SDK clients now refresh model and provider availability when integrations change, and credential update and remove calls accept
location.
v1.17.6
Core
Bugfixes
- Improved MCP server compatibility by declaring OpenCode's supported client capabilities.
v1.17.5
Core
Improvements
- Added external browser OAuth for the Snowflake Cortex provider (@santigc6)
- Improved project copy management and move-session flows in v2
Bugfixes
- Recovered expired MCP sessions instead of leaving MCP tools disconnected
- Cleared closed MCP clients so stale MCP connections do not linger
- Returned structured MCP tool output in a readable form
- Fixed duplicate renderable IDs that could break TUI rendering
- Fixed commands using
$ARGUMENTSso file contents are not injected twice (@verdverm)
TUI
Bugfixes
- Added auth headers to
RunCommandfetch requests (@OpeOginni)
Desktop
Improvements
- Brought v2 visibility settings to the web app
- Refreshed the oc-2 color theme (@arvsrn)
Bugfixes
- Made the terminal resize gutter easier to grab
- Faded overflowing titlebar tabs instead of clipping them abruptly
Thank you to 5 community contributors:
- @verdverm:
- fix(tui): double file content injection in commands using $ARGUMENTS (#31245)
- @arvsrn:
- feat(app): update oc-2 colors (#31071)
- @Slickstef11:
- docs: update North Mini Code privacy terms (#32096)
- @santigc6:
- feat(opencode): add external browser OAuth for snowflake cortex provider (#31700)
- @OpeOginni:
- fix(opencode): add authorization header to fetch requests in RunCommand (#29877)
v1.17.4
Core
Improvements
- Added
cwdsupport for local MCP servers so they can start from a workspace-relative directory. (@Grantmartin2002) - Added connector-based authentication flows and support for stored provider credentials.
- Added v2 API endpoints to create and fetch sessions, list session questions, and resolve the active location.
- File reads now return raw content with the correct content type for API and SDK clients.
- MCP server log notifications are now surfaced in opencode logs.
Bugfixes
- Fixed Gemini tool schemas that used multi-type fields so compatible tools keep working. (@Killusions)
- Content-filtered model responses now surface as visible errors instead of failing silently. (@kkdawkins)
- Fixed MCP auth and debug requests dropping configured headers.
- Snapshot creation now reuses source Git objects to avoid long re-hashing delays on huge repos. (@dmtrKovalenko)
- Fixed MCP catalog request timeouts not applying when listing prompts, resources, or tools.
Thank you to 5 community contributors:
- @dmtrKovalenko:
- fix(snapshot): reuse source git objects to avoid re-hashing huge repos (#31798)
- @tobwen:
- fix(tui): preserve exit epilogue during scoped shutdown (#31805)
- @kkdawkins:
- fix(opencode): surface content-filter finish reason as visible error (#31745)
- @Killusions:
- fix(gemini): prevent gemini incompatibility with some tools (#31877)
- @Grantmartin2002:
- feat(opencode): support cwd on local MCP servers (#30676)
v1.17.3
Fixed issue with 1.17.2 desktop crashing
v1.17.2
Core
Bugfixes
- Recover from expired remote config auth by prompting you to log in again instead of failing to load config (@Ayushlm10)
- Let subagents use their own configured permissions again
Desktop
Bugfixes
- Restore Linux launcher and icon identity so pinned apps keep opening correctly (@neriousy)
- Restore the device attachment picker (@rexdotsh)
Thank you to 3 community contributors:
v1.17.1
Core
Improvements
- References can include usage descriptions for agents, show up in the new docs, and be hidden from
@autocomplete when needed.
Bugfixes
- Deprecated
referenceconfig entries continue to load under the newerreferencesconfig key. - MCP prompt and resource requests now respect configured server timeouts.
- Anthropic fallback responses are handled correctly again.
- MCP servers that fail during client setup now fail cleanly instead of leaving a broken connection behind.
Desktop
Improvements
- The new desktop session flow now has a dedicated
/new-sessionroute with draft tabs that keep your prompt and project selection together until you start the session.
Bugfixes
- Restored macOS auto-updates.
v1.17.0
Core
Improvements
- Faster file search across large projects with the new
fff-backed search tools. (@dmtrKovalenko) - Added
X-Session-Idheaders for proxy setups that need sticky routing. (@songchaow) - Added Cohere North model support.
- Added
reasoningas an interleaved field option for vLLM providers. (@delta9000) mcp addnow works in non-interactive flows.auth logoutnow supports search when choosing an account.
Bugfixes
- Improved MCP connection status messages so failures are easier to act on.
- Added Claude Fable reasoning support.
- MCP tool calls now receive abort signals, so cancellations stop more reliably.
- MCP catalogs now paginate correctly instead of truncating larger lists.
- OpenRouter reasoning variants now generate for all models. (@AnthonyMLau)
- Added MiniMax M3 thinking toggle support.
- Java multi-module Maven workspaces now resolve JDTLS from the topmost
pom.xml. (@areyouok) - MCP servers now respect advertised capabilities.
- Session lists now respect directory filters in workspace setups. (@rexdotsh)
- Sessions can recover once from provider context-overflow errors instead of failing immediately.
- Bedrock Mantle config now honors configured API key and region settings.
TUI
Improvements
- The session move flow now highlights project copies more clearly and keeps the current location selected.
- Project copies can now be deleted directly from the move dialog.
Bugfixes
- New project copies are now bootstrapped before the TUI switches into them.
- Moving a session now injects a reminder about the new working directory.
Desktop
Improvements
- Added a help button to the tabs bar.
- Prompt drafts are preserved while you switch tabs.
- File attachments now open in the active project.
- App updates now stay responsive and persist across restarts.
- Added WSL-backed Desktop support and WSL server management on Windows.
- Improved the sessions list UI. (@arvsrn)
- Improved the servers UI. (@arvsrn)
Bugfixes
- Updated Electron and fixed related panel layout issues.
- Fixed several WSL Desktop bugs. (@neriousy)
- Hidden agents no longer get cycled accidentally.
- MCP status now refreshes when the active directory changes.
- The Home screen now keeps a larger recent-session list with scrolling.
SDK
Improvements
- Large v2 tool outputs are now bounded and expose retained output paths for follow-up inspection.
Thank you to 11 community contributors:
- @rexdotsh:
- fix(session): respect directory filter with workspaces (#30804)
- @arvsrn:
- @dmtrKovalenko:
- feat(opencode): fff search tools (#27802)
- @fancive:
- docs: fix MCP header interpolation example to {env:VAR} (#31078)
- @robertDouglass:
- fix(tui): sort connect providers alphabetically (#30891)
- @neriousy:
- fix(desktop): few WSL bugs (#31095)
- @areyouok:
- fix(lsp): resolve JDTLS root to topmost pom.xml in Java Maven multi-module projects (#28761)
- @remorses:
- fix(session): merge per-call tool rules into session permission (#30529)
- @AnthonyMLau:
- fix(opencode): generate reasoning variants for all OpenRouter models. (#30332)
- @delta9000:
- feat: add "reasoning" as interleaved field option for vLLM providers (#30477)
- @songchaow:
- feat: add X-Session-Id header for proxy cache routing affinity (#31511)
v1.16.2
Core
Bugfixes
- Reasoning summaries now only run on providers that support them, avoiding GPT-5 request failures on compatible backends.
- Edit operations now refuse loose matches that could overwrite the wrong code or replace an existing file by mistake.
- Fixed Bedrock sessions hanging before a model response starts. (@alblez)
Improvements
- Diff viewer now supports next and previous hunk navigation.
- Terminal themes now refresh after live terminal reloads without stale colors or broken highlighting.
- Running subagents can now be sent to the background so you can keep working.
- Sessions now persist system context updates during long-running conversations.
- Added Snowflake Cortex provider support. (@kameshsampath)
TUI
Bugfixes
- Fixed the external editor fallback so attach-mode sessions still open when the original project path is unavailable locally. (@pcadena-lila)
- Permission replies now route through the correct session directory.
/monow prefers the models command in slash autocomplete.- Fixed crashes from malformed path or diff metadata in permission and session views.
Desktop
Bugfixes
- Fixed titlebar tab overflow clipping.
- Fixed overflowed titlebar tabs so scrolling and drag regions behave correctly.
- Improved tab closing and navigation so the next tab is selected more reliably.
Improvements
- Improved multi-server desktop support with per-server home state and session tabs.
Thank you to 5 community contributors:
- @kameshsampath:
- feat(core): add Snowflake Cortex provider (#29901)
- @pcadena-lila:
- fix(tui): fall back to local cwd when editor spawns in attach mode (#30583)
- @weiconghe:
- fix: use mapError instead of orDie for context snapshot decoding (#30905)
- @alblez:
- fix(opencode): resolve Bedrock hang by using node build conditions (#30873)
- @jerome-benoit:
- fix(workflows): retry nix-hashes compute-hash on transient failure (#30743)
v1.16.0
Core
Improvements
- Added managed workspace cloning that keeps dirty and untracked files.
- Added moving sessions between workspaces and directories.
- Added proper OpenAI model support through AWS Bedrock.
- Added skill discovery and file-based agent loading.
- Updated GitHub Copilot usage tracking for token-based billing.
- Added
run --replayfor interactive session replay. - Improved startup time. (@StarpTech)
Bugfixes
- Added Vue syntax highlighting.
- Restored full ACP session replay when loading saved sessions. (@imnotlxy)
- Fixed shell cancellation races.
- Fixed SAP AI Core OpenAI reasoning variants. (@jerome-benoit)
- Fixed delegated tasks losing their selected reasoning variant.
- Fixed OpenAI websocket sessions getting stuck idle.
- Fixed Windows path normalization in migrated storage.
- Fixed prompt corruption when pasting near wide characters. (@dauphinYan)
- Fixed ACP cancel so it aborts the active run. (@smagnuso)
- Fixed SAP AI Core Anthropic Opus 4.7+ adaptive reasoning. (@jerome-benoit)
TUI
Improvements
- Improved the experimental session switcher.
- Truncated long sidebar file paths.
Bugfixes
- Show a toast when the variant hotkey is used with no variants. (@ariane-emory)
- Routed question responses to the right session directory.
- Stopped the background task spinner from sticking.
Desktop
Improvements
- Added color themes. (@arvsrn)
- Show local server startup failures in the app.
- Added a thinking level selector for v2 prompts.
- Added a Servers tab in Settings.
- Added an update button. (@arvsrn)
Bugfixes
- Fixed session review refresh and VCS diff caching.
- Hid update actions when desktop updates are unavailable.
- Fixed tab title truncation and close button placement.
- Show project sessions before path sync finishes. (@mhart)
SDK
- Exposed session location data in v2 responses.
Extensions
Bugfixes
- GitHub now refuses to commit without an existing git author identity. (@ulises-jeremias)
Thank you to 10 community contributors:
- @jerome-benoit:
- @mhart:
- fix(app): show project sessions before path sync resolves (#30167)
- @smagnuso:
- fix(acp): honor session/cancel by aborting the running turn (#30145)
- @dauphinYan:
- fix(tui): prevent prompt corruption when pasting near wide characters (#29710)
- @arvsrn:
- @StarpTech:
- refactor(opencode): improve startup time by 38% (#30453)
- @ulises-jeremias:
- @ariane-emory:
- fix(tui): show toast when variant_list keybind used with no variants (#30724)
- @imnotlxy:
- fix(opencode):
ACP.loadSessionshould replay all messages (#30761)
- fix(opencode):
- @colinhacks:
- fix: bump @openrouter/ai-sdk-provider to 2.9.0 (#30800)