Changelog
New updates and improvements to OpenCode
v1.3.4 Add prompt slot feature
Improvements 39
- CoreUpdate opencode-gitlab-auth to 2.0.1@vglafirov
- CoreRefactored session processor to use effect-based architecture
- CoreUse AppFileSystem instead of raw Filesystem for better abstraction
- CoreUpgrade OpenTUI to version 0.1.91
- CoreAdjust bash tool description to increase cache hit rates between projects
- CoreUpdate Effect to version 4.0.0-beta.42
- CoreRefactor session compaction service to use Effect
- CoreAdd single target plugin entrypoints
- CoreUse ChildProcessSpawner instead of Process.spawn for formatting
- CoreMove more responsibility to workspace routing
- CoreRefactor Session service to use Effect-based architecture
- CoreAdd support for AI SDK v6
- CoreAdd additional overflow error patterns to error handling
- CoreFix flaky plugin tests by removing mock.module which is not supported in Bun
- CoreSplit out instance and route through workspaces
- CoreEffectify Plugin service internals
- CoreEffectify Skill service internals
- CoreAdd TUI plugins support
- CoreRefactor tool registry to yield Config and Plugin services using Effect.forEach
- CoreIgnore generated models snapshot files
- CoreReplace async git() with ChildProcessSpawner in VCS module
- CoreYield services instead of promise facades in Effect refactor
- CoreFixed web UI bundle build on Windows
- CoreImprove app startup performance
- CoreClose MCP transport on failed or timed-out connections
- CoreUse cachedInvalidateWithTTL for config and bump Effect to beta.37
- CoreRefactor Config service to use Effect
- CoreRemove workspace server and WorkspaceContext, improve routing architecture
- CoreAdd GPT prompt so non-Codex GPT models have their own system prompt modeled after Codex CLI
- CoreRefactor LSP service with InstanceState using Effect
- DesktopImproved app startup efficiency
- DesktopUse Azure Artifact Signing for Windows releases
- DesktopDefault file tree to closed with minimum width
- DesktopResize layout viewport when mobile keyboard appears@BYK
- DesktopPersist queued followups across project switches
- DesktopReduce markdown jank while responses stream in UI
- DesktopRemove fork session button from app
- DesktopDefault shell tool to collapsed state
- DesktopDon't bundle fonts in app
v1.3.3 Embed WebUI directly in the binary with configurable proxy flags
Improvements 12
- DesktopFix agent normalization in desktop app
- DesktopFix project switch flickering when using keybinds by pre-warming globalSync state
- DesktopMove message navigation from cmd+arrow to cmd+opt+[ / cmd+opt+] to preserve native cursor movement
- DesktopAdd createDirectory option to directory picker in Electron app
- DesktopRemove
.jsonextension from electron-store for seamless Tauri to Electron migration - CoreInitial implementation of event-sourced syncing system for session data
- CoreFix enterprise URL not being set properly during authentication flow
- CoreClassify ZlibError from Bun fetch as retryable instead of unknown error
- CoreSkip snapshotting files larger than 2MB to improve performance
- CoreRespect agent permission configuration for todowrite tool
- CoreFix DWS workflow tools being silently cancelled due to missing tool approval support
- CoreFix MCP servers disappearing after transient errors and improve OAuth handling
v1.3.0 Project Navigation
Project Navigation: Navigate between projects faster using keyboard shortcuts (cmd+option+arrow keys).
Improvements 12
- Desktop App ImprovementsFile Uploads: Desktop app now supports file type filters and multiple file selection when uploading files.
- Desktop App ImprovementsWorkspace Switching: Fixed visual flickering when switching between workspaces or projects - the interface now transitions smoothly without showing loading spinners during navigation.
- Desktop App ImprovementsSidebar Resize: Fixed issue where sidebar would automatically close when being resized to minimum width. The sidebar now clamps at minimum width instead of closing.
- Desktop App ImprovementsLoading States: Improved loading state management across the app for smoother, more consistent feedback during async operations.
- Desktop App ImprovementsConsole Login: Fixed console device login to properly handle pending authorization states, ensuring the login process continues polling instead of failing while waiting for approval.
- Providers & ModelsxAI Responses API: Improved xAI reasoning models performance in long multi-turn conversations by switching to the responses API with encrypted content support.
- Providers & ModelsGPT Model List: Updated the GPT subscription model list with the latest available models.
- Providers & ModelsVertex AI Fix: Fixed Vertex AI errors with non-thinking models (like gemini-2.0-flash) by only applying thinking configuration to models that support reasoning capabilities.
- Providers & ModelsvLLM Context Overflow: Improved error detection for vLLM context overflow errors, providing clearer feedback when context limits are exceeded during inference.
- Providers & ModelsCost Chunk Format: Fixed streaming error where cost data was sent in upstream provider format instead of client-requested format, preventing validation errors when mixing provider formats.
- Authentication & AccountStale Credentials: Fixed stale server URL and email on re-login. Previously, logging into a different server could fail due to cached credentials from a previous environment.
- Authentication & AccountCodex Access: OAuth plan users can now access codex instructions freely without the previous whitelisting restrictions.
v1.2.27 Fixed VCS watcher if statement logic
Improvements 11
- CoreDelete legacy permission module
- CoreClean up pending entry when question is aborted
- CoreRemove SIGHUP exit handler
- CoreEffectify PermissionNext and fix InstanceState ALS bug
- CoreInline branded ID schemas
- CoreRefactor QuestionService to use effects
- CoreEnsure that compaction message is tracked as agent initiated
- CoreIncrease default chunk timeout from 2 minutes to 5 minutes
- CoreFix lost sessions across worktrees and orphan branches@michaeldwan
- DesktopRemove open label from UI
- DesktopHandle multiline web paste in prompt composer
v1.2.26 Scaffold effect-to-zod bridge for schema conversion
Improvements 28
- CoreSerialize configuration for Bun installations
- CoreSupport text attachments in app
- CorePaginate session history for improved server performance
- CoreSessions lost after git init in existing project@michaeldwan
- CoreFail fast on config dependency installs in end-to-end tests
- CoreFilter empty content blocks for Bedrock provider@Tom-Ryder
- CoreRefactor ProviderAuthService to use Effect pattern
- CoreAdd console account subcommands to CLI
- CoreRefactor AuthService to use Effect pattern
- DesktopModel selection now persists by session
- DesktopPolish prompt composer controls
- DesktopSynchronize sidebar state across the application
- DesktopUse new-session icon in sidebar buttons
- DesktopAvoid clipping new session during sidebar animation
- DesktopAnimate titlebar controls on sidebar open
- DesktopRestore sidebar dash and sync session spinner colors
- DesktopFork should copy prompt into new session
- DesktopImproved sidebar spacing and session list spinner transition
- DesktopTerminal cloning without retry
- DesktopScroll falls behind prompt input
- DesktopAdjust spacing in todo list component
- DesktopBetter optimistic prompt submit in app
- DesktopSynchronize internationalization translations
- DesktopUse cursor session history loading for improved performance
- DesktopList item background colors fixed in app
- DesktopStabilize todo dock end-to-end tests with composer probe
- DesktopDesktop multi-window support added to Electron
- DesktopIncrease CI end-to-end test workers
v1.2.25 Support non-OpenAI Azure models that use completions endpoints
Improvements 53
- CoreFlow branded ProviderID and ModelID through internal signatures
- CoreBrand ProviderID and ModelID types for improved type safety
- CoreRemove external sourcemap generation to reduce build artifacts
- CoreBrand PermissionID, PtyID, QuestionID, and ToolID types for improved type safety
- CoreAdd ARM64 release targets for Windows CLI and desktop
- CoreBrand PartID through Drizzle and Zod schemas
- CoreBrand WorkspaceID through Drizzle and Zod schemas
- CoreResolve symlinks in Instance cache to prevent duplicate contexts@jmylchreest
- CoreBrand SessionID through Drizzle and Zod schemas
- CoreRestore plugin serverUrl getter so plugins can connect to local server
- CoreRe-enable snapshot in ACP@noamzbr
- CoreAdjust skill presentation to reduce token usage
- CoreBrand ProjectID through Drizzle and Zod schemas
- CoreTighten effect-based account flows
- CoreRead stdout and stderr in PackageRegistry.info before waiting for process to exit@ghost91-
- CoreImprove skill presentation to agent to increase likelihood of skill invocations
- CoreHide Windows background consoles in Electron
- CoreAdd GOOGLE_VERTEX_LOCATION environment variable support for Vertex AI@SOUMITRO-SAHA
- CoreImplement resilient organization data fetching with error handling
- CoreMake account login upgrades safe while adding multi-account workspace authentication
- CoreDon't permit access to system directories
- CoreAllow passing workspaceID into session create endpoint
- CoreFixed chunk timeout when processing LLM stream
- CoreMake worktrees read the project ID from local workspace
- CoreAdd thinking variants support for SAP AI provider@jerome-benoit
- CoreUpgrade OpenTUI to v0.1.87
- CoreFix OAuth auto-connect failing on first MCP connection@domdomegg
- CoreExtract createApp function for server initialization
- CorePut workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag
- CoreReplace Bun semver with npm semver package
- CoreReplace Bun shell with direct spawn calls in core flows
- CoreChange pathToFileURL imports from bun to url module
- CoreMultiple jdtls LSPs eating memory in Java monorepos@stevoland
- DesktopFix broken mobile sidebar sizing issue in workflows mode@5w14
- DesktopFixed terminal animation in application
- DesktopFix sidebar quirks in app
- DesktopRework default server initialization and connection handling in desktop client
- DesktopFix terminal e2e test flakiness by implementing a real terminal driver
- DesktopSet default WebSocket username and fix terminal spawn lifecycle issues in desktop app@OpeOginni
- DesktopTheme Windows titlebar overlay in Electron
- DesktopGuard comment accessor in message timeline
- DesktopRe-focus prompt after terminal opens in slash-terminal test
- DesktopRestore to message and fork session functionality in app
- DesktopTodos not clearing in app
- DesktopSkip editor reconcile during IME composition@ysm-dev
- DesktopSimplify review pane
- DesktopTrim session render work in app for improved performance
- DesktopFix tests in app package
- DesktopFixed terminal jank in the app
- DesktopFixed terminal focus issues and reduced jank in the app
- DesktopAdd debug window to app
- DesktopDisplay development statistics in the application
- DesktopTerminal state corruption fixed
v1.2.24 Add initial support for workspaces into the TUI
Improvements
- CoreSend context-1m-2025-08-07 beta header to GitLab to enable 1M context window@Krule
- CoreAdd Copilot GPT-5.4 xhigh support
- DesktopFix scroll jitter and loop issues in app
- DesktopSession title turn spinner now displays correctly
- DesktopDismiss toast notifications when questions or permissions are resolved@neriousy
v1.2.23 Disable fallback to free nano for small model requests
Improvements
- DesktopRemove oc-1 theme from app
- DesktopFix sidebar workspace container sizing to prevent content overflow
- DesktopDon't animate review panel in/out
- DesktopRevert "Stupid Sexy Timeline" feature
- DesktopSanitize workspace store filenames on Windows
- DesktopGenerate color palettes in app
v1.2.22 Canonicalize current working directory after changing directories in TUI
Improvements 17
- CoreFix broken MCP toggling in TUI@natewill
- CoreUpdate database path test to verify correct channel-based filename
- CoreAllow beta channel to share database with stable channel
- CoreAdd OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations
- DesktopFix sidebar background color when collapsed
- DesktopSuppress hover when opening project menu or right-clicking to prevent flickering
- DesktopTrim retained desktop terminal buffers
- DesktopMessages not loading reliably
- DesktopPrune and evict stale app session caches
- DesktopRestore new-session logo on dev so users recognize OpenCode immediately
- DesktopRevert new session logo on dev branch to ship UI change with auto-accept-permissions feature
- DesktopAdd OpenCode logo to new session screen for immediate app identification
- DesktopRevert prompt control docking in TUI
- DesktopDock auto-accept after thinking and move Add file to bottom-left
- DesktopBalance titlebar columns so center content doesn't get squeezed by long side content
- DesktopCenter empty states vertically in session view and improve review panel messaging for projects without version control
- DesktopReview panel transition fixed in app
v1.2.21 Preserve original line endings in edit tool
Improvements 29
- CoreFix Git path resolution for modified files across Git Bash, MSYS2, and Cygwin on Windows
- CoreFix PTY session handle leak@kikuchan
- CoreSanitize preview database filenames
- CoreLog stack trace when schema validation fails
- CoreI need to see the actual commit diff to understand what was fixed and provide an accurate changelog entry.
- CoreAdd project git init API
- CoreUpdate Drizzle and channel database handling
- CoreSpeed up share loads
- CoreEnable auto-accept keybind regardless of permission config@luisfelipesena
- DesktopGuard session-header current() against undefined when options is empty@cyberprophet
- DesktopPreserve file tree tab on reopen and fix e2e test regressions@neriousy
- DesktopRemove close button from project hover popover
- DesktopNew session uses agent model/variant
- DesktopModel sticks to session after being changed
- DesktopBased on the commit message "fix(app): all panels transition", here's the changelog entry:
- DesktopCan't scroll files in app
- DesktopFix maximum width on timeline component
- DesktopAlign session empty states in TUI
- DesktopAdd interactive timeline visualization feature
- DesktopShare workspace slug wait helper across e2e specs
- DesktopAbort sessions and wait for idle before e2e cleanup
- DesktopShow skill issue when snapshotting is off in desktop app
- DesktopFix portal positioning for sidebar menus and tooltips by removing conditional mount logic
- DesktopAdd end-to-end tests for app (part 67)@neriousy
- DesktopAdd sidebar reveal animation, hover peek overlay, and weaker dividers to app
- DesktopBetter review and file tree empty states
- DesktopEnable Safari autocorrect in normal mode, disable in shell mode@alexandrereyes
- DesktopRevert stale read error fix in app
- DesktopAdd English to locale matchers@KirillTregubov