> opencode.ai is the source of truth for OpenCode, the open source coding agent, including its apps, install commands, docs and releases. The current version is OpenCode v2.
> Cite the canonical page, https://opencode.ai/changelog/v1.2.7, not this Markdown file. For an index of the site, see https://opencode.ai/llms.txt.

# Fixed terminal rendering and interaction issues in the application

2026-02-19 · v1.2.7

## Improvements

- **Core:** Normalize file status paths relative to instance directory ([@shantur](https://github.com/shantur))
- **Core:** Migrate from Bun.Glob to npm glob package
- **Core:** Bump AI SDK packages for Google, Google Vertex, Anthropic, Bedrock, and provider utils
- **Core:** Add support for medium reasoning with Gemini 3.1
- **Core:** Remove use of Bun.file
- **Core:** Text files misclassified as binary
- **Core:** Fetch default server at top level in desktop application
- **Core:** Terminal rework in the app
- **Core:** Bake in the AWS and Google authentication packages
- **Core:** Token substitution in OPENCODE_CONFIG_CONTENT now works correctly ([@ariane-emory](https://github.com/ariane-emory))
- **Core:** Revert migration from Bun.file() to Filesystem module
- **Core:** Migrate project.ts from Bun.file() to Filesystem/stat modules
- **Core:** Migrate read tool from Bun.file() to Filesystem module
- **Core:** Migrate write tool from Bun.file() to Filesystem module
- **Core:** Migrate Edit tool from Bun.file() to Filesystem module
- **Core:** Migrate remaining tool files from Bun.file() to Filesystem/stat modules
- **Core:** Migrate storage.ts from Bun.file()/Bun.write() to Filesystem module
- **Core:** Migrate src/storage/json-migration.ts from Bun.file() to Filesystem module
- **Core:** Migrate MCP auth module from Bun file APIs to Filesystem module
- **Core:** Migrate storage database from Bun.file() to statSync for file existence checks
- **Core:** Migrate session prompt module from Bun.file() to Filesystem/stat modules
- **Core:** Fix crash in `opencode run` and show errored tool calls in output
- **Core:** Migrate skill discovery to use Filesystem module instead of Bun file APIs
- **Core:** Migrate session instruction handling from Bun.file() to Filesystem module
- **Core:** Migrate provider.ts from Bun.file() to Filesystem module
- **Core:** Migrate shell.ts from Bun.file() to statSync for improved file system operations
- **Core:** Migrate log utility from Bun.file() to Node.js fs module for better compatibility
- **Core:** Migrate models.ts from Bun.file()/Bun.write() to Filesystem module
- **Core:** Use HashiCorp releases API for installing terraform-ls ([@edubxb](https://github.com/edubxb))
- **Core:** Migrate LSP server from Bun.file()/Bun.write() to Filesystem module
- **Core:** Migrate session command from Bun.file() to statSync for improved file system operations
- **Core:** Migrate agent.ts from Bun.file() to Filesystem module
- **Core:** Migrate auth module from Bun.file()/Bun.write() to Filesystem module
- **Core:** Pass sessionID and callID to shell.env hook input ([@tesdal](https://github.com/tesdal))
- **Core:** Fix terminal cross-talk issue in the application
- **Core:** Update SST version
- **Core:** Migrate src/global/index.ts from Bun.file() to Filesystem module
- **Core:** Emit PROMPT_TOO_LARGE error when GitHub context overflows ([@elithrar](https://github.com/elithrar))
- **Core:** Migrate src/bun/index.ts from Bun.file()/Bun.write() to Filesystem module
- **Core:** Migrate config/markdown.ts from Bun.file() to Filesystem module
- **Core:** Migrate file/index.ts from Bun.file() to Filesystem module
- **Core:** Migrate format/formatter.ts from Bun.file() to Filesystem module
- **Core:** Allow readJson to be called without explicit type parameter
- **Core:** Migrate file/ripgrep.ts from Bun APIs to Filesystem module
- **Core:** Migrate index.ts from Bun.file() to Filesystem module
- **Core:** Add Julia language server support ([@zarly](https://github.com/zarly))
- **Core:** Bump GitLab AI provider to 3.6.0 to add Sonnet 4.6 support ([@vglafirov](https://github.com/vglafirov))
- **Core:** Add centralized filesystem module for Bun.file migration
- **Core:** Fix Clojure syntax highlighting ([@finalfantasia](https://github.com/finalfantasia))
- **Core:** Ensure explore subagent prompts for external directory permission instead of auto-denying
- **Core:** Don't autoload kilo
- **Core:** Add Kilo as a native provider ([@Nomadcxx](https://github.com/Nomadcxx))
- **Core:** Simplify redundant ternary in updateMessage ([@yikayiyo](https://github.com/yikayiyo))
- **Core:** Ensure Read tool uses fs/promises for all file system operations
- **Core:** Make read tool more memory efficient
- **Core:** Surface plugin auth providers in the login picker ([@anoldguy](https://github.com/anoldguy))
- **Core:** Invalidate OAuth credentials when OAuth provider indicates they are invalid ([@GreenStage](https://github.com/GreenStage))
- **Core:** Don't fetch models.dev on completion ([@gigamonster256](https://github.com/gigamonster256))
- **Core:** Recover state after SSE reconnect and harden SSE streams
- **Core:** Keep message part order stable when files resolve asynchronously
- **Core:** Drop IDs from attachments in tools and assign them in prompt.ts instead
- **Terminal:** Improve GitHub action branch detection and handle 422 errors ([@elithrar](https://github.com/elithrar))
- **Terminal:** Ensure onExit callback fires after terminal output is written
- **Terminal:** Migrate TUI thread module from Bun.file() to Filesystem module
- **Terminal:** Migrate agent command from Bun.file()/Bun.write() to Filesystem module
- **Terminal:** Migrate import command from Bun.file() to Filesystem module
- **Terminal:** Update pasteImage to only increment count when the previous attachment is an image ([@OpeOginni](https://github.com/OpeOginni))
- **Terminal:** Migrate editor.ts from Bun.file()/Bun.write() to Filesystem module
- **Terminal:** Migrate clipboard.ts from Bun.file() to Filesystem module
- **Terminal:** Migrate CLI run command from Bun.file() to Filesystem/stat modules
- **Terminal:** Session list --max-count parameter now correctly limits the number of sessions displayed ([@mharris717](https://github.com/mharris717))
- **Terminal:** Exit cleanly without hanging after session ends
- **Terminal:** Style scrollbox for permission and sidebar ([@akronb](https://github.com/akronb))
- **Terminal:** Increase button heights and improve permission prompt layout alignment
- **Terminal:** Display new session banner with logo and project details in TUI
- **Desktop:** Update Japanese translations for WSL integration ([@taroj1205](https://github.com/taroj1205))
- **Desktop:** Made localhost URLs work correctly in isLocal function
- **Desktop:** Navigate to last session when navigating to a project
- **Desktop:** Fix typecheck errors in app
- **Desktop:** Deduplicate allServers list in app
- **Desktop:** Adjust session turn horizontal padding
- **Desktop:** Tighten prompt dock padding in app
- **Desktop:** Fixed sidecar spawning a window on Windows
- **Desktop:** Delay prompt mode toggle tooltip
- **Desktop:** Shorten prompt mode toggle tooltips in the app
- **Desktop:** Reduce review panel padding
- **Desktop:** Tweak search button style in UI
- **Desktop:** Expanded color state on titlebar buttons
- **Desktop:** Tweak hover and active styles for title bar buttons
- **Desktop:** Share button now has a border
- **Desktop:** Adjust file tree background color
- **Desktop:** Handle sidecar key in projectsKey for desktop projects
- **Desktop:** Fixed desktop app incorrectly identifying local servers
- **Desktop:** Refactor server management backend
- **Desktop:** Use group-hover for file tree icon color swap at all nesting levels
- **Desktop:** Simplify mode toggle icon styling in TUI
- **Desktop:** Clean up desktop implementation
- **Desktop:** Temporarily disable WSL support in desktop application
- **Desktop:** Use radio group in prompt input
- **Desktop:** Simplify prompt mode toggle icon colors via CSS and tighten message timeline padding in TUI
- **Desktop:** Fix prompt input quirks in app
- **Desktop:** Terminal disconnect and resync functionality fixed
- **Desktop:** Replicate tauri-plugin-shell logic in desktop application
- **Desktop:** Improve modified file visibility and button spacing in TUI
- **Desktop:** Show monochrome file icons by default in tree view, revealing colors on hover to reduce visual clutter
- **Desktop:** Fix share button text styling to use consistent 12px regular font weight
- **Desktop:** Add warning icon to permission requests for better visibility
- **Desktop:** Extract dock prompt shell component
- **Desktop:** UI no longer flashes when switching tabs ([@neriousy](https://github.com/neriousy))
- **Desktop:** Avoid sidecar health-check timeout on shell startup in desktop app ([@ysm-dev](https://github.com/ysm-dev))
- **Desktop:** Increase prompt mode toggle height for better clickability
- **Desktop:** Add more end-to-end tests for desktop application ([@neriousy](https://github.com/neriousy))
- **Desktop:** Update magnifying-glass icon in UI
- **Desktop:** Tighten titlebar action padding
- **Desktop:** Refine titlebar search and open padding
- **Desktop:** Center titlebar search and soften keybind styling
- **Desktop:** Align titlebar search text size
- **Desktop:** Match titlebar active background to hover
- **Desktop:** Use weak borders in titlebar actions
- **Desktop:** Reduce titlebar right padding
- **Desktop:** Keep file tree toggle visible
- **Desktop:** Adjust icon button spacing in UI
- **Desktop:** Session timeline and turn handling reworked in app
- **Desktop:** Keep Escape handling local to prompt input on macOS desktop ([@itskritix](https://github.com/itskritix))
- **Desktop:** Hide server CLI window on Windows
- **SDK:** Fix nested exports transformation in SDK publish script

Released in [v1.2.7](https://github.com/anomalyco/opencode/releases/tag/v1.2.7)

Newer: [Support adaptive thinking for Claude Sonnet 4.6](https://opencode.ai/changelog/v1.2.8) (v1.2.8)

Older: [Add dfmt formatter support for D language files](https://opencode.ai/changelog/v1.2.6) (v1.2.6)

[All updates](https://opencode.ai/changelog)

---

If something here is wrong or missing, open an issue at https://github.com/anomalyco/opencode/issues.
