< cd ..

OpenCode

~/sst/opencode

Minimal, fast AI coding CLI with a beautiful TUI. Multi-provider support, MCP servers, and headless mode for scripting.

latest

v1.17.11

total

30

stable

30

first tracked

May 13, 2026

updated

8h ago

last checked: 8h ago Tier 2 refresh
#ai #cli #minimal
●●● clwatch

Check if your agent is current:

$ clwatch diff opencode
$ clwatch refresh opencode

learn more about clwatch →

●●● quick start // get running in 60s

install

$ npm install -g opencode-ai

first command

$ opencode

/changelog

v1.17.11 [Jun 25, 2026] details → github →

Core

Improvements

  • Add session snapshots and revert controls so you can roll a session back to an earlier message, including file changes.

Bugfixes

  • Always print the MCP OAuth URL so manual sign-in still works when opening the browser flow.

Desktop

Improvements

  • Add Chrome-style tab cycle shortcuts with mod+1 through mod+9.
  • Add draggable tabs. (@arvsrn)
  • Improve the empty home state when you have no sessions. (@arvsrn)
  • Restyle the jump-to-latest button in the v2 session view. (@arvsrn)
  • Improve the redesigned desktop layout, including better titlebar tabs and archived sessions. (@arvsrn)

Bugfixes

  • Keep prompt drafts attached to the correct project server.
  • Restore consistent titlebar tab sizing and layout.
  • Restore home actions when session lists are empty or still loading.
  • Keep todo docks in place when switching between sessions.
  • Automatically close tabs for sessions that no longer exist.
  • Keep provider dialogs, prompt rollbacks, and async attachments tied to the session where they started.
  • Clear late session notifications after you open the session.
  • Remove the session loading stripe.
Thank you to 2 community contributors:
  • @isaachuangGMICLOUD:
  • docs: add GMI Cloud provider entry to providers directory (#32914)
  • @arvsrn:
  • feat(app): draggable tabs (#31364)
  • feat(app): ui improvements (#32438)
  • fix(app): update all v1 new-session icons (#32017)
  • feat(app): no sesssions empty state (#33315)
  • feat(app): restyle v2 jump-to-latest button (#33809)
v1.17.10 BREAKING [Jun 24, 2026] details → github →

Core

Improvements

  • Added MCP server instructions to session context. (@Arcadi4)
  • Added Opencode-managed provider integration support.
  • Added MCP resource template listing.
  • Added MCP resource read tools.
  • Added a --mini CLI mode.

Bugfixes

  • Hid MCP resource template tools when access is denied.
  • Prevented MCP resource tools from colliding when servers expose the same keys.
  • Emitted skill base directories as filesystem paths instead of file:// URLs. (@shyuan)
  • Restored legacy MCP tool names for existing integrations.
  • Restored v1 account config loading.
  • Bound MCP OAuth callbacks to IPv4 loopback for better local auth reliability. (@he-yufeng)
  • Preserved structured error details in surfaced failures.
  • Fixed snapshots from subdirectories so they only include the right files and paths.
  • Fixed ACP resource text sourcing on Windows and other cross-platform path cases.
  • Preserved file source paths in ACP resource text.
  • Waited for plugins before loading reference-backed config and system context.
  • Hid gpt-5.5-pro when using Codex OAuth.

TUI

Improvements

  • Added a configurable keybind to open the diff viewer.
  • Added diff viewer support for comparing against the main branch.

Bugfixes

  • Prevented worker rejections from breaking the TUI process.

Desktop

Improvements

  • Kept draft prompt state per tab.
  • Added a new session progress indicator. (@arvsrn)
  • Added mobile bottom navigation.
  • Added collapsible server sections. (@arvsrn)
  • Added server-aware session routes to keep same-session navigation separated across servers.

Bugfixes

  • Always applied safe-area insets.
  • Made session navigation more stable and faster.
  • Routed new sessions through tabs correctly.
  • Cleared viewed session notifications reliably.
  • Scoped drafts created from Home to the right server and project.
  • Throttled directory tree loading.
  • Persisted drafts and prompt state more reliably.
  • Improved iOS PWA shell behavior.
  • Refined the mobile session layout.
  • Added the server button dropdown. (@arvsrn)
  • Restored review line comments.
  • Improved the mobile home layout.

SDK

Improvements

  • Exposed provider integration IDs in the SDK.

Extensions

Improvements

  • Added namespaced plugin hook APIs.
  • Added the V2 plugin API for Effect and Promise plugins.
Thank you to 6 community contributors:
  • @remorses:
  • feat(llm): add video and audio media support to Gemini protocol (#31889)
  • @arvsrn:
  • feat(app): collapsible servers (#33384)
  • fix(app): add server button dropdown (#33358)
  • feat(app): new session progress indicator (#32662)
  • feat(app): update all components to use v2 tokens (#33598)
  • @ReStranger:
  • fix: Skip bun version check for nix version (#33166)
  • @he-yufeng:
  • fix(mcp): bind oauth callback to IPv4 loopback (#30022)
  • @shyuan:
  • fix(skill): emit base directory as filesystem path, not file:// URL (#33580)
  • @Arcadi4:
  • feat(mcp): append server instructions to context (#32490)
v1.17.9 [Jun 21, 2026] details → github →

Core

Bugfixes

  • Honor configured agent step limits by forcing a final text response instead of failing mid-run.
  • Fix Devstral model detection when provider IDs use different casing. (@Robin1987China)
  • Pass configured custom headers to Copilot model requests.

Improvements

  • Add high and max thinking variants for GLM-5.2 across supported providers. (@imranshaiedi-byte)
  • Stop wrapping follow-up user messages in a steering reminder so prompt caching stays effective.

TUI

Bugfixes

  • Only show the background subagent shortcut when the server supports it.
Thank you to 4 community contributors:
  • @Grantmartin2002:
  • fix(core): fix command docs in customize-opencode skill (#32718)
  • @Robin1987China:
  • fix(opencode): use toLowerCase for Devstral model detection (#33109)
  • @kimnamu:
  • fix(experimental llm pkg): forward topK to Converse via additionalModelRequestFields (#33030)
  • @imranshaiedi-byte:
  • feat(opencode): expose High/Max thinking variants for GLM-5.2 (#32446)
v1.17.8 [Jun 17, 2026] details → github →

Core

Improvements

  • Session timelines load much faster and avoid flicker or scroll jumps.

Bugfixes

  • OpenAI-compatible providers now accept MCP tool schemas that previously failed validation. (@jquense)
  • Cloudflare AI Gateway now receives the configured API key correctly. (@keefetang)
  • MCP tools without declared schema properties now work with providers that expect object properties.
  • Long-running MCP tools now keep their timeout alive when they report progress. (@Nomadcxx)
  • The MCP OAuth callback server now shuts down once authorization finishes or is cancelled.
  • MCP tool failures now surface the server's error text instead of a generic failure.
  • MCP OAuth error pages now escape provider error text correctly.

Desktop

Improvements

  • Added a Home tab toggle so you can quickly switch between Home and your last tab.
  • The new desktop file and folder picker is faster and easier to navigate in the v2 layout.
Thank you to 3 community contributors:
  • @Nomadcxx:
  • fix(mcp): enable progress timeout resets (#32477)
  • @keefetang:
  • fix(provider): pass apiKey to createUnified for Cloudflare AI Gateway (#32052)
  • @jquense:
  • fix(opencode): sanitize OpenAI MCP tool schemas (#32489)
v1.17.7 [Jun 14, 2026] details → github →

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 [Jun 13, 2026] details → github →

Core

Bugfixes

  • Improved MCP server compatibility by declaring OpenCode's supported client capabilities.
v1.17.5 [Jun 13, 2026] details → github →

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 $ARGUMENTS so file contents are not injected twice (@verdverm)

TUI

Bugfixes

  • Added auth headers to RunCommand fetch 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 [Jun 12, 2026] details → github →

Core

Improvements

  • Added cwd support 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 [Jun 10, 2026] details → github →

Fixed issue with 1.17.2 desktop crashing

v1.17.2 [Jun 10, 2026] details → github →

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:
  • @Ayushlm10:
  • fix: recover from expired enterprise auth on remote config load (#31661)
  • @rexdotsh:
  • fix(app): restore device attachment picker (#31707)
  • @neriousy:
  • fix(desktop): restore linux launcher identity (#31709)
v1.17.1 BREAKING [Jun 10, 2026] details → github →

Core

Improvements

  • References can include usage descriptions for agents, show up in the new docs, and be hidden from @ autocomplete when needed.

Bugfixes

  • Deprecated reference config entries continue to load under the newer references config 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-session route with draft tabs that keep your prompt and project selection together until you start the session.

Bugfixes

  • Restored macOS auto-updates.
v1.17.0 [Jun 10, 2026] details → github →

Core

Improvements

  • Faster file search across large projects with the new fff-backed search tools. (@dmtrKovalenko)
  • Added X-Session-Id headers for proxy setups that need sticky routing. (@songchaow)
  • Added Cohere North model support.
  • Added reasoning as an interleaved field option for vLLM providers. (@delta9000)
  • mcp add now works in non-interactive flows.
  • auth logout now 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:
  • feat(app): improve servers UI (#30961)
  • feat(app): updates to project avatar (#30964)
  • feat(app): sessions list improvements (#30941)
  • @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 [Jun 5, 2026] details → github →

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.
  • /mo now 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 [Jun 5, 2026] details → github →

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 --replay for 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:
  • fix(opencode): support sap-ai-core anthropic opus 4.7+ adaptive reasoning (#29991)
  • fix(opencode): route SAP AI Core reasoning variants through modelParams (#30482)
  • @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:
  • feat(app): v2 desktop UI improvements (#29689)
  • feat(app): polish home projects list UI (#30436)
  • feat(app): polish select-v2 component (#30446)
  • feat(app): new update button (#30460)
  • feat(app): color themes (#30824)
  • @StarpTech:
  • refactor(opencode): improve startup time by 38% (#30453)
  • @ulises-jeremias:
  • fix(github): enforce existing git author identity (#30507)
  • fix(opencode): fallback to sh for curl upgrade (#30499)
  • @ariane-emory:
  • fix(tui): show toast when variant_list keybind used with no variants (#30724)
  • @imnotlxy:
  • fix(opencode): ACP.loadSession should replay all messages (#30761)
  • @colinhacks:
  • fix: bump @openrouter/ai-sdk-provider to 2.9.0 (#30800)
v1.15.13 [May 30, 2026] details → github →

Core

Bugfixes

  • Gateway Anthropic Opus 4.7+ adaptive reasoning now keeps summarized thinking instead of returning empty thinking blocks.

Improvements

  • Sessions can now store custom metadata through the API and SDK. (@shantur)
  • Config now loads from the opened location upward, so directory-specific settings and provider policies apply more predictably.

TUI

Bugfixes

  • Wrapped inline tool rows now stay aligned, and failed inline tools can expand their error details in place.
Thank you to 1 community contributor:
  • @shantur:
  • feat(core): add session metadata support (#23068)
v1.15.12 [May 28, 2026] details → github →

Core

Improvements

  • ACP integrations can now send prompts, slash commands, and usage updates through acp-next
  • Added WebSocket transport for OpenAI responses on supported channels (set OPENCODEEXPERIMENTALWEBSOCKETS=true)

Bugfixes

  • Enabled adaptive reasoning controls for Anthropic Opus 4.7+ models
  • Allowed colons in passwords (@neriousy)
  • Sped up warm acp-next model and config switches
  • Improved first-session acp-next startup time
  • Kept OpenAI WebSocket response timeouts active
  • Retried failed OpenAI WebSocket streams before falling back
  • Handled acp-next permission prompts correctly
  • Used the persisted session directory for existing-session requests
  • Forwarded remote workspace request bodies correctly
  • Supported custom base URLs for OpenAI WebSocket responses (@Tarquinen)

TUI

Improvements

  • Added a workspace management dialog

Bugfixes

  • Kept session navigation working while prompt modes are open
  • Restored the thinking spinner
  • Surfaced subagent retry status
  • Fixed opening editors from non-Git project paths (@OpeOginni)

Desktop

Improvements

  • Added a setting to switch tab layouts

Bugfixes

  • Improved the home empty state and fixed V2 font usage
  • Fixed tab close buttons not showing reliably
Thank you to 5 community contributors:
  • @OpeOginni:
  • fix(tui): handle non-git project paths when opening editor (#29180)
  • @gotjoshua:
  • docs: fix ts error in math examples (#18244)
  • @Tarquinen:
  • fix(openai): support websocket custom base URLs (#29636)
  • @24KaratAu:
  • docs: fix grammar in config.mdx (#29683)
  • @neriousy:
  • fix(core): allow colons inside passwords (#29576)
v1.15.11 BREAKING [May 27, 2026] details → github →

Core

Improvements

  • Added headerTimeout config for provider requests, with a 10s default for default OpenAI setups.
  • Experimental background agents now push updates without polling.
  • You can now set only modalities.input or modalities.output in config. (@robposch)
  • Remote-backed projects now resolve a stable project identity.

Bugfixes

  • Dynamically added MCP servers now disconnect cleanly when removed.
  • DigitalOcean inference now uses your OAuth token directly instead of creating a MAK. (@Spherrrical)
  • Config loading now falls back cleanly when user info is unavailable.
  • Fixed Google tool calling after the upstream tool ID regression.
  • Experimental flags can now override the umbrella experimental flag.
  • Resumed sessions no longer continue orphaned interrupted tools. (@edevil)
  • OpenAI reasoning summaries now render as separate blocks.
  • Updated Google Vertex support for reasoning signatures.
  • The shell tool now advertises your configured timeout to the model.

TUI

Improvements

  • Made the prompt resize with terminal width and added prompt size config. (@bjschafer)

Bugfixes

  • Accelerated diff viewer scrolling.
  • External editors now open from the worktree directory when available.

Desktop

Improvements

  • Refined the Desktop v2 home screen, prompt, status popover, and session controls.

Bugfixes

  • Fixed V2 titlebar errors when a session sync cache was deleted. (@Eric-Guo)
  • Web deployments no longer run desktop health checks.
  • Duplicate server connections are now merged in the server list.
  • Stabilized virtualized session timeline interactions.
  • Fixed the white flash when restoring the desktop window.

Extensions

Improvements

  • Added a dispose hook for plugins.

Bugfixes

  • Fixed Codex plugin requests to send the expected session ID header.
Thank you to 7 community contributors:
  • @jerome-benoit:
  • fix(nix): re-inherit patches in desktop, ad-hoc sign .app on darwin (#27869)
  • @edevil:
  • fix(session): exclude orphaned interrupted tools from run-loop continuation (#26178)
  • @bjschafer:
  • feat(tui): make prompt size responsive and configurable (#28255)
  • @robposch:
  • tweak (config): make modalities input/output fields optional so that u can specify one without both being required (#29268)
  • @Eric-Guo:
  • fix(app): handle deleted session sync cache in V2 titlebar (#29328)
  • @StarpTech:
  • docs(web): update LSP docs wording (#29435)
  • docs: add tip to lsp section (#29444)
  • @Spherrrical:
  • fix(digitalocean): use OAuth token directly for inference instead of creating MAK (#28897)
v1.15.10 [May 23, 2026] details → github →

Desktop

Bugfixes

  • Restored the legacy production desktop flows for opening projects and starting sessions.
v1.15.9 [May 22, 2026] details → github →

Core

Improvements

  • Redesigned the diff viewer with a file tree and refreshed layout.

Bugfixes

  • Return to the previous screen when closing the diff viewer.
  • Show clearer errors when a default model is invalid or unavailable.
  • Surface missing PTY session errors instead of failing generically.
  • Improve diff viewer empty states and context handling.
  • Show clearer errors when a skill invocation fails as expected.
  • Show clearer errors when an installation upgrade fails.
  • Show clearer project not found errors from the HTTP API.
  • Return PTY error bodies from the HTTP API.
  • Enable the diff viewer by default.
  • Return MCP server not found errors from the HTTP API.
  • Let MCP OAuth configs set a callback port and include configured scopes in client metadata. (@sebin)
  • Use working Vertex Anthropic endpoints for us and eu multi-region setups. (@JPFrancoia)
  • Return session busy error bodies from the HTTP API.
  • Preserve native reasoning continuation metadata across turns.

TUI

Improvements

  • Copy the current worktree path from the command palette.

Bugfixes

  • Refine diff viewer keyboard shortcuts.
  • Restore question prompt key handling.
  • Keep the spinner color aligned with the active agent. (@OpeOginni)

Desktop

Improvements

  • Move tab navigation into the title bar and tighten session tab shortcuts.
  • Show session status in the title bar.

Bugfixes

  • Extract user codes correctly from callback URLs that contain multiple colons. (@OpeOginni)
  • Debounce VCS refreshes to reduce session page churn.
Thank you to 4 community contributors:
  • @vglafirov:
  • chore(deps): bump gitlab-ai-provider to 6.7.0 (#28218)
  • @OpeOginni:
  • fix(opencode): update spinner color logic (#28032)
  • fix(desktop): correct user code extraction when URL contains colons (#28837)
  • @JPFrancoia:
  • fix(vertex): Vertex (Antropic) provider: use .rep.googleapis.com for continental multi-region endpoints (us, eu) (#28347)
  • @sebin:
  • fix(mcp): include scope in clientMetadata and add callbackPort option (#28810)
v1.15.7 [May 21, 2026] details → github →

Core

Improvements

  • Added Grok OAuth sign-in, including device-code login. (@Jaaneek)

Bugfixes

  • V2 session APIs now return safe UnknownError responses with log reference IDs when stored messages are corrupt.
  • Generic API 500s no longer expose config details from server errors.
  • Unknown API errors now include reference IDs so you can match responses to server logs.
  • V2 session APIs now return 503 ServiceUnavailableError for mutations that are not available yet.
  • V2 session APIs now return SessionNotFoundError for missing sessions.
  • Deduped concurrent Codex OAuth refreshes to avoid repeated refresh failures. (@cooper-oai)
  • Restored native OpenAI OAuth requests.
  • Tool schema failures now surface as friendly tool errors.
  • Added PDF attachment support for Grok.
  • Restored OpenAI reasoning streams.

TUI

Bugfixes

  • Collapsed thinking labels now use clearer punctuation.
  • New sessions now default to the local project.
  • Single-select question checkmarks no longer run into option labels.

Desktop

Improvements

  • Added a pinch zoom setting for the desktop app.
  • Added a new desktop home view, session entry flow, and titlebar.
  • Refined the new desktop UI and moved app update actions into the titlebar.
  • Added desktop log export.

SDK

Bugfixes

  • V2 global event streams now include account add, remove, and switch events.
Thank you to 3 community contributors:
  • @cooper-oai:
  • fix(opencode): dedupe concurrent Codex OAuth refreshes (#28236)
  • @Jaaneek:
  • feat(opencode): add xAI Grok OAuth (SuperGrok) + device-code login (#28557)
  • @kagura-agent:
  • fix(ui): preserve target attribute in DOMPurify config for markdown links (#28598)
v1.15.6 [May 20, 2026] details → github →

Core

Improvements

  • Added a diff viewer in the TUI for reviewing changes.
  • Collapsed single-child directories in the diff viewer file tree.
  • Added shell mode to the run prompt.
  • Replaced subagent tabs with an on-demand picker in run.
  • Plugin file load errors no longer break the rest of plugin loading.
  • Anthropic API-key models now use the native runtime.
  • The v2 HTTP API now exposes structured public error schemas.

Bugfixes

  • Zed editor context now only activates inside Zed terminals.
  • The v2 HTTP API now exposes catalog errors.
  • The v2 HTTP API now exposes request errors.
  • The v2 OpenAPI spec now preserves endpoint error responses.
  • opencode login now defaults to https://console.opencode.ai.
  • Agent and command names now resolve correctly from relative config paths.
  • Invalid OPENCODE_PERMISSION JSON no longer crashes startup.
  • Plugin tools with missing args no longer break tool loading.
  • Restored legacy PgUp and PgDn TUI keybind aliases.
  • Native runtime now prefers the console provider token for OpenCode models.

TUI

Improvements

  • The diff viewer now focuses the first file automatically.

Bugfixes

  • Imported sessions now refresh their directory and relative path fields correctly. (@OpeOginni)

Desktop

Improvements

  • Added initial desktop tabs support.
  • Added a native app menu on Windows.
  • Added Ukrainian locale support. (@MYMDO)

Bugfixes

  • Custom providers now appear immediately after config updates. (@tianxiaoliang)

SDK

  • Updated opentui dependencies to 0.2.15.
Thank you to 4 community contributors:
  • @MYMDO:
  • feat(i18n): add Ukrainian (uk) locale support (#28061)
  • @StarpTech:
  • chore(team): add starptech to the team members list (#28320)
  • chore(docs): remove beta zen go (#28317)
  • chore(triage): add 'starptech' to core and inference teams (#28376)
  • @tianxiaoliang:
  • fix(app): invalidate provider queries after config update to show custom providers immediately (#28313)
  • @OpeOginni:
  • fix(opencode): Update directory and path fields of imported session (#27516)
  • fix(enterprise): message nav hovercard and active state (#23964)
v1.15.5 [May 18, 2026] details → github →

Core

Improvements

  • Preview the native OpenAI runtime path behind an experimental flag
  • Add --replay and --replay-limit to show recent history when resuming interactive runs

Bugfixes

  • Fix plugin tools using ask so tool calls complete correctly
  • Reduce missed /event updates caused by a subscription race
  • Sort the v2 session list by most recently updated

TUI

Improvements

  • Refresh the prompt layout after pasting content

Bugfixes

  • Keep file references scoped to the current workspace
  • Preserve pasted prompt content when copying
  • Collapse very long tool output lines to keep the layout readable
  • Use a higher-contrast paste summary badge color in some themes (@kagura-agent)

Desktop

Improvements

  • Allow desktop notifications from the renderer
  • Show free-limit and usage-exceeded dialogs in Desktop
  • Speed up large session timelines

Bugfixes

  • Fix question dock overflow and message layout clipping
  • Hide the prompt placeholder when the input only contains whitespace (@ShrootBuck)
  • Sync the PWA status bar color with the active theme (@heimoshuiyu)
  • Install the newest available desktop update instead of reusing a stale download
Thank you to 4 community contributors:
  • @heimoshuiyu:
  • fix: sync PWA status bar theme-color with app color scheme (#28006)
  • @ShrootBuck:
  • fix(app): hide prompt placeholder for whitespace input (#28101)
  • @kagura-agent:
  • fix(tui): use contrast-aware foreground for paste summary badge (#27969)
  • @SpiritChen51:
  • fix(ui): fallback to execCommand for clipboard copy when navigator.clipboard fails (#27993)
v1.15.4 [May 17, 2026] details → github →

Core

Bugfixes

  • Fixed project-scoped bus events so file watcher and update notifications reach the right instance.
  • Fixed custom LSP servers not sending refresh events after they initialize.
  • Hid background subagent task instructions unless experimental background mode is enabled.

TUI

Improvements

  • Made Markdown H1 headings easier to distinguish.
Thank you to 1 community contributor:
  • @necropheus:
  • docs: update README.es.md (#27739)
v1.15.3 [May 16, 2026] details → github →

Core

Bugfixes

  • Reduced wasted work when reading very large files after output truncation.

TUI

Bugfixes

  • Fixed async commands losing the active instance context, which could break agent generation and GitHub-driven runs.
v1.15.2 [May 16, 2026] details → github →

Core

Improvements

  • Reduced unnecessary prompting around shell, task, and todo flows.

Bugfixes

  • Fixed sync events not reaching project-scoped subscribers in injected instances.

TUI

Improvements

  • Newly pinned sessions now stay at the end of the pinned list instead of jumping to the top.

Bugfixes

  • Fixed opencode run --agent resolving project-local agents.
Thank you to 1 community contributor:
  • @gigamonster256:
  • feat(nix): add opencode-electron derivation (#16163)
v1.15.1 [May 16, 2026] details → github →

Core

Improvements

  • Clarified how to recover when the npm package is installed without its native binary.

Bugfixes

  • Avoid duplicate consecutive entries in prompt history.
  • Show full config validation errors during TUI startup instead of a generic failure.
  • Fixed npm installs so the CLI can recover and fetch the right native binary on more setups.
  • Fixed multiline @ mentions in prompts.
  • Preserved custom tool metadata from Zod schemas.
  • Preserved custom tool argument descriptions in generated schemas.
  • Fixed file watching in repos where .git is a symlink. (@kagura-agent)

TUI

Improvements

  • Added a collapsed thinking view that can be expanded inline.
  • Added pinned sessions with quick-switch slots in the session picker.

Bugfixes

  • Fixed thinking mode defaults so reasoning starts collapsed consistently.
  • Limited session quick-switching to pinned sessions.
  • Fixed Markdown table rendering in chat output.
Thank you to 1 community contributor:
  • @kagura-agent:
  • fix(watcher): resolve symlinked .git path before subscribing (#27016)
v1.15.0 [May 15, 2026] details → github →

Core

Improvements

  • Added an Effect-based core event system for more complete event delivery across sessions and integrations.

Bugfixes

  • Ignored invalid exports in custom tool modules instead of failing tool loading.
  • Ignored project instruction lookup errors so sessions keep loading when project instruction discovery fails.
  • Fixed versioned event projector lookups so event replay uses the right handlers.

Desktop

Improvements

  • Auto-hide the menu bar on Linux and Windows. (@shi-gg)

Bugfixes

  • Fixed archived sessions being reprocessed when their archive state did not change.

SDK

Bugfixes

  • Restored missing event types in the JavaScript SDK, including session and message events.
Thank you to 1 community contributor:
  • @shi-gg:
  • feat(desktop): auto-hide menu bar on Linux and Windows (#27618)
v1.14.51 BREAKING [May 15, 2026] details → github →

Core

Improvements

  • Added experimental background subagents so tasks can keep running while you continue working.
  • Added the required billing origin header for NVIDIA endpoints. (@nv-kasikritc)

Bugfixes

  • Fixed worktree creation requests that omitted the POST body.
  • Fixed sessions getting stuck with interrupted assistant messages after cancellation.
  • Fixed repeated auto-compaction in sessions after compaction reordered messages.
  • Updated LiteLLM compatibility to require v1.85.0-rc.2+ for current GPT-5 and tool-call behavior. (@Sameerlite)
  • Fixed truncated shell output streams closing cleanly.
  • Stopped exposing internal named defect details from the HTTP API.
  • Fixed Azure gpt-5.5 requests through the completions API. (@frederiknsgo)
  • Restored automatic image resizing for oversized image attachments.

TUI

Bugfixes

  • Preserved text selection when clicking question prompt options. (@nikhil-patel-whatnot)

Desktop

Improvements

  • Added MCP connection status for client registration and authentication, with direct re-auth flows in the app. (@OpeOginni)

Bugfixes

  • Fixed Windows app detection by reading where output correctly.

Extensions

Bugfixes

  • Fixed DigitalOcean OAuth to request only the GenAI scopes it needs. (@Spherrrical)
Thank you to 7 community contributors:
  • @nikhil-patel-whatnot:
  • fix(tui): preserve text selection on question prompt options (#24988)
  • @frederiknsgo:
  • fix: bug encountered when using azure gpt-5.5 w/ completions api (#26222)
  • @OpeOginni:
  • feat(desktop): add mcp client registration status and authentication handling (#27525)
  • @Sameerlite:
  • fix(provider): remove LiteLLM workarounds ported upstream, requires LiteLLM v1.85.0-rc.2+ (#26819)
  • @bo-tato:
  • docs(app): stale reference to removed multi-edit tool (#27579)
  • @Spherrrical:
  • fix(plugin): scope digitalocean oauth to genai (#27599)
  • @nv-kasikritc:
  • feat(provider): add NVIDIA endpoints origin header (#27394)
v1.14.50 BREAKING [May 14, 2026] details → github →

Core

Bugfixes

  • Kept HTTP event streams open after the initial connect event so subscribers continue receiving instance updates.
  • Returned proper busy errors when a session is already running prompt or shell work.
  • Let invalid small_model config values fall back cleanly instead of breaking small-model selection.
  • Improved missing-model errors with suggestions across CLI and typed callers.

TUI

Improvements

  • Restored markdown rendering for session output by default.

SDK

Improvements

  • Added instance.directory and instance.workspace query support to the v2 model and provider calls.
v1.14.49 [May 13, 2026] details → github →

Core

Improvements

  • Added the v2 model and provider listing API.
  • Added DigitalOcean OAuth and Inference Router support. (@Spherrrical)
  • Create a global opencode.jsonc automatically when no config exists.
  • Enable customize-opencode by default with a linked full schema.
  • Autocomplete configured @mentions in prompts.
  • Parse fenced Markdown code blocks in patch diffs by default.

Bugfixes

  • Fix keymap fallback priority and make TUI config errors clearer.
  • Restore model suggestions for unloaded providers and missing models.
  • Preserve layered permission rule order in config merges. (@asuffield)
  • Preserve attachments returned by custom tools.
  • Keep recent turns after compaction instead of folding them into the summary.
  • Fix prompt cursor movement and mentions for wide characters.
  • Prevent duplicate submits from creating empty phantom sessions.
  • Keep compacted tail history when forking a session.
  • Return proper busy-session errors from the HTTP API.

TUI

Improvements

  • Add pinned recent sessions, quick slots, and recent-session cycling.

Bugfixes

  • Restore non-interactive run exit behavior.
  • Make the websearch provider label update reactively. (@NormallyGaussian)
  • Reduce flicker when switching workspaces.
  • Fix run --json output draining.
  • Fix prompt history and line up/down commands.

Desktop

Improvements

  • Add Ctrl/Cmd+number shortcuts to switch projects.
  • Remember whether the todo dock is collapsed.
  • Restore AppStream metadata in Linux desktop builds.

Bugfixes

  • Show clearer wrapped server errors in the app. (@OpeOginni)
  • Use the login shell when loading desktop environment variables. (@qwq202)
  • Remember the selected model variant when switching sessions or projects.
  • Open the next available project when closing the current one.
  • Prevent streamed Markdown from being cut off.
Thank you to 5 community contributors:
  • @NormallyGaussian:
  • fix(tui): make websearch provider label reactive (#26943)
  • @Spherrrical:
  • feat(plugin): add DigitalOcean OAuth + Inference Routers (#26095)
  • @asuffield:
  • fix: preserve permission ordering by accepting a layered array (#23214)
  • @qwq202:
  • fix(desktop): resolve login shell when loading env (#26449)
  • @OpeOginni:
  • fix(app): enhance error handling by unwrapping SDK-wrapped errors in formatServerError (#27061)