Skip to content

Releases: anomalyco/opencode

v1.2.27

16 Mar 02:34

Choose a tag to compare

Core

  • Fixed VCS watcher if statement logic
  • Delete legacy permission module
  • Clean up pending entry when question is aborted
  • Remove SIGHUP exit handler
  • Effectify PermissionNext and fix InstanceState ALS bug
  • Inline branded ID schemas
  • Refactor QuestionService to use effects
  • Ensure that compaction message is tracked as agent initiated
  • Increase default chunk timeout from 2 minutes to 5 minutes
  • Fix lost sessions across worktrees and orphan branches (@michaeldwan)

Desktop

  • Remove open label from UI
  • Handle multiline web paste in prompt composer

Thank you to 4 community contributors:

v1.2.26

13 Mar 16:33

Choose a tag to compare

Core

  • Scaffold effect-to-zod bridge for schema conversion
  • Serialize configuration for Bun installations
  • Support text attachments in app
  • Paginate session history for improved server performance
  • Sessions lost after git init in existing project (@michaeldwan)
  • Fail fast on config dependency installs in end-to-end tests
  • Filter empty content blocks for Bedrock provider (@Tom-Ryder)
  • Refactor ProviderAuthService to use Effect pattern
  • Add console account subcommands to CLI
  • Refactor AuthService to use Effect pattern

TUI

  • Hide console command from help output
  • Remove OpenRouter warning
  • Reorder provider list in providers login

Desktop

  • Model selection now persists by session
  • Polish prompt composer controls
  • Synchronize sidebar state across the application
  • Use new-session icon in sidebar buttons
  • Avoid clipping new session during sidebar animation
  • Animate titlebar controls on sidebar open
  • Restore sidebar dash and sync session spinner colors
  • Fork should copy prompt into new session
  • Improved sidebar spacing and session list spinner transition
  • Terminal cloning without retry
  • Scroll falls behind prompt input
  • Adjust spacing in todo list component
  • Better optimistic prompt submit in app
  • Synchronize internationalization translations
  • Use cursor session history loading for improved performance
  • List item background colors fixed in app
  • Stabilize todo dock end-to-end tests with composer probe
  • Desktop multi-window support added to Electron
  • Increase CI end-to-end test workers

Thank you to 2 community contributors:

v1.2.25

12 Mar 23:34

Choose a tag to compare

Core

  • Support non-OpenAI Azure models that use completions endpoints
  • Flow branded ProviderID and ModelID through internal signatures
  • Brand ProviderID and ModelID types for improved type safety
  • Remove external sourcemap generation to reduce build artifacts
  • Brand PermissionID, PtyID, QuestionID, and ToolID types for improved type safety
  • Add ARM64 release targets for Windows CLI and desktop
  • Brand PartID through Drizzle and Zod schemas
  • Brand WorkspaceID through Drizzle and Zod schemas
  • Resolve symlinks in Instance cache to prevent duplicate contexts (@jmylchreest)
  • Brand SessionID through Drizzle and Zod schemas
  • Restore plugin serverUrl getter so plugins can connect to local server
  • Re-enable snapshot in ACP (@noamzbr)
  • Adjust skill presentation to reduce token usage
  • Brand ProjectID through Drizzle and Zod schemas
  • Tighten effect-based account flows
  • Read stdout and stderr in PackageRegistry.info before waiting for process to exit (@ghost91-)
  • Improve skill presentation to agent to increase likelihood of skill invocations
  • Hide Windows background consoles in Electron
  • Add GOOGLE_VERTEX_LOCATION environment variable support for Vertex AI (@SOUMITRO-SAHA)
  • Implement resilient organization data fetching with error handling
  • Make account login upgrades safe while adding multi-account workspace authentication
  • Don't permit access to system directories
  • Allow passing workspaceID into session create endpoint
  • Fixed chunk timeout when processing LLM stream
  • Make worktrees read the project ID from local workspace
  • Add thinking variants support for SAP AI provider (@jerome-benoit)
  • Upgrade OpenTUI to v0.1.87
  • Fix OAuth auto-connect failing on first MCP connection (@domdomegg)
  • Extract createApp function for server initialization
  • Put workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag
  • Replace Bun semver with npm semver package
  • Replace Bun shell with direct spawn calls in core flows
  • Change pathToFileURL imports from bun to url module
  • Multiple jdtls LSPs eating memory in Java monorepos (@stevoland)

TUI

  • Use parse() at boundaries instead of manual make() for imports
  • Wait for model store before auto-submitting --prompt in TUI (@altendky)
  • Handle error when creating a session in TUI

Desktop

  • Fix broken mobile sidebar sizing issue in workflows mode (@5w14)
  • Fixed terminal animation in application
  • Fix sidebar quirks in app
  • Rework default server initialization and connection handling in desktop client
  • Fix terminal e2e test flakiness by implementing a real terminal driver
  • Set default WebSocket username and fix terminal spawn lifecycle issues in desktop app (@OpeOginni)
  • Theme Windows titlebar overlay in Electron
  • Guard comment accessor in message timeline
  • Re-focus prompt after terminal opens in slash-terminal test
  • Restore to message and fork session functionality in app
  • Todos not clearing in app
  • Skip editor reconcile during IME composition (@ysm-dev)
  • Simplify review pane
  • Trim session render work in app for improved performance
  • Fix tests in app package
  • Fixed terminal jank in the app
  • Fixed terminal focus issues and reduced jank in the app
  • Add debug window to app
  • Display development statistics in the application
  • Terminal state corruption fixed

SDK

  • Fix ESM imports for @opencode-ai/plugin

Thank you to 15 community contributors:

  • @stevoland:
    • fix: Multiple jdtls LSPs eating memory in java monorepos (#12123)
  • @altendky:
    • fix(tui): wait for model store before auto-submitting --prompt (#7476)
  • @bhaktatejas922:
    • docs: update opencode-morph-fast-apply to opencode-morph-plugin in ecosystem (#16634)
    • docs: update opencode-morph-plugin in all language ecosystem pages (#16869)
  • @domdomegg:
    • fix(mcp): fix OAuth auto-connect failing on first connection (#15547)
  • @jerome-benoit:
    • fix(opencode): add thinking variants support for SAP AI provider (#14958)
  • @SOUMITRO-SAHA:
    • fix: add GOOGLE_VERTEX_LOCATION env var support for Vertex AI (#16922)
  • @neriousy:
    • fix(app): make error tool card respect settings (#17005)
  • @andyWang1688:
    • docs(providers): clarify npm choice for chat vs responses APIs (#16974)
  • @ghost91-:
    • fix(core): read stdout and stderr in PackageRegistry.info before waiting for the process to exit (#16998)
  • @ysm-dev:
    • fix(app): skip editor reconcile during IME composition (#17041)
  • @noamzbr:
    • fix: re-enable snapshot in acp (#14918)
  • @jmylchreest:
    • fix: resolve symlinks in Instance cache to prevent duplicate contexts (#16651)
  • @OpeOginni:
    • fix(desktop): set default WebSocket username and prevent repeated calling of terminal spawn properly closing the terminal (#17061)
  • @5w14:
    • fix(web): fix broken mobile sidebar (in workflows mode) sizing issue by adding flex-1 (#17055)
  • @Wangmerlyn:
    • docs: clarify subagent session navigation keybinds (#16455)

v1.2.24

09 Mar 16:10

Choose a tag to compare

Core

  • Add initial support for workspaces into the TUI
  • Send context-1m-2025-08-07 beta header to GitLab to enable 1M context window (@Krule)
  • Add Copilot GPT-5.4 xhigh support

Desktop

  • Fix scroll jitter and loop issues in app
  • Session title turn spinner now displays correctly
  • Dismiss toast notifications when questions or permissions are resolved (@neriousy)

Thank you to 3 community contributors:

  • @Krule:
    • feat(gitlab): send context-1m-2025-08-07 beta header to enable 1M context window (#16153)
  • @ShriKaranHanda:
    • fix(storybook): add ci build workflow (#16760)
  • @neriousy:
    • fix(app): dismiss toast notifications when questions or permissions a… (#16758)

v1.2.23

09 Mar 13:51

Choose a tag to compare

Core

  • Disable fallback to free nano for small model requests

TUI

Desktop

  • Remove oc-1 theme from app
  • Fix sidebar workspace container sizing to prevent content overflow
  • Don't animate review panel in/out
  • Revert "Stupid Sexy Timeline" feature
  • Sanitize workspace store filenames on Windows
  • Generate color palettes in app

Thank you to 3 community contributors:

v1.2.22

08 Mar 22:35

Choose a tag to compare

Core

  • Canonicalize current working directory after changing directories in TUI
  • Fix broken MCP toggling in TUI (@natewill)
  • Update database path test to verify correct channel-based filename
  • Allow beta channel to share database with stable channel
  • Add OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations

TUI

  • Guard TUI exit to prevent premature termination
  • Avoid TTY corruption from double cleanup (@tobwen)

Desktop

  • Fix sidebar background color when collapsed
  • Suppress hover when opening project menu or right-clicking to prevent flickering
  • Trim retained desktop terminal buffers
  • Messages not loading reliably
  • Prune and evict stale app session caches
  • Restore new-session logo on dev so users recognize OpenCode immediately
  • Revert new session logo on dev branch to ship UI change with auto-accept-permissions feature
  • Add OpenCode logo to new session screen for immediate app identification
  • Revert prompt control docking in TUI
  • Dock auto-accept after thinking and move Add file to bottom-left
  • Balance titlebar columns so center content doesn't get squeezed by long side content
  • Center empty states vertically in session view and improve review panel messaging for projects without version control
  • Review panel transition fixed in app

Thank you to 3 community contributors:

  • @natewill:
    • fix(tui): fix broken /mcp toggling (#16431)
  • @tobwen:
    • fix(opencode): avoid TTY corruption from double cleanup (#16565)
  • @Bezkup:
    • docs(zen.mdx): correct Italian grammar and punctuation errors (#16590)

v1.2.21

07 Mar 18:01

Choose a tag to compare

Core

  • Preserve original line endings in edit tool (@ranqn)
  • Fix Git path resolution for modified files across Git Bash, MSYS2, and Cygwin on Windows
  • Fix PTY session handle leak (@kikuchan)
  • Sanitize preview database filenames
  • Log stack trace when schema validation fails
  • I need to see the actual commit diff to understand what was fixed and provide an accurate changelog entry.
  • Add project git init API
  • Update Drizzle and channel database handling
  • Speed up share loads
  • Enable auto-accept keybind regardless of permission config (@luisfelipesena)

TUI

  • Fix broken /export toggling in TUI (@natewill)

Desktop

  • Guard session-header current() against undefined when options is empty (@cyberprophet)
  • Preserve file tree tab on reopen and fix e2e test regressions (@neriousy)
  • Remove close button from project hover popover
  • New session uses agent model/variant
  • Model sticks to session after being changed
  • Based on the commit message "fix(app): all panels transition", here's the changelog entry:

All panels transition correctly

  • Can't scroll files in app
  • Fix maximum width on timeline component
  • Align session empty states in TUI
  • Add interactive timeline visualization feature
  • Share workspace slug wait helper across e2e specs
  • Abort sessions and wait for idle before e2e cleanup
  • Show skill issue when snapshotting is off in desktop app
  • Fix portal positioning for sidebar menus and tooltips by removing conditional mount logic
  • Add end-to-end tests for app (part 67) (@neriousy)
  • Add sidebar reveal animation, hover peek overlay, and weaker dividers to app
  • Better review and file tree empty states
  • Enable Safari autocorrect in normal mode, disable in shell mode (@alexandrereyes)
  • Revert stale read error fix in app
  • Add English to locale matchers (@KirillTregubov)

Thank you to 12 community contributors:

  • @luisfelipesena:
    • fix(app): enable auto-accept keybind regardless of permission config (#16259)
  • @imdzx:
    • feat: Add Vietnamese README and update all language navigation links … (#16322)
  • @KirillTregubov:
    • fix(app): add english to locale matchers (#16280)
  • @hoshiumiarata:
    • fix(ui): prevent unwanted key events during composition in LineCommentEditor (#16361)
  • @alexandrereyes:
    • fix(app): enable Safari autocorrect in normal mode, disable in shell mode (#15563)
  • @neriousy:
    • tests(app): e2e tests part 67 (#16406)
    • fix(app): preserve file tree tab on reopen + fix e2e test regressions (#16482)
  • @kikuchan:
    • fix(pty): pty session handle leak (#15599)
  • @ShriKaranHanda:
    • fix(config): point GitHub PR search tool at current repository (#16441)
    • fix(storybook): restore build by mocking useLocation (#16472)
  • @natewill:
    • fix(tui): fix broken /export toggling (#16443)
  • @ranqn:
    • fix(opencode): preserve original line endings in 'edit' tool (#9443)
  • @cyberprophet:
    • fix(app): guard session-header current() against undefined when options is empty (#16478)
  • @Eric-Guo:
    • fix(app): text-shimmer undefined length (#16475)

v1.2.20

06 Mar 07:29

Choose a tag to compare

Core

  • Stop leaking fsmonitor daemons that caused 60GB+ of committed memory after running tests
  • Replace Bun.which with npm which in OpenCode

TUI

  • Restore Bun stdin reads for prompt input

v1.2.19

06 Mar 04:29

Choose a tag to compare

Core

  • Add GPT-5.4 to Codex allowed models list (@msadiks)
  • Replace Bun.stderr and Bun.color with Node.js equivalents
  • Replace Bun.connect with net.createConnection for better compatibility
  • Use SHA1 for hash instead of unsupported xxHash3-XXH64
  • Replace Bun.hash with Hash.fast using xxhash3-xxh64
  • Replace Bun.write with Filesystem.write in config files
  • Replace Bun.write/file with Filesystem utilities in snapshot
  • Replace Bun.sleep with Node.js timers for better compatibility

TUI

  • Use node:stream/consumers for stdin reading
  • Replace Bun.stdin.text with Node.js stream reading for better compatibility

Desktop

  • Fix stale show in app (@neriousy)
  • Remove keyboard shortcut tooltips from new session and new workspace buttons in the sidebar
  • Load tab when opening file

Thank you to 3 community contributors:

v1.2.18

05 Mar 19:01

Choose a tag to compare

Core

  • Handle SIGHUP signal and kill process gracefully

TUI

  • Add onClick handler to InlineTool and Task components
  • Add options to auth login command to skip interactive questions (@dbpolito)
  • Don't let Dax touch the UI

Desktop

  • Fork Ghostty for web-based terminal implementation
  • Show errors for stale keyed components
  • Fixed locale error in app
  • Resolve stale read error in app
  • Improve provider settings consistency in app
  • Preserve question dock state across session switches (@ualtinok)
  • Fix icon jiggle in app
  • Open search with Mod+F even when editor is not focused
  • Improve error handling and translation in desktop server error formatting (@OpeOginni)
  • Improve agent selection logic to correctly pass configured models and variants (@OpeOginni)
  • Remove unnecessary macOS entitlements
  • Add desktop deep link support for creating new sessions
  • Prefer using useLocation hook instead of window.location in app

SDK

  • Update SDK package.json

Thank you to 4 community contributors:

  • @stolinski:
    • docs: Add opencode-sentry-monitor to ecosystem documentation (#16037)
  • @dbpolito:
    • feat(opencode): Adding options to auth login to skip questions (#14470)
  • @OpeOginni:
    • fix(app): improve agent selection logic passing in configured models and variants correctly (#16072)
    • refactor(desktop): improve error handling and translation in server error formatting (#16171)
  • @ualtinok:
    • fix(app): preserve question dock state across session switches (#16173)