OpenCodeOpenCode

Changelog

New updates and improvements to OpenCode

Core

  • Allow Codex OAuth model filtering to recognize integer GPT versions like `gpt-6`
  • Fixes issue of gpt-6-astra not showing up for openai subscription users

Core

  • Send the session ID as GitHub Copilot's interaction header to improve request tracking across a session.

Desktop

  • Use the desktop client ID during OpenCode account device authentication.
  • Increase the open-in app icon size for better visibility.

Core

  • Default provider header timeouts to five minutes so slow model startups fail less often.
  • Default streamed chunk timeouts to five minutes, with `false` supported to disable them.
  • Let Anthropic `thinking.blockBinding` opt out via config when you need to keep the provider default.(@dkindlund)
  • Limit Anthropic thinking block binding to Claude 5.1+ models so older deployments do not reject requests.
  • Avoid unhandled errors when canceling timed-out SSE reads.(@AlexanderWillner)

Core

  • Claude 5 sessions now tolerate stale thinking blocks instead of failing after prompt or tool changes.
  • Bedrock GPT-5.6 models now accept `none` reasoning effort.
  • Bedrock reasoning and replay handling is more reliable.(@pengzh1)
  • Tool call timing now stays accurate when tools update their metadata while still running.(@bartlettroscoe)
  • `apply_patch` no longer emits an empty move path in permission metadata.(@altendky)
  • Azure CLI sign-in now asks for the resource name directly instead of querying Azure management APIs.

Desktop

  • Session renames now save reliably from the title editor and tab context menu.

Core

  • Fixed Azure authentication so Azure CLI sign-in works without requiring Bun.

Core

  • Bedrock reasoning responses no longer get cached into unreplayable empty messages.
  • Azure providers can now sign in with Microsoft Entra ID through the Azure CLI instead of requiring an API key.
  • V1 now reads supported V2 config fields so newer config files keep working in more mixed setups.

Desktop

  • Archived sessions disappear from the Home list immediately.(@NathanTCode)

Core

  • Fixed Cloudflare AI Gateway routing for third-party providers so non-Workers models work through the gateway's REST API.(@superhighfives)
  • Fixed Anthropic models through Cloudflare AI Gateway by converting dotted model IDs like `claude-haiku-4.5` to the dashed slug Anthropic expects.(@superhighfives)
  • Fixed parent session IDs being sent in request headers for session-aware providers.

TUI

  • Fixed GitHub auth for immutable OIDC subject tokens.

Core

  • Removed outdated OpenCode Go first-month discount messaging and pricing.
  • Fixed OpenCode device login links when servers return relative verification URLs or use a base path.
  • Fixed `textVerbosity` being sent to OpenAI-compatible providers that do not support it.(@joelstucki-taulia)
  • Updated the Amazon Bedrock provider for compatibility fixes.

Desktop

  • Keep model provider headers visible while scrolling the model picker.

Core

  • Continue responses when a model reports an unknown finish reason instead of stopping early
  • Route Vertex AI `eu` and `us` multi-region Gemini requests through REP endpoints

Desktop

  • Keep file search results visible while the next search is loading
  • Register the archive session command in both desktop layouts(@NathanTCode)

Core

  • Surface failed subagent tool calls with a resumable `task_id`.
  • Retry provider responses that end with `finish_reason: network_error`.
  • Retry more network error variants, including `network-error` and `network_error`.
  • Surface resumable subagent failures instead of returning an empty result.
  • Preserve Cerebras `max_completion_tokens` without applying an extra output cap.
  • Answer permission requests triggered by subagents during `opencode run`.
  • Retry xAI capacity and temporary unavailability stream errors.

Core

  • Added native OpenAI and Anthropic passthroughs for Cloudflare AI Gateway models.
  • Matched Codex rate limits more closely to ChatGPT subscription limits.(@GameOn223)
  • Removed built-in Qwen sampling defaults that could send unsupported settings.
  • Properly show authenticated providers in `/connect`.(@OpeOginni)
  • Ignore malformed model pricing instead of breaking usage cost calculation.
  • Fall back when OpenAI websocket requests exceed message size limits.
  • Forward ChatGPT workspace compute residency to Codex requests.
  • Updated the default Console URL used by account connection flows.
  • Enabled web search when using the OpenCode Go provider.
  • Preserved compatibility with existing v1 databases.

Desktop

  • Kept saved server details editable in the server dialog.

Core

  • Select the Kimi system prompt correctly for official Moonshot and Kimi providers
  • Fix xhigh reasoning effort for xai models

Core

  • Made session compaction keep complete recent turns and produce clearer summaries for smaller models.
  • Added MERGE Gateway reasoning variants so those model options work correctly.(@MatthewFeroz)
  • Capped automatic session retries and added jitter to reduce repeated retry storms.
  • Enabled PDF attachments for GitHub Copilot models that advertise PDF vision support.(@stevenao)
  • Applied the correct sampling defaults to DeepSeek V4 Flash on supported providers.
  • Routed all Muse family models to the correct Meta system prompt.(@mreso)

Desktop

  • Updated Chinese developer terminology to use more widely recognized translations.
  • Used the server's current default model instead of stale local config when choosing the default model.

Core

  • Ignore unknown top-level config fields instead of failing config parsing
  • Register projects opened from Home so they are available to the rest of the app

Desktop

  • Open the project menu with a right-click in Home
  • Fall back to listing and matching local directories when the project picker server does not support search
  • Use 词元 instead of 令牌 for token-related labels in Simplified Chinese(@Speechlessmanbilibili)
  • Keep the macOS app running after the last window closes and reopen a window when the app is activated

Core

  • Chronological message ordering now stays correct even when imported or legacy message IDs are out of order.
  • Revert and fork actions now use real message chronology instead of message ID ordering.
  • Truncation cleanup now removes stale files by file timestamp more reliably.
  • Repeated compaction now keeps earlier tool-call history in summaries instead of dropping orphaned results.
  • Blob-based attachments now load correctly in the web UI.(@rexdotsh)

Desktop

  • Added much broader locale coverage across the desktop app.
  • Export full session transcripts as JSON from the UI.
  • Session timelines now respect chronological message boundaries more reliably.
  • Stored messages now stay ordered by creation time.
  • Session lists now sort by persisted activity time more reliably.
  • Language names now stay native in the locale picker.
  • Filled in missing translations across existing locales.

Core

  • Simplified xAI login to a single device-code flow that works better in headless and remote environments.
  • Preserved structured mid-stream provider errors so compatible providers can retry failed responses.
  • Retried more transient provider and network errors instead of failing immediately.
  • Counted cache writes in ACP usage totals.
  • Logged remote workspace 5xx response bodies in the host logs to make proxy failures easier to debug.(@jamesmurdza)
  • Stopped sending the host `directory` path to remote workspaces so prompts resolve from the remote project root.(@jamesmurdza)
  • Waited for queued ACP session updates before ending a turn.

TUI

  • GitHub pull request reviews now include the pull request number and URL in context.

Desktop

  • Fixed several right-to-left layout issues across tabs, drawers, resizing, and titlebar interactions.
  • Fixed shared right-to-left UI behavior such as directional icons and drawer placement.
  • Sessions without titles now fall back to generated names instead of appearing blank.
  • Moved markdown parsing off the main thread to keep the app more responsive while rendering messages.
  • Localized more desktop UI copy, including native menus, update dialogs, and help content.
  • Added early right-to-left layout support across the app and session views.
  • Added locale-aware plural rules so translated counts and summaries read correctly.
  • Expanded translation coverage and added more supported desktop languages.

Core

  • Fixed Azure GPT-5.5+ completion requests failing when reasoning is enabled.(@frederiknsgo)

Desktop

  • Reduced composer lag when drafts include large pasted images or attachments.
  • Let project search match any known recent project instead of only the first five.(@NumerousJLs)
  • Cleared stale assistant errors from the timeline once the same turn resumes streaming.
  • Skipped legacy config reads against v2 servers to avoid spurious config loading issues.(@resetsix)

Core

  • Stopped MCP SSE connections from getting stuck in reconnect loops after server error responses.
  • Fixed provider model configs that use interleaved reasoning fields like `reasoning_text` or custom field names.

Desktop

  • Open external links in the system browser instead of inside the app.
  • Fixed stale session tab state in the desktop title bar.(@OpeOginni)
  • Open the legacy directory picker at your home folder when no home path is loaded yet.
  • Prevent the file tree tab from clipping when resized smaller.(@OpeOginni)
  • Fixed debug gutter labels and values misaligning.

Core

Desktop

  • Prevent adding the same attachment more than once.
  • Always show the new session button.
  • Improve toast notifications with better stacking, dismissal, and mobile layout.
  • Refine tab hover, active, and overflow states.
  • Repair malformed saved tabs so broken tab state no longer persists across launches.(@OpeOginni)
  • Hide the model variant selector until model data finishes loading.
  • Preserve the custom agent picker for existing users.
©2026 AnomalyBrandPrivacyTerms