Changelog
New updates and improvements to OpenCode
v1.2.16 Normalize trailing slashes in auth login URLs
Improvements 20
- CoreUpgrade OpenTUI to v0.1.86 and enable markdown rendering by default
- CoreAvoid Gemini combiner schema sibling injection
- CoreForward metadata options to Cloudflare AI Gateway provider@ryanskidmore
- CoreClone part data in Bus event to preserve token values@ryanskidmore
- CoreRecover from 413 Request Entity Too Large errors via automatic compaction@bentrd
- CoreShow human-readable message for HTML error responses@rianvdm
- CoreKill orphaned MCP child processes and expose OPENCODE_PID on shutdown@ryanwyler
- CoreAdd workspace_id to session table
- CoreAdd WorkspaceContext to core
- CoreBasic implementation of remote workspace support
- CoreChange keybindings to navigate between child sessions
- CoreFixed test issues
- CoreFixed terminal rendering and interaction issues in the application
- TerminalReplace curved arrow with straight arrow for better terminal compatibility
- TerminalShow pending tool call count in TUI instead of generic 'Running...' message
- TerminalUse arrow indicator for active tool execution in TUI
- TerminalDisable session navigation commands when no parent session@jerome-benoit
- TerminalFixed project ID conflict and updated handling for same session ID@noamzbr
- TerminalImprove task tool display with subagent keybind hints and spinner animations
- TerminalAdd Go provider list command
v1.2.15 Fix most segfaults on Windows with Bun v1.3.10 stable
Improvements
- CoreSplit TUI and server configuration
v1.2.14 Add message delete endpoint
Improvements
- TerminalConsume stdout concurrently with process exit in auth login@Ayushlm10
v1.2.12 Synchronize changes
Improvements 7
- CoreTemporarily disable plan enter tool to prevent unintended mode switches during task execution
- CoreMigrate Bun.spawn to Process utility with timeout and cleanup
- CoreDisable Bun config cache in CI
- CoreAwait git ID cache write in project module
- CoreImport custom tools via file URL
- TerminalAdd Go SDK code generation script
- TerminalShow LSP errors for apply_patch tool
v1.2.11 Add workspace-serve command (experimental)
Improvements 27
- CoreACP both live and load share synthetic pending status preceding actual data@noamzbr
- CoreReplace structuredClone with spread operator for process.env in tests
- CoreAdd 50ms tolerance for NTFS mtime precision in Windows FileTime assertions
- CoreReplace Unix-only test assumptions with cross-platform alternatives
- CoreUse path.sep in discovery test for cross-platform path matching
- CoreNormalize backslash paths in config rel() and file ignore on Windows
- CoreFix plugin resolution with createRequire fallback on Windows
- CoreHarden preload cleanup against Windows EBUSY errors
- CoreNormalize git excludesFile path for Windows in tests
- CoreStream bash output and add synthetic pending events to ACP@noamzbr
- CoreAdd git flags for snapshot operations and fix tests for cross-platform on Windows
- CoreHandle CRLF line endings in markdown frontmatter parsing on Windows
- CoreUse path.join for cross-platform glob test assertions
- CoreUpgrade to Bun 1.3.10 canary and force baseline builds always
- CoreNormalize paths at permission boundaries on Windows
- CoreWindows path support and canonicalization@edemaine
- CoreUpgrade OpenTUI to v0.1.81
- CoreChange detection on Windows, especially Cygwin@edemaine
- CoreCache platform binary in postinstall for faster startup
- CoreRevert caching platform binary in postinstall for faster startup
- CoreCache platform binary in postinstall for faster startup
- CorePublish desktop beta releases to a separate repository
- CoreAdd experimental endpoint to list all sessions
- CoreFixed terminal issues in the app
- CoreRespect info exclude in snapshot staging
- CoreMissing plugin dependencies cause TUI to black screen@elithrar
- TerminalSupport variant parameter in GitHub Actions and OpenCode GitHub run command@elithrar
v1.2.9 Add missing id, sessionID, and messageID to MCP tool attachments
Improvements
- CoreRemove unnecessary deep clones from session loop and LLM stream
- CoreRemove User-Agent header assertion from LLM test to fix failing test
- TerminalUse structuredClone instead of remeda's clone for better performance and native support@mhart
v1.2.8 Support adaptive thinking for Claude Sonnet 4.6
Improvements
- TerminalAdd custom tool and MCP call responses that are visible and collapsible@yanosh-k
v1.2.7 Fixed terminal rendering and interaction issues in the application
Improvements 75
- CoreNormalize file status paths relative to instance directory@shantur
- CoreMigrate from Bun.Glob to npm glob package
- CoreBump AI SDK packages for Google, Google Vertex, Anthropic, Bedrock, and provider utils
- CoreAdd support for medium reasoning with Gemini 3.1
- CoreRemove use of Bun.file
- CoreText files misclassified as binary
- CoreFetch default server at top level in desktop application
- CoreTerminal rework in the app
- CoreBake in the AWS and Google authentication packages
- CoreToken substitution in OPENCODE_CONFIG_CONTENT now works correctly@ariane-emory
- CoreRevert migration from Bun.file() to Filesystem module
- CoreMigrate project.ts from Bun.file() to Filesystem/stat modules
- CoreMigrate read tool from Bun.file() to Filesystem module
- CoreMigrate write tool from Bun.file() to Filesystem module
- CoreMigrate Edit tool from Bun.file() to Filesystem module
- CoreMigrate remaining tool files from Bun.file() to Filesystem/stat modules
- CoreMigrate storage.ts from Bun.file()/Bun.write() to Filesystem module
- CoreMigrate src/storage/json-migration.ts from Bun.file() to Filesystem module
- CoreMigrate MCP auth module from Bun file APIs to Filesystem module
- CoreMigrate storage database from Bun.file() to statSync for file existence checks
- CoreMigrate session prompt module from Bun.file() to Filesystem/stat modules
- CoreFix crash in
opencode runand show errored tool calls in output - CoreMigrate skill discovery to use Filesystem module instead of Bun file APIs
- CoreMigrate session instruction handling from Bun.file() to Filesystem module
- CoreMigrate provider.ts from Bun.file() to Filesystem module
- CoreMigrate shell.ts from Bun.file() to statSync for improved file system operations
- CoreMigrate log utility from Bun.file() to Node.js fs module for better compatibility
- CoreMigrate models.ts from Bun.file()/Bun.write() to Filesystem module
- CoreUse HashiCorp releases API for installing terraform-ls@edubxb
- CoreMigrate LSP server from Bun.file()/Bun.write() to Filesystem module
- CoreMigrate session command from Bun.file() to statSync for improved file system operations
- CoreMigrate agent.ts from Bun.file() to Filesystem module
- CoreMigrate auth module from Bun.file()/Bun.write() to Filesystem module
- CorePass sessionID and callID to shell.env hook input@tesdal
- CoreFix terminal cross-talk issue in the application
- CoreUpdate SST version
- CoreMigrate src/global/index.ts from Bun.file() to Filesystem module
- CoreEmit PROMPT_TOO_LARGE error when GitHub context overflows@elithrar
- CoreMigrate src/bun/index.ts from Bun.file()/Bun.write() to Filesystem module
- CoreMigrate config/markdown.ts from Bun.file() to Filesystem module
- CoreMigrate file/index.ts from Bun.file() to Filesystem module
- CoreMigrate format/formatter.ts from Bun.file() to Filesystem module
- CoreAllow readJson to be called without explicit type parameter
- CoreMigrate file/ripgrep.ts from Bun APIs to Filesystem module
- CoreMigrate index.ts from Bun.file() to Filesystem module
- CoreAdd Julia language server support@zarly
- CoreBump GitLab AI provider to 3.6.0 to add Sonnet 4.6 support@vglafirov
- CoreAdd centralized filesystem module for Bun.file migration
- CoreFix Clojure syntax highlighting@finalfantasia
- CoreEnsure explore subagent prompts for external directory permission instead of auto-denying
- CoreDon't autoload kilo
- CoreAdd Kilo as a native provider@Nomadcxx
- CoreSimplify redundant ternary in updateMessage@yikayiyo
- CoreEnsure Read tool uses fs/promises for all file system operations
- CoreMake read tool more memory efficient
- CoreSurface plugin auth providers in the login picker@anoldguy
- CoreInvalidate OAuth credentials when OAuth provider indicates they are invalid@GreenStage
- CoreDon't fetch models.dev on completion@gigamonster256
- CoreRecover state after SSE reconnect and harden SSE streams
- CoreKeep message part order stable when files resolve asynchronously
- CoreDrop IDs from attachments in tools and assign them in prompt.ts instead
- TerminalImprove GitHub action branch detection and handle 422 errors@elithrar
- TerminalEnsure onExit callback fires after terminal output is written
- TerminalMigrate TUI thread module from Bun.file() to Filesystem module
- TerminalMigrate agent command from Bun.file()/Bun.write() to Filesystem module
- TerminalMigrate import command from Bun.file() to Filesystem module
- TerminalUpdate pasteImage to only increment count when the previous attachment is an image@OpeOginni
- TerminalMigrate editor.ts from Bun.file()/Bun.write() to Filesystem module
- TerminalMigrate clipboard.ts from Bun.file() to Filesystem module
- TerminalMigrate CLI run command from Bun.file() to Filesystem/stat modules
- TerminalSession list --max-count parameter now correctly limits the number of sessions displayed@mharris717
- TerminalExit cleanly without hanging after session ends
- TerminalStyle scrollbox for permission and sidebar@akronb
- TerminalIncrease button heights and improve permission prompt layout alignment
- TerminalDisplay new session banner with logo and project details in TUI
v1.2.6 Add dfmt formatter support for D language files
Improvements 10
- CoreBump GitLab provider and auth plugin for mid-session token refresh@vglafirov
- CoreRemove unnecessary per-message title LLM calls@rmk40
- CorePrioritize user-defined variables over environment variables in Google Vertex AI configuration
- CoreAdd OpenAI-compatible endpoint support for Google Vertex provider@leehack
- CoreAdd Venice support for temperature, topP, topK, and smallOption parameters@dpuyosa
- CoreAdd cljfmt formatter support for Clojure files@finalfantasia
- TerminalMake use of server directory path for file references in prompts@OpeOginni
- TerminalAdd database migration command to convert JSON storage to SQLite
- TerminalAdd --continue and --fork flags to attach command
- TerminalFixed inaccurate tips in TUI@imanolmzd-svg
v1.2.5