OpenCodeOpenCode

Changelog

New updates and improvements to OpenCode

Desktop

  • Task tool rendering fixed in app
  • Open apps with executables on Windows(@neriousy)
  • Don't close sidebar on session change

Core

  • Increase test timeout to 30s to prevent failures during package installation
  • Memory leak fixed in platform fetch for events
  • Show helpful message when free usage limit is exceeded

Desktop

  • Disable terminal transparency

Core

  • No changes in review pane
  • Fix terminal replay in application
  • Fix workspace reset issues in the app
  • Resolve Homebrew upgrade requiring multiple runs(@GeneCodeSavvy)
  • Publish session.error event for invalid model selection(@surma)
  • Create file if it doesn't exist when writing via ACP(@BryceRyan)
  • Adjust agent variant logic to check if variant is available for model instead of requiring exact match
  • Add new ContextOverflowError type
  • Remove obsolete Copilot model enablement instructions(@fgonzalezurriola)
  • Enable thinking for all reasoning models on Alibaba Cloud (DashScope)(@AdJIa)
  • Parse mid-stream OpenAI response errors to prevent infinite retries on unrecoverable errors
  • Revert web input focus shortcut feature(@gigamonster256)
  • Add web input focus shortcut(@ChangeHow)
  • Add models.dev schema reference for model autocomplete in opencode.json(@remorses)
  • Set variant in assistant messages(@shantur)
  • Add skill discovery from URLs via well-known RFC
  • Clean up orphaned worktree directories(@maharshi365)
  • Properly encode file URLs with special characters(@yudgnahk)
  • SessionPrompt.shell() now triggers loop if messages are queued(@goniz)
  • Use reasoning summary auto for GPT-5 models that are not chat(@scratchmex)
  • Add specific system prompt for Trinity model(@mariamjabara)
  • Correct prefix selection for amazon-bedrock provider in getSmallModel(@NachoFLizaur)
  • Don't rely on metadata.summary in task tool render
  • Handle step-start and step-finish parts in GitHub response text extraction(@elithrar)
  • Bump @gitlab/gitlab-ai-provider to 3.5.0(@vglafirov)
  • Add directory parameter to plugin client for multi-project support(@cooooooooooode)
  • Correct /data API usage and data format for importing share URLs(@yuvrajvirk)
  • Parallelize skill downloads for faster loading in TUI
  • Add skill discovery from URLs via well-known RFC
  • Handle dollar sign character with file pattern in configuration(@hstove)

TUI

  • Clean up dialog-model.tsx per code review
  • Revert addition of version to session header and status dialog
  • Revert showing connected providers in /connect dialog
  • Use sender color for queued messages in TUI(@mcostasilva)
  • Revert footer restoration in session view
  • Add Claude Code-style --fork flag to duplicate sessions before continuing(@ariane-emory)
  • Restore footer to session view(@ariane-emory)
  • Increase skill dialog width
  • Improve skills dialog readability(@kynnyhsap)

Desktop

  • Back to platform fetch for now
  • Include basic authentication in app
  • Fixed global event default fetch behavior in app
  • Fixed memory leak in event fetch operation
  • Don't dispose instance after reset workspace
  • Based on the commit message "fix(app): regressions" without access to the actual changes, I can only provide a generic summary:
  • Use agent configured variant in app
  • Persist defensiveness in app
  • Add redo and undo end-to-end test(@neriousy)
  • Use absolute paths for sidebar session navigation(@riftzen-bit)
  • New session in workspace now correctly uses the selected workspace
  • Add Cmd+[/] keybinds for session history navigation(@kitlangton)
  • Correct module name for linux_display in main.rs(@Hona)
  • Set maximum widths in app
  • Incorrect workspace on new session
  • Update tab file contents on change
  • Polish Open in icon treatment
  • Add fallback for when crypto.randomUUID is unavailable
  • Allow creating sessions on touch devices(@kitlangton)
  • Add native Wayland toggle on Linux desktop(@IsraelAraujo70)
  • Include sandboxes in project unseen message and error notifications(@Brendonovich)
  • Persist current sidecar URL in state when isSidecar prop is true(@OpeOginni)
  • Track current sidecar URL in desktop application(@Brendonovich)
  • Exclude devtools from production builds(@sneycampos)
  • Add isSidecar prop to AppInterface and persist sidecar server URLs(@OpeOginni)
  • Localize "close tab" in command palette(@alexyaroshuk)
  • Improve workspace header truncation and item interaction(@kitlangton)
  • Add default clipboard copy affordance to TextField component(@kitlangton)
  • Fix stale context in prompt input
  • Tighten slash command autocomplete matching(@kitlangton)
  • Display toast notification when session is missing on prompt submit(@DNGriffin)
  • Add native clipboard image paste and fix text paste in desktop app(@invarrow)
  • Respect terminal toggle keybind when terminal is focused(@ryanmiville)
  • Keep /share available to copy existing link(@kitlangton)
  • Disable 3 Safari prompt-input annoyances(@DNGriffin)
  • Add drag-and-drop support for @mentioning files in the app(@DNGriffin)
  • Handle Windows paths in frontend file URL encoding(@yudgnahk)
  • Move workspace New session button into header(@kitlangton)
  • Toggle file tree and review panel with improved UX(@ProdigyRahul)
  • Allow agent select to use full width on Windows(@abdiths)
  • Keep startup script field scrollable in edit project dialog(@itskritix)
  • Fix terminal replay issues in app
  • Added macOS support for displaying only installed editors and added Sublime Text editor(@OpeOginni)
  • Remove extra error page and use default error boundary
  • Add loading window and restructure Rust desktop code(@Brendonovich)
  • Hide 'open in app' button on narrow viewports
  • Update server removal logic to clear default server URL if removed(@OpeOginni)
  • Display session last updated time in command palette search(@alexyaroshuk)
  • Add Windows File Explorer icon for session header(@maharshi365)
  • Support desktop titlebar double-click maximize(@crob19)
  • Add keyboard accelerators to menu items(@Brendonovich)
  • Add more basic menu bar items to desktop application(@Brendonovich)
  • Always show project menu button on mobile for accessibility(@DNGriffin)
  • Maximize main window by default(@Brendonovich)

Core

  • Load user plugins after built-in plugins
  • Fix unhandled errors when aborting with queued messages
  • User plugins override built-in plugins for the same provider(@rmk40)
  • Move Codex 5.3 model definition to plugin to avoid showing unsupported model to other users
  • Add session usage tracking to ACP(@SteffenDE)
  • Update transforms for GPT-5.3

TUI

  • Allow mouse escape via "esc" labels in dialogs(@AksharP5)

Desktop

  • Make close comment button visible in prompt input(@alexyaroshuk)
  • Hide prompt input when there are permissions requests or questions
  • More terminal stability fixes
  • Modified file color contrast in app for better visibility
  • Add button to open files in external applications
  • Allow toggling file tree closed independently
  • Stop showing SessionSkeleton on new workspace(@dbpolito)
  • Set workspace name earlier to improve creation and deletion(@dbpolito)

Core

  • Enable Claude 3.5 Sonnet (new) model support
  • Silently ignore proxy command failures to prevent config initialization crashes
  • Ensure GitHub Copilot plugin properly sets headers when used in clients other than TUI
  • Bundle GitLab auth plugin directly instead of dynamic install
  • Fix plugin installation to use direct package.json manipulation instead of bun add
  • Fix image reading with OpenAI-compatible providers like Kimi K2.5(@zhming0)
  • Downgrade xai ai-sdk package due to errors
  • Revert model autocomplete feature using models.dev schema reference
  • Add models.dev schema reference for model autocomplete in opencode.json(@remorses)
  • Adjust task tool description and input to reduce tool call failures with GPT models
  • Wait for dependencies before loading custom tools and plugins
  • Allow the function to hide or show thinking blocks to be bound to a key(@ariane-emory)
  • Skip dependency installation in read-only configuration directories(@shantur)
  • Ensure Kimi for Coding plan has thinking enabled by default for k2p5(@monotykamary)
  • Fixed Cloudflare Workers AI provider
  • Prevent random hangs in plugin installs when using HTTP proxy by adding --no-cache flag
  • Session errors when attachment file not found are now handled gracefully
  • Support remote server connections in terminal and fix GLIBC compatibility(@lucas-jo)

TUI

Desktop

  • File changes not always available in app
  • File tree kept in sync with filesystem changes
  • Add Bosnian locale(@edoedac0)
  • Fix terminal URL handling issues
  • Remove extra horizontal padding around prompt input on mobile(@Brendonovich)
  • Refresh workspace sessions when switching projects(@neriousy)
  • Fixed terminal URL handling in the application
  • Fix terminal end-of-line handling issues
  • Refresh file contents when changing workspaces to prevent stale data(@ParkerSm1th)
  • Derive terminal WebSocket URL from browser origin instead of hardcoded localhost(@0xdsqr)
  • Last turn changes rendered in review pane
  • Safety triangle for sidebar hover to prevent menu from closing
  • Clear comments on prompt submission
  • Fix e2e test action in app
  • Terminal hyperlink clicks now work correctly
  • Fix dated e2e tests in app
  • Don't show scroll-to-bottom button unnecessarily
  • File tree not staying in sync across projects/sessions
  • Move session options to the session page
  • Add session options to app
  • Opened tabs follow created session
  • Removed compression from RPM bundle to save 15 minutes in CI(@goniz)

Core

  • Revert change that caused headers to be double merged if provider was authenticated in multiple places
  • Document the built-in agents
  • Prevent double-prefixing of Bedrock cross-region inference models(@sergical)
  • Prioritize OPENCODE_CONFIG_DIR for AGENTS.md(@lgladysz)

TUI

  • Restore direct OSC52 support

Desktop

Core

  • Prevent memory leaks from AbortController closures(@MaxLeiter)
  • Revert addition of Trinity model system prompt support
  • Add Trinity model system prompt support(@mariamjabara)
  • Add shell.env hook for manipulating environment in tools and shell(@tylergannon)
  • Use official ai-gateway-provider package for Cloudflare AI Gateway(@elithrar)
  • Allow theme colors in agent customization(@IdrisGit)
  • Add support for reading skills from .agents/skills directories
  • Provider headers from config not applied to fetch requests(@cloudyan)
  • Ensure MCP tools are sanitized
  • Add .slnx to C#/F# LSP root detection(@workedbeforepush)
  • Improve skills system with better prompting, fix permission requests after skill invocation, and ensure agents can locate scripts and resources
  • Exclude k2p5 from reasoning variants(@neavo)
  • Handle nested array items for Gemini schema validation(@mugnimaestra)
  • Plugins are always reinstalled(@neriousy)
  • Strip properties and required fields from non-object types in Gemini schema(@ChickenBreast-ky)
  • Make CLI run command non-interactive

TUI

  • Add --thinking flag to show reasoning blocks in run command
  • Always fall back to native clipboard after OSC52(@MartinWie)

Desktop

  • Faster end-to-end tests(@neriousy)
  • Update command palette placeholder text
  • Model selector truncating too soon
  • Improve spacing in application UI
  • Allow empty prompt with review comments in desktop(@dbpolito)
  • Fixed terminal serialization bug in app
  • Don't force mount tooltips in the app
  • Restore previously opened session tabs on app restart(@ProdigyRahul)
  • Edit project dialog icon now shows on hover(@ProdigyRahul)
  • Move session search to command palette
  • Fix custom providers overflow in app(@DNGriffin)

Core

  • Revert pull request that was mistakenly merged
  • Add --mdns-domain flag to customize mDNS hostname(@luiz290788)
  • Added and deleted file status now correctly calculated in app
  • Add User-Agent header for GitLab AI Gateway requests(@vglafirov)
  • Add Ormolu code formatter for Haskell(@mimi1vx)
  • Use OpenTUI OSC52 clipboard implementation
  • Convert system message content to string for Copilot provider(@jogi47)
  • Give OPENCODE_CONFIG_CONTENT proper priority for setting config based on docs(@OpeOginni)
  • Fixed session title generation with OpenAI models(@oomathias)
  • Simplify directory tree output for prompts
  • Fix task status to show current tool state from message store
  • Allow starting new sessions after errors by fixing stuck session status
  • Adjust resolve parts to properly order tool calls when messages contain multiple @ references
  • Hide badge for builtin slash commands
  • Add workspace tests to the app(@neriousy)
  • Send custom agent prompts as developer messages instead of user messages when using Codex subscriptions
  • Fixed variant logic for Anthropic models through OpenAI compatibility endpoint
  • Add prompt caching support for Claude Opus on AWS Bedrock(@rgodha24)
  • Scope agent variant to model(@neavo)
  • Prevent duplicate AGENTS.md injection when reading instruction files(@code-yeongyu)
  • OpenCode no longer hangs when using client.app.log() during initialization(@desmondsow)
  • Remove outer backtick wrapper in session transcript tool formatting(@zerone0x)
  • Allow user plugins to override built-in auth plugins(@JosXa)
  • Binary file handling in file view(@alexyaroshuk)
  • Ensure switching Anthropic models mid-conversation works without errors and fix reasoning opaque not being picked up for Gemini models
  • Fix issue where folders and files starting with "." could not be mentioned with @
  • Show actual retry error message instead of generic error message
  • Use process.env directly for runtime environment mutations in provider(@jerome-benoit)
  • Add reasoning variants support for SAP AI Core(@jerome-benoit)
  • Add UTF-8 encoding defaults for Windows PTY(@01luyicheng)

TUI

  • Respect terminal transparency in system theme(@pablopunk)
  • Truncate session title in exit banner to prevent display overflow
  • Show exit message banner in TUI
  • Add spinner animation for Task tool
  • Correct pluralization of match count in grep and glob tools(@adamjhf)
  • Remove extra padding between search and results in dialog-select
  • Add UI for skill tool in session view
  • Conditionally render bash tool output in TUI
  • Add skill dialog for selecting and inserting skills
  • Enable password authentication for remote session attachment
  • Fix documentation issues(@lailoo)
  • Revert skill slash commands feature
  • Add skill slash commands to the app

Desktop

  • Fix prompt input overflow issue in app(@neriousy)
  • Sidebar losing projects on collapse has been fixed
  • Add workspace toggle command to command palette and prompt input(@alexyaroshuk)
  • Search through sessions
  • Standardize icon sizes in the application
  • Navigate to last project on open
  • User messages not rendering consistently
  • Add project context menu on right-click
  • Open project search in app(@neriousy)
  • Add tab close keybind to app(@ProdigyRahul)
  • Enhance responsive design with additional breakpoints for larger screen layout adjustments(@OpeOginni)
  • Add keyboard shortcuts for navigating between unread sessions(@Brendonovich)
  • Fix Rust build and bindings formatting in desktop application(@Brendonovich)
  • Remove unnecessary setTimeout in desktop app(@Brendonovich)
  • Throttle window state persistence in desktop application(@Brendonovich)
  • Integrate tauri-specta for desktop application(@Brendonovich)
  • Keep macOS titlebar stable under zoom(@Brendonovich)
  • Kill zombie server process on startup timeout(@heyitsmohdd)
  • Show skill and MCP badges for slash commands
  • Use static language names in Thai localization(@alexyaroshuk)
  • Add tests for general settings, shortcuts, providers and status popover(@neriousy)
  • Fixed session header 'share' button to hug content(@alexyaroshuk)

Core

  • Sync changes
  • Allow specifying custom models file path via OPENCODE_MODELS_PATH environment variable
  • Ensure models configuration is not empty before loading
  • Make skills invokable as slash commands in the TUI
  • Don't follow symbolic links by default in grep and ripgrep operations
  • Prevent parallel test runs from contaminating environment variables
  • Ensure Mistral ordering fixes also apply to Devstral
  • Add Copilot-specific provider to properly handle reasoning tokens(@SteffenDE)
  • Respect OPENCODE_MODELS_URL environment variable in build process(@bbartels)
  • Use snake_case for thinking parameter with OpenAI-compatible APIs(@Chesars)
  • Bump AI SDK packages
  • Ensure ask question tool isn't included when using acp
  • Handle redirected statement treesitter node in bash permissions(@pschiel)
  • Remove special case handling for Google Vertex Anthropic provider in response generation(@MichaelYochpaz)
  • Exclude chat models from textVerbosity setting

Desktop

  • Revert transitions, spacing, scroll fade, and prompt area updates
  • Add session actions tests(@neriousy)
  • Refactored tests and added project tests(@neriousy)

Core

  • I need to see the actual commit message to summarize it. Could you please provide the commit message you'd like me to summarize for the changelog entry?

Core

  • Remove unused experimental keys from TUI(@IdrisGit)
  • Add continuous integration configuration
  • Remove AI SDK middleware that was preventing think blocks from being sent back as assistant message content

Desktop

  • Change language test in app(@neriousy)
  • Add transitions, spacing improvements, scroll fade effects, and prompt area updates(@aaroniker)

Desktop

  • Free model layout improvements in app

Core

  • Revert to Anthropic completions endpoint to avoid rate limiting issues with copilot
  • Fix frontmatter adding newlines causing invalid model IDs
  • Ensure that Kimi doesn't have fake variants available
  • Add sequential numbering for forked session titles(@ariane-emory)

TUI

  • Add additional timeout race condition guards
  • Guard destroyed input field in timeout callback
  • Include cache tokens in CLI statistics(@bold84)

Core

  • Ensure variants for Copilot models work with maxTokens being set
  • Fixed maxOutputTokens being accidentally hardcoded to undefined which caused kimi-k2.5 issues on some inference providers(@ideallove)
  • Include provider ID in SDK cache key to prevent cache collisions(@saba-ch)
  • Allow media-src data: URL for small audio files in Content Security Policy(@tanapok)
  • Update experimental environment variables in CLI documentation(@bbabou)
  • Add `ctx.abort` to grep tool
  • Add AbortSignal support to Ripgrep.files() and GlobTool(@goniz)

Desktop

Core

  • Add SubtaskPart with metadata reference(@YangTianz)
  • Add global configuration support to app
  • Global configuration updates in app package
  • Bump plugins

TUI

Desktop

  • Close review pane when pressing escape key
  • Enable ctrl+n and ctrl+p for popover navigation in desktop app(@sairajchouhan)
  • Add Thai locale support(@natt-v)
  • Add custom provider support to app

Core

  • Ensure Copilot plugin properly sets headers for new messages API

Core

  • Prevent AGENTS.md from being loaded multiple times during parallel tool execution
  • Bump plugin version
  • Ensure unsubscribe from PartUpdated is always called in TaskTool(@goniz)
  • Restore brand integrity of CLI wordmark(@mynameistito)
  • Add experimental OpenTUI markdown component to app(@remorses)

Core

  • Support headless authentication for ChatGPT/Codex(@rgodha24)
  • Add recommended topP and temperature settings for Kimi K2.5 model
  • Adjust retry check to be more defensive
  • Handle Venice cache creation tokens(@dpuyosa)
  • Add worktree to plugin tool context
  • Expose Instance.directory to custom tools
  • Use Instance.directory instead of process.cwd() in read tool
  • Fix reactive file tree to properly update when files change
  • Attach Anthropic beta headers when using Messages API for Copilot
  • Add retry logic to handle certain provider problems
  • Ensure OpenAI 404 errors are retried(@tim-smart)
  • Use Anthropic-compatible messages API for Anthropic models through Copilot
  • Upgrade OpenTUI to v0.1.75
  • Dynamically resolve AGENTS.md files from subdirectories as agent explores them
  • Add agent description to OpenCode(@SteffenDE)
  • Fix query selector handling of non-Latin characters
  • Await SessionRevert.cleanup for shell to prevent race conditions(@noamzbr)
  • Don't override source in custom provider loaders
  • Add provider settings to app
  • Run start command after reset in app
  • Remove log statement

TUI

  • Handle 4-5 digit codes in copy logic
  • Make diff wrapping toggle always available in command list and fix type error(@ariane-emory)
  • Add visual feedback for diff wrap and conceal toggles(@IdrisGit)
  • Adjust TUI syncing logic to prevent agents from being undefined or missing
  • Remove broken app.tsx command option
  • Move animations toggle to global System category(@ariane-emory)

Desktop

  • Reintroduce review tab in app
  • Auto-scroll to keep relevant content in view
  • Add 'connect provider' button to the manage models dialog(@alexyaroshuk)
  • Fix terminal corruption issue in app
  • File tree not always loading in app
  • Fix outdated e2e test in app package
  • Do not auto-navigate to last project on app load
  • Add Tauri localization support to desktop application
  • Add internationalization support for Tauri desktop application
  • Better memory management in app
  • Don't connect to localhost through VPN
  • Show 5 highlights in app
  • Highlight selected change in the app
  • Set filetree padding to 6px
  • Align file tree change styling
  • Delay navigation tooltips
  • Adjust titlebar left spacing
  • Shorten navigation tooltips
  • Add filetree tooltips with diff labels
  • Color file tree change dots by diff kind
  • Improved app layout
  • Fix session diffs not always loading in app
  • New end-to-end smoke tests for app
  • Add translations to the app
  • Update settings in general settings
  • Swallow file search errors in app
  • Fix tooltips causing getComputedStyle errors in model select
  • Clean up Tailwind CSS versus pure CSS usage in app
  • Navigate to tabs when opening file in app
  • Open markdown links in external browser
  • Shared terminal ghostty-web instance for better performance
  • Cleanup connect provider timers
  • Don't keep parts in memory
  • Don't show session skeleton after workspace reset
  • Add max-width to tabs with text truncation
  • Use smaller close icon on tabs to match comment cards
  • Only show left border on plus button when sticky
  • Update review empty states to 14px font size and align select file empty state
  • Center file tree empty state with 32px top margin
  • Implement non-fatal error handling in app
  • Fix agent fallback colors in app
  • Added forward and back navigation buttons
  • Add missing tooltips in app
  • Auto-scroll button sometimes sticks in the app
  • Deduplicate Tauri configuration files(@Brendonovich)
  • Only show files in select dialog when clicking + tab
  • Disable magnification gestures on macOS desktop(@ysm-dev)
  • Add Connect provider in model selector(@ProdigyRahul)
  • Add file tree specification tests
  • Enable file watcher in app
  • Improve file tree performance in app
  • Add highlights feature
  • Add new release modal
  • Fix Zen mode disconnect not working in app
  • Disconnect Zen provider
  • Fix e2e test in app package
  • Disable tooltips in file tree tabs
  • Move file tree toggle button to the right side
  • Fade filetree guide lines on hover
  • Dim non-deep filetree guide lines in the app interface
  • Reduce file tree folder indent
  • Refine file tree row spacing and indentation
  • Use medium font weight for filetree items
  • Use chevron icons for filetree folders
  • Tighten file tree row spacing
  • Adjust filetree panel padding
  • Scope filetree pill tabs styling
  • Add Vercel AI Gateway provider description
  • Add provider descriptions to settings
  • Add transition to command palette
  • Add transition to select provider dialog
  • Add optional transition animations to dialog
  • Style view all button with interactive color and margin
  • Add models icon and use in settings UI
  • Add providers icon and use in settings
  • Use default cursor for environment provider text
  • Add hover text for environment-connected providers
  • Set provider row height to 56px
  • Update button styles and disconnect button size in UI
  • Fix session synchronization issue in application
  • Add missing i18n strings in app
  • Add session load limit to prevent excessive memory usage
  • Add end-to-end test for sidebar navigation
  • Replace signals with createStore in app
  • Add file tree mode to app
  • Add file tree view to app
  • Use focus-visible instead of focus to prevent sticky hover effect on click(@ProdigyRahul)
  • Better sidebar hover behavior when collapsed
  • Make sidebar full-height in app
  • Add full-height hover effect to sidebar
  • Add model settings to application
  • Add model settings interface to app
  • Handle non-tool call permissions in app
  • Default servers on web
  • Performance improvements in the app
  • Add missing translations for status messages
  • Don't allow workspaces in non-VCS projects
©2026 AnomalyBrandPrivacyTerms