Changelog
New updates and improvements to OpenCode
Core
- Fix most segfaults on Windows with Bun v1.3.10 stable
- Split TUI and server configuration
Desktop
- Remove interactive shell flag from sidecar spawn to prevent hang on macOS(@kilhyeonjun)
- Fixed permissions and questions handling from child sessions in the app
- Fixed keyboard navigation for previous/next message(@neriousy)
- Correct Copilot provider description in i18n files(@Oleksii-Pavliuk)
TUI
- Consume stdout concurrently with process exit in auth login(@Ayushlm10)
Core
- Synchronize changes
- Temporarily disable plan enter tool to prevent unintended mode switches during task execution
- Migrate Bun.spawn to Process utility with timeout and cleanup
- Disable Bun config cache in CI
- Await git ID cache write in project module
- Import custom tools via file URL
TUI
- Add Go SDK code generation script
- Show LSP errors for apply_patch tool
Desktop
- Enhance Windows app resolution and UI loading states(@neriousy)
- Update desktop README for accuracy
Core
- Add workspace-serve command (experimental)
- ACP both live and load share synthetic pending status preceding actual data(@noamzbr)
- Replace structuredClone with spread operator for process.env in tests
- Add 50ms tolerance for NTFS mtime precision in Windows FileTime assertions
- Replace Unix-only test assumptions with cross-platform alternatives
- Use path.sep in discovery test for cross-platform path matching
- Normalize backslash paths in config rel() and file ignore on Windows
- Fix plugin resolution with createRequire fallback on Windows
- Harden preload cleanup against Windows EBUSY errors
- Normalize git excludesFile path for Windows in tests
- Stream bash output and add synthetic pending events to ACP(@noamzbr)
- Add git flags for snapshot operations and fix tests for cross-platform on Windows
- Handle CRLF line endings in markdown frontmatter parsing on Windows
- Use path.join for cross-platform glob test assertions
- Upgrade to Bun 1.3.10 canary and force baseline builds always
- Normalize paths at permission boundaries on Windows
- Windows path support and canonicalization(@edemaine)
- Upgrade OpenTUI to v0.1.81
- Change detection on Windows, especially Cygwin(@edemaine)
- Cache platform binary in postinstall for faster startup
- Revert caching platform binary in postinstall for faster startup
- Cache platform binary in postinstall for faster startup
- Publish desktop beta releases to a separate repository
- Add experimental endpoint to list all sessions
- Fixed terminal issues in the app
- Respect info exclude in snapshot staging
- Missing plugin dependencies cause TUI to black screen(@elithrar)
TUI
- Support variant parameter in GitHub Actions and OpenCode GitHub run command(@elithrar)
Desktop
- Ignore stale part deltas in the application
- Fix bug where lines remain highlighted after canceling a comment(@neriousy)
- Replace error handling with serverErrorMessage utility and add ConfigInvalidError checks(@OpeOginni)
- Preserve native path separators in file path helpers
- Remove file tree tooltips
- Update createOpenReviewFile test to match new call order
- Wait for loadFile to complete before opening file tab
- Windows E2E test failures due to IPv6 networking issues resolved
- Correct inverted chevron direction in todo list(@kevinWangSheng)
- Feed customization options
- Add beta icon to desktop application
- E2E test updated to current version
- Remove double-border in share button
- Better sound effect disabling UX
- Add custom scroll view to app
- Show and hide reasoning summaries in the app
- Stay pinned with auto-scroll on todos, questions, and permissions
- Bring back -i flag in sidecar arguments for desktop
- Large text pasted into prompt input no longer causes main thread to lock
SDK
- Scripts using Turbo commands would not run on Windows
Desktop
- Don't spawn sidecar if default is localhost server
SDK
- Build SDK to dist/ instead of dist/src
Core
- Add missing id, sessionID, and messageID to MCP tool attachments(@NatChung)
- Remove unnecessary deep clones from session loop and LLM stream
- Remove User-Agent header assertion from LLM test to fix failing test
TUI
- Use structuredClone instead of remeda's clone for better performance and native support(@mhart)
Desktop
- Restore settings header mask
Core
- Support adaptive thinking for Claude Sonnet 4.6(@tctev)
TUI
- Add custom tool and MCP call responses that are visible and collapsible(@yanosh-k)
Desktop
- Black screen on launch with sidecar server fixed
- Clear todos on abort
Core
- Add dfmt formatter support for D language files(@burner)
- Bump GitLab provider and auth plugin for mid-session token refresh(@vglafirov)
- Remove unnecessary per-message title LLM calls(@rmk40)
- Prioritize user-defined variables over environment variables in Google Vertex AI configuration
- Add OpenAI-compatible endpoint support for Google Vertex provider(@leehack)
- Add Venice support for temperature, topP, topK, and smallOption parameters(@dpuyosa)
- Add cljfmt formatter support for Clojure files(@finalfantasia)
TUI
- Make use of server directory path for file references in prompts(@OpeOginni)
- Add database migration command to convert JSON storage to SQLite
- Add --continue and --fork flags to attach command
- Fixed inaccurate tips in TUI(@imanolmzd-svg)
Desktop
- Normalize Linux Wayland/X11 backend and decoration policy(@bnema)
- Use process-wrap library instead of manual job object handling in desktop(@Brendonovich)
Core
- Ensure SQLite migration logs to stderr instead of stdout
Core
- Add db command for database inspection and querying
- Derive all IDs from file paths during JSON migration
Desktop
- Clear notifications action
- Fixed stack overflow issue in file tree component
Core
- Ensure Anthropic models on OpenRouter also have variant support
- Add WAL checkpoint on database open
- Ensure Vercel variants pass Amazon models under Bedrock key
Core
- Add comprehensive test coverage for Session.list() filters
- Filter sessions at database level to improve session list loading performance
- Fix Vercel gateway variants
- Bump Vertex AI packages
Core
- Show all project sessions from any working directory
- Tweak websearch tool description date info to avoid cache busts
Core
- Revert to SQLite database implementation
- Move timeout configuration from programmatic API to CLI flag(@yanhao98)
- Update AI SDK packages and use adaptive reasoning for Claude Opus 4.6 on Vertex, Bedrock, and Anthropic
Desktop
- Fix Rust compilation issues in desktop application(@Brendonovich)
- Remove OPENCODE_SQLITE environment variable from desktop(@Brendonovich)
- Terminal resize handling fixed in app
- Use prompt_async endpoint to avoid timeout over VPN/tunnel(@eytans)
- Remount SDK and sync tree when server URL changes(@ysm-dev)
- Sync docs locale cookie on alias redirects(@Seungjun0906)
- Performance optimization for showing large diffs and files in desktop(@neriousy)
Core
- Revert token substitution in OPENCODE_CONFIG_CONTENT
- Ensure @-mentioning a directory uses the read tool instead of deprecated list tool
- Add tool.definition hook for plugins to modify tool description and parameters(@spoons-and-mirrors)
- Remove worktree delete functionality
- Resolve ACP hanging indefinitely in thinking state on Windows(@ASidorenkoCode)
Desktop
- Reconnect event stream on disconnect
- Toggle all provider models in settings
- Clean up desktop loading page(@Brendonovich)
- Notification should navigate to session
- Fix prompt input behavior quirks
- Failed to create store in app
- Only show loading window if SQLite migration is necessary(@Brendonovich)
Core
- Token substitution in OPENCODE_CONFIG_CONTENT environment variable(@ariane-emory)
- Look for recent model in fallback in CLI(@smitchaudhary)
- Baseline CPU detection fixed(@Hona)
- Windows selection behavior and manual Ctrl+C handling(@Hona)
- Terminal PTY isolation for app
TUI
- Do not open console on error
Desktop
- Option to turn off sound effects
- Normalize OAuth error messages
- Suggestion active state broken
- Fixed remote HTTP server connections in the app
Core
- Return image attachments from webfetch tool
- Expose tool arguments in shell hook for plugin visibility
Desktop
- Project icons no longer unload unexpectedly
- Preserve undo history for plain-text paste in app(@gitRasheed)
- Refactor app for better SolidJS hygiene
- More defensive session context metrics handling in app