OpenCodeOpenCode

Changelog

New updates and improvements to OpenCode

Core

  • Stopped subagents from launching nested subagents by default, with a configurable `subagent_depth` limit when needed.
  • Improved default reasoning depth for Meta models.

Desktop

  • Added `Mod+N` as another shortcut for opening a new tab.
  • Restored the Help button in release builds.
  • Kept sessions with `null` archive times visible instead of dropping them from the home list.
  • Hid the drawer close button on Windows where it conflicts with the window chrome.

Desktop

  • Fixed spacing between model provider sections in Settings.

Desktop

  • Completed the Desktop v2 migration, including upgrade handling for the new layout and first-launch onboarding.
  • Added a setting to switch between the new and old Desktop layouts during the transition period.
  • Fixed file views using the wrong background in the v2 layout.
  • Fixed connected project picker positioning when its anchor is still loading.
  • Kept permission auto-accept state separate for each server.
  • Fixed a project picker positioning crash.
  • Kept terminal tab rename focused while editing.
  • Enabled remote sessions to auto-accept permissions correctly.
  • Fixed terminal tabs stealing focus when they mount.
  • Loaded more timeline history at once to reduce repeated backfill while scrolling.
  • Resynced the timeline correctly after reconnecting.
  • Preserved the composer caret after request updates.
  • Reduced Home cold-load time substantially.
  • Preserved timeline bottom anchoring more reliably.
  • Clarified status indicator severity.

Core

  • Removed an obsolete Codex workaround that could interfere with OpenAI Luna Responses Lite requests.
  • Updated Azure AI support for GPT-5.6.

Core

  • Supported OpenAI pro reasoning mode.
  • Disabled response storage by default for xAI Responses.(@geraint0923)
  • Added OAuth support for Luna Responses Lite.
  • Switched to another available org after logging out in the console.
  • Used Codex context limits for GPT-5.6 over OAuth.(@nabilfreeman)

TUI

  • Forwarded CLI environment variables to the TUI worker.

Desktop

  • Removed interface transition changes that were accidentally shipped to `dev`.
  • Fixed clipped labels and branch tooltips.
  • Stopped the review panel width from jumping when opening or closing it.
  • Focused the prompt input when starting a new session.
  • Prevented some new-session updates from blocking the UI.
  • Fixed timeline outlines getting clipped.
  • Aligned context token counts with usage totals.
  • Kept the file tree visible while opening files.
  • Redesigned attachment cards and file comment chips in the new interface.
  • Updated the review panel with persistent file browsing, better file tabs, and easier open-in-app actions.
  • Restyled the Edit Project modal to match the new interface.
  • Added middle-click to open sessions in a new tab.
  • Added a temporary setting to switch between the old and new interface.
  • Added per-prompt model selection in the composer.
  • Polished the new interface styling across the session view and terminal.

Core

  • Prevent crashes and bad pricing data when GitHub Copilot returns models with a zero billing batch size.
  • Add a model-specific system prompt for Meta Muse Spark.

Core

  • Improved Meta model handling for reasoning variants and provider requests.

Desktop

  • Fixed clipped descenders in model selector labels.
  • Added a dismissible tabs intro popup and refreshed the help entry point.
  • Updated sub-agent task rows to match the v2 session design more closely.
  • Restyled the revert dock in v2 sessions for clearer restore actions.
  • Added a v2 free-model selector with faster access to more providers.

Core

  • Exposed reasoning effort variants for Grok models.
  • Improved xAI prompt cache routing and PDF file support in Responses models.

Desktop

  • Added an Open containing folder action for projects on the home screen.
  • Added a composer add menu for files, commands, context, and shell mode without losing draft text.
  • Added a provider setup tip on new sessions when no external providers are connected.
  • Remember review panel mode and selected file per session.
  • Added inline file browser tabs for opening and previewing files from the side panel.
  • Updated desktop translations.
  • Kept the review pane usable on wide screens by reserving its minimum width.
  • Fixed hidden session panes staying mounted and causing side-panel glitches.
  • Routed legacy drafts back to the session page.
  • Loaded full review diffs for large patches when the initial diff is capped.
  • Removed the first-open flash in the command palette.
  • Routed the new session shortcut through tabs in the new layout.
  • Kept session routes inside the correct layout when opening legacy session URLs.

Core

  • Better classify Z.ai context-window overflow errors so oversized requests surface the right failure mode(@fengjikui)
  • Handle unavailable config directories more gracefully when reading config files

Desktop

  • Restore model details tooltips in the model picker(@arvsrn)
  • Refresh the v2 command palette to better match the rest of the new desktop UI(@arvsrn)
  • Make terminal shortcuts take priority when the terminal is focused
  • Show unread state on tabs with pending questions
  • Keep session tab titles available after reloads while session data is still loading
  • Apply theme changes only after you select them in Settings
  • Fix macOS titlebar appearance mismatches in Sequoia and adjust traffic light placement(@arvsrn)

Core

  • Added a code mode MCP adapter for running confined orchestration scripts against connected MCP tools.
  • Hid the `execute` tool unless code mode is enabled.
  • Fixed paginated MCP tool catalogs losing tool metadata and output schema validation.
  • Preserved low reasoning effort for OpenRouter small-model variants instead of disabling it.
  • Fixed GitHub Copilot model routing to honor each model's advertised chat or responses endpoint.
  • Fixed session lists to match equivalent instance directories reliably.
  • Fixed Cerebras reasoning replay so earlier assistant reasoning is sent back in the provider-supported field.

TUI

  • Fixed spinner registration so loading indicators keep rendering across TUI surfaces.

Desktop

  • Show draft server status in the title bar.
  • Unified the provider connect flow across the app.
  • Improved the integrated terminal experience.(@arvsrn)
  • Added reopening for closed tabs and background tab opening.(@usrnk1)
  • Improved model search in picker dialogs.(@arvsrn)
  • Added recently closed projects to Home.(@usrnk1)
  • Made tab navigation respond on mouse down in the new layout.
  • Overhauled the v2 review panel.(@arvsrn)
  • Refined the session tab preview popover.(@usrnk1)
  • Fixed new sessions from Home using the wrong project.
  • Fixed first-launch onboarding so it only appears when appropriate.
  • Improved large review pane performance.
  • Fixed timeline loads that started on assistant replies by backfilling the missing user turn.
  • Restored typing in the composer while the window is unfocused.
  • Fixed dropdown search behavior.(@arvsrn)
  • Kept the v2 review pane mounted when switching session tabs.
  • Kept the terminal mounted when switching session tabs in a workspace.
  • Fixed session tab busy indicators to stay scoped to the correct server.
  • Fixed child-session navigation and lineage resolution during tab transitions.
  • Kept desktop window tabs after closing and reopening the app.

Core

  • Force reasoning mode for OpenAI-compatible reasoning models so reasoning settings apply reliably on custom deployments
  • Stop replaying stale GitHub Copilot response item IDs, avoiding follow-up request failures

Desktop

  • Let question prompts be minimized and restored without dismissing them(@arvsrn)
  • Clean up stale empty and old draft store files to reduce desktop state buildup
  • Keep pending question requests open while reviewing them, instead of dismissing them accidentally(@eXamadeus)
  • Keep session page failures scoped to the affected tab instead of breaking the whole app
  • Improve markdown and message layout alignment in the v2 session UI(@arvsrn)
  • Add a searchable v2 model picker and model management flow in the composer(@arvsrn)
  • Show a hover preview for session tabs with the project, path, branch, and server(@usrnk1)
  • Streamline WSL server setup with clearer distro checks and install flows(@arvsrn)
  • Keep desktop tabs scoped to each window so windows restore their own tab sets

Core

  • Enable adaptive thinking for Claude Sonnet 5.
  • Prefer MCP content responses over structured output when both are present.
  • Reconnect MCP servers after OAuth even if the server was disabled.(@MaxAnderson95)
  • Request MCP refresh-token scope during OAuth.
  • Show MCP OAuth completion errors instead of a generic failure.
  • Refresh cached remote skills.
  • Preserve skill resource paths.
  • Pick better default small models across providers.
  • Scope MCP auth status to each server URL.

TUI

  • Add a yolo mode to auto-approve permissions.
  • Pass ServerAuth headers through external served TUI connections.(@OpeOginni)

Desktop

  • Autocomplete MCP resources in the composer.
  • Add workspace controls when starting a new session.
  • Show stored token and cost totals in the session context.(@OpeOginni)
  • Autocomplete configured references in prompts.
  • Restore the prompt cursor when the composer regains focus.
  • Remember the last active desktop URL across restarts.
  • Preserve the selected model when promoting a session.(@usrnk1)
  • Keep session pages in sync during concurrent events.
  • Support normal auth input prompts in the desktop connect-provider dialog.(@OpeOginni)
  • Prevent hidden terminal tabs from hanging or resizing incorrectly.
  • Re-enable auto-accept in session settings.
  • Keep session tabs scoped to the correct server.
  • Remember the selected home project and server.

SDK

  • Add a live event subscription stream.
  • Add SDK access to active sessions.
  • Restore session runtime operations such as event streaming, interrupts, and message lookup.
  • Add paged durable session history.
  • Add session permission request create and fetch endpoints.
  • Preserve `V2Event` names in SSE streams.
  • Wake embedded session execution after new prompts.
  • Improve V2 runtime tool results and avoid duplicate model switch events.
  • Resolve MIME types for prompt attachments sent by URI.

Core

  • Add session snapshots and revert controls so you can roll a session back to an earlier message, including file changes.
  • Always print the MCP OAuth URL so manual sign-in still works when opening the browser flow.

Desktop

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

Core

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

  • Added a configurable keybind to open the diff viewer.
  • Added diff viewer support for comparing against the main branch.
  • Prevented worker rejections from breaking the TUI process.

Desktop

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

  • Exposed provider integration IDs in the SDK.

Extensions

  • Added namespaced plugin hook APIs.
  • Added the V2 plugin API for Effect and Promise plugins.

Core

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

  • Only show the background subagent shortcut when the server supports it.

Core

  • Session timelines load much faster and avoid flicker or scroll jumps.
  • 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

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

Core

  • 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.
  • MCP servers can now receive the current workspace as a client root.

TUI

  • MCP debug now uses the SDK's latest protocol version.

Desktop

  • The new session route now stays scoped to its own draft server, so prompts and state target the right workspace.

SDK

  • SDK clients now refresh model and provider availability when integrations change, and credential update and remove calls accept `location`.

Core

  • Improved MCP server compatibility by declaring OpenCode's supported client capabilities.

Core

  • Added external browser OAuth for the Snowflake Cortex provider(@santigc6)
  • Improved project copy management and move-session flows in v2
  • 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

  • Added auth headers to `RunCommand` fetch requests(@OpeOginni)

Desktop

  • Brought v2 visibility settings to the web app
  • Refreshed the oc-2 color theme(@arvsrn)
  • Made the terminal resize gutter easier to grab
  • Faded overflowing titlebar tabs instead of clipping them abruptly

Core

  • 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.
  • 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.
©2026 AnomalyBrandPrivacyTerms