OpenCode v1.2.18: Ghostty Terminal & Desktop Fixes

OpenCode v1.2.18 brings Ghostty terminal support to the desktop app, fixes stale component errors, and improves agent selection logic. 4 community contributors included.

OpenCode v1.2.18: Ghostty Terminal & Desktop Fixes

TL;DR

  • Forked Ghostty for web-based terminal implementation in desktop app
  • Fixed stale component errors, locale issues, and UI state persistence
  • Improved agent selection logic and error handling across the stack

New

  • Ghostty fork for web terminal — Desktop app now uses a forked Ghostty implementation for better terminal handling in the browser.
  • Desktop deep link support — Create new sessions directly via deep links on macOS.
  • Auth login options — Skip interactive questions in auth login command with new flags.
  • onClick handlers — InlineTool and Task components now support click handlers in the TUI.

Fixed

  • Stale keyed components — Desktop app now shows errors for stale component references instead of silently failing.
  • Locale error — Fixed locale initialization bug in desktop app.
  • Stale read error — Resolved race condition causing stale data reads.
  • Icon jiggle — UI polish: removed unwanted icon animation in app.
  • Search focus — Open search with Mod+F even when editor isn't focused.
  • Question dock state — Preserve dock state when switching between sessions.
  • Agent selection logic — Correctly pass configured models and variants to agent selection.
  • Server error formatting — Improved error handling and translation in desktop server errors.
  • SIGHUP handling — Core process now gracefully handles SIGHUP signal and exits cleanly.

Changed

  • Provider settings consistency — Improved consistency across provider configuration in app.
  • macOS entitlements — Removed unnecessary entitlements from macOS build.
  • Location hook — Prefer useLocation hook over window.location in app code.
  • SDK package.json — Updated SDK dependencies.

Install the latest: npm install opencode@1.2.18 or check the release page.

Source: OpenCode