OpenCodeOpenCode

Changelog

New updates and improvements to OpenCode

Core

  • Fix issue with custom agents in plugins not loading

Core

  • Shell mode in the prompt stays editable, so backspace, cursor movement, and other editing keys work again.
  • Fixed HTTP API workspace adapters losing instance context, which could break workspace create, sync, and routing flows.
  • Fixed experimental workspace creation requests that omit `extra`.
  • Fixed OpenAPI parameter schemas so generated clients match the public API.
  • Unsupported image formats now fall back to text reads instead of being sent as image attachments.(@zeke)
  • Agents can use the global temp directory without extra permission prompts.
  • Fixed Bedrock sessions that include reasoning content when switching models.
  • Session archive timestamps now reject non-finite values, avoiding invalid JSON in API payloads.

TUI

  • Reduced startup theme flashing when using the system theme.
  • The animated logo now avoids subpixel rendering on terminals without truecolor support.

Core

  • Azure setup now prompts for the resource name when needed and saves it with the API key.
  • Task child sessions now preserve parent `external_dir` and deny permissions.(@remorses)
  • Invalid remote MCP URLs now fail with a clear error instead of breaking setup.

Desktop

  • Restoring saved messages no longer crashes the app when a model is missing.

Core

  • Fixed missing sessions in Desktop caused by path mismatches, including recovery for existing stored data.
  • Fixed Azure Responses defaults to avoid reasoning item ordering errors.
  • Improved DeepSeek compatibility with providers that vary model naming.
  • Added Mistral Medium 3.5 with reasoning support.(@rubdos)
  • Made instruction precedence more predictable by applying global instructions before project and skill instructions.
  • Reconnected editor context when switching to a session in another directory.
  • Fixed forked sessions so compacted history stays intact.(@spark4862)
  • Reduced memory growth in long-running bash tool usage.
  • Sessions now filter to the current path by default, with a setting to show the whole project.
  • Kept GitHub Copilot model variants in sync with the latest API capabilities.
  • Fixed Zed selections with UTF-8 text so editor context uses the right ranges.

TUI

  • Added a quick toggle for paste summaries.
  • Invalid custom themes no longer crash the TUI on startup.

Core

  • Sessions now keep a relative workspace path.
  • Moonshot and Kimi tool schemas are sanitized to avoid rejected tool calls.
  • MCP OAuth errors now match the native API more closely.
  • Provider OAuth authorize errors now match the native API more closely.
  • Shell cancellations now finish cleanly instead of leaving aborted commands in a bad state.
  • Creating a session over HTTP now works with an empty request body.
  • Workspace HTTP API routes are now mounted through the bridge.
  • Tool streaming now defaults off for non-Anthropic models when using the Anthropic SDK.
  • DeepSeek OpenAI-compatible setups now keep `reasoning_content` interleaved by default.
  • The experimental LSP tool now forwards the workspace symbol query.
  • Google Vertex now defaults tool call streaming off.

TUI

  • Zed context polling stays responsive.
  • Pressing Enter in dialogs now triggers the dialog instead of leaking through.(@CasualDeveloper)
  • File context is clearer, can be turned off, and clears after sending.
  • `opencode agent create` now writes a valid `permissions.deny` config.(@21pounder)

Desktop

  • Per-workspace icon overrides now stay applied for subdirectories in the same repo.
  • Sync state loading is more reliable for MCP, LSP, and workspace refreshes.

Core

  • Fixed issue with `opencode upgrade` failing for bun installs unless in a directory with package.json

Core

  • Added a configurable default shell for terminals and agent shell commands, with a Desktop setting to manage it.
  • Reduced extra terminal noise while creating TUI workspaces.

TUI

  • Hid provider connection checks until onboarding is complete.
  • Restored the default toast timeout when no custom duration is provided.(@OpeOginni)

Core

  • Fixed config parsing to preserve permission rule order.
  • Fixed OpenRouter DeepSeek reasoning output handling.
  • Sent an `opencode/<version>` `User-Agent` header with HTTP requests.

TUI

  • Added Zed editor selection support for editor context.
  • Show a `/connect` tip when no models are configured.
  • Fixed editor lock detection to ignore locks from unrelated workspaces.(@jjjermiah)

Core

  • Fixed permission config preserving rule order and exposes full IntelliSense for tool permission keys
  • LSP permission prompts now include request details like the operation, file, and cursor position
  • Shell commands keep the correct working directory after login shell startup files run
  • Added Roslyn LSP support for Razor, `.cshtml`, and C# script files
  • GPT-5.5 with OpenAI OAuth now uses the correct context limits to avoid compaction issues

Core

  • Fixed DeepSeek assistant messages so reasoning is always included, avoiding provider formatting failures.
  • Fixed inherited model configs so interleaved-capability models keep working when that field falls back to an existing model.(@07akioni)
  • Added an experimental HTTP API endpoint for MCP server status.
  • Added experimental HTTP API endpoints to list files, read file contents, and check project file status.

Core

  • Respect custom `.npmrc` registry settings when checking package versions and updates.

TUI

  • Render all non-synthetic text in a user message instead of showing only the first text block.

Core

  • Respect `.npmrc` settings during npm installs.
  • Let projects store a custom icon override so the chosen icon persists correctly.

Desktop

  • Fix session views and nested session items not getting stuck with stale state when switching between sessions.

Core

  • Support pull diagnostics from LSP servers that use them, including C# and Kotlin.
  • Fix project detection and caching for bare Git repos and worktrees.(@StevenTCramer)
  • Improve session compaction so long threads keep more useful context when older history is summarized.
  • Preserve UTF-8 BOMs when files are edited, patched, or rewritten through tools.
  • Use Roslyn Language Server for C# support instead of `csharp-ls`.(@jmbryan4)
  • Add the high reasoning variant for supported Mistral Small models.(@rubdos)
  • Hide unsupported variants for Kimi models that do not expose them.

TUI

  • Fail fast when opening an invalid or missing session instead of starting the TUI in a broken state.
  • Skip upgrade checks when auto-update is disabled.(@rahuliyer95)

Desktop

  • Keep project avatar previews consistent between the sidebar and edit dialog.
  • Improve project icon overrides so uploaded icons and color fallbacks behave correctly in the edit dialog.
  • Improve Linux desktop metadata for app listings and categorization.(@NN708)

Core

  • Fixed a system theme regression in the TUI.
  • Added `GET /config` to the experimental HTTP API.
  • Fixed local dynamic imports on Windows when running under Node, improving plugin and tool loading.

TUI

  • Fixed permission replies using remote workspaces so they are sent to the correct workspace.

Desktop

  • Stopped prompt controls from replaying their fade-in animation on every render.
  • Added a setting to hide the session progress bar while the agent is working.
  • Fixed the Select Server dialog layout so the server list and actions size correctly.(@OpeOginni)
  • Fixed synced project updates so desktop project state changes apply reliably.
  • Fixed sidebar project avatars to fall back to `icon.url` when no override is set.(@ysm-dev)

SDK

  • Fixed the `WorkspaceAdaptor.create` type to include the `env` parameter.(@jamesmurdza)

Core

  • Prevented compiled binaries from failing on startup because of a circular session schema dependency.
  • Renamed the compaction setting to `preserve_recent_tokens` for the budget that keeps recent turns verbatim.
  • Preserved concurrent edits to the same file instead of letting parallel edits overwrite each other.
  • Fixed managed installs on Windows and added bundled ripgrep support for Windows ARM64.
  • Added NVIDIA as a built-in provider option, including connection docs and required attribution headers.(@anniesurla)
  • Kept recent conversation turns verbatim during session compaction so follow-up work keeps more local context.
  • Fell back to summarizing the full conversation when preserved recent turns include too much media to fit safely.

Desktop

  • Reduced loading flicker when opening projects and bringing prompt controls online.
  • Added a separate terminal font setting and bundled JetBrainsMono Nerd Font Mono.

Core

  • Restore the native ripgrep backend so file search and file listing work reliably again.

Core

  • Preserve executable permissions before Docker builds when artifacts lose their exec bits.
  • Fix plugins reinstalling more often than needed.
  • Use `display: summarized` by default for Anthropic Bedrock Opus 4.7 requests.
  • Detect attachment types from file contents so images and PDFs still work with incorrect or missing extensions.
  • Support `OTEL_RESOURCE_ATTRIBUTES` for custom telemetry resource tags.
  • Fix package installs when `node_modules` is missing.
  • Fix GitHub Copilot Anthropic Haiku requests by disabling unsupported tool streaming.

TUI

  • Add a full-session option when forking from the session dialog.
  • Show the session ID in the sidebar on non-production channels.

Core

  • Fixed workspace routing so requests reach the correct workspace instance.
  • Stopped share sync attempts for sessions that were never shared.

Core

  • Restored workspace history on connect so existing sessions catch up before live sync resumes
  • Passed OTEL exporter settings into managed workspaces so telemetry works there too
  • Normalized provider metadata defaults so models still load when catalog data is incomplete
  • Passed `EXA_API_KEY` to the `websearch` tool to reduce rate limits(@rasdani)

TUI

  • Added a restore flow for sessions whose workspace is unavailable, with clearer workspace status indicators
  • Fixed agent cycling when no agent is selected and improved prompt key handling

Core

  • Added LLM Gateway as a provider, including config support and model usage reporting.(@smakosh)
  • Limited GitHub Copilot Opus 4.7 models to medium reasoning effort to avoid unsupported variants.(@OpeOginni)
  • Improved remote workspace reconnection with exponential backoff and clearer failure handling.

TUI

  • Fixed `--session-id` so it opens the requested session after app startup.
  • Fixed light mode detection in Ghostty.

Desktop

  • Fixed the beta desktop app so the file tree still appears when enabled in settings.
©2026 AnomalyBrandPrivacyTerms