v1.1.49: Fix Session Freeze, Add Haskell Formatting
Release Date: February 3, 2026
One-Line Summary
This update fixes multiple critical issues including session freeze and file status calculation errors, adds Haskell code formatting support, and significantly improves desktop interaction experience.
Bug Fix: Session Freeze Issue
Previous Issue
When a session encountered an error, the status would get stuck in error state, preventing new sessions from starting.
Current Status
Fixed session state management. New sessions can start normally after errors. OpenCode no longer freezes.
New Feature: Haskell Code Formatting
What was updated?
Added Ormolu code formatter support for formatting Haskell code.
What is Ormolu?
Ormolu is a Haskell code formatting tool, similar to Prettier for JavaScript, that can automatically unify code style.
How to use?
When a project contains Haskell code, OpenCode will automatically use Ormolu for formatting.
New Feature: Custom mDNS Domain
What was updated?
Added --mdns-domain flag to customize mDNS hostname.
What's it for?
When accessing via LAN, you can customize a more friendly domain name.
How to use?
opencode --mdns-domain mydevice.localImprovement: Desktop Interaction Experience
Project Search
Now you can search projects on desktop to quickly find the project you want to open.
Session Navigation
Added keyboard shortcuts to switch between unread sessions.
Tab Close Shortcut
Added shortcut for closing tabs.
Responsive Design
Added breakpoints for optimized large screen layout.
Bug Fixes
File Status Calculation
Added and deleted files now correctly calculate status.
OpenAI Session Title Generation
Fixed session title generation issue when using OpenAI models.
Task Status Display
Fixed task status not showing current tool status.
Copilot Provider
Fixed Copilot provider system message content conversion issue.
Agent Variable Scope
Fixed agent variant not properly scoped to model.
@ Mention Hidden Files
Fixed issue where folders and files starting with . couldn't be mentioned with @.
Windows PTY Encoding
Added UTF-8 encoding defaults for Windows PTY.
Should You Upgrade?
| Situation | Recommendation |
|---|---|
| Experiencing session freeze | ✅ Highly recommended |
| Using Haskell | ✅ Recommended upgrade |
| Desktop users | ✅ Recommended upgrade |
| Everything working fine | Can wait for next time |
Upgrade command:
opencode upgradeTechnical Details (Skippable)
Click to expand full update list
Core
- Revert pull request that was mistakenly merged
- Add --mdns-domain flag to customize mDNS hostname (@luiz290788)
- Added and deleted file status now correctly calculated in app
- Add User-Agent header for GitLab AI Gateway requests (@vglafirov)
- Add Ormolu code formatter for Haskell (@mimi1vx)
- Use OpenTUI OSC52 clipboard implementation
- Convert system message content to string for Copilot provider (@jogi47)
- Give OPENCODE_CONFIG_CONTENT proper priority for setting config based on docs (@OpeOginni)
- Fixed session title generation with OpenAI models (@oomathias)
- Simplify directory tree output for prompts
- Fix task status to show current tool state from message store
- Allow starting new sessions after errors by fixing stuck session status
- Adjust resolve parts to properly order tool calls when messages contain multiple @ references
- Hide badge for builtin slash commands
- Add workspace tests to the app (@neriousy)
- Send custom agent prompts as developer messages instead of user messages when using Codex subscriptions
- Fixed variant logic for Anthropic models through OpenAI compatibility endpoint
- Add prompt caching support for Claude Opus on AWS Bedrock (@rgodha24)
- Scope agent variant to model (@neavo)
- Prevent duplicate AGENTS.md injection when reading instruction files (@code-yeongyu)
- OpenCode no longer hangs when using client.app.log() during initialization (@desmondsow)
- Remove outer backtick wrapper in session transcript tool formatting (@zerone0x)
- Allow user plugins to override built-in auth plugins (@JosXa)
- Binary file handling in file view (@alexyaroshuk)
- Ensure switching Anthropic models mid-conversation works without errors and fix reasoning opaque not being picked up for Gemini models
- Fix issue where folders and files starting with "." could not be mentioned with @
- Show actual retry error message instead of generic error message
- Use process.env directly for runtime environment mutations in provider (@jerome-benoit)
- Add reasoning variants support for SAP AI Core (@jerome-benoit)
- Add UTF-8 encoding defaults for Windows PTY (@01luyicheng)
TUI
- Respect terminal transparency in system theme (@pablopunk)
- Truncate session title in exit banner to prevent display overflow
- Show exit message banner in TUI
- Add spinner animation for Task tool
- Correct pluralization of match count in grep and glob tools (@adamjhf)
- Remove extra padding between search and results in dialog-select
- Add UI for skill tool in session view
- Conditionally render bash tool output in TUI
- Add skill dialog for selecting and inserting skills
- Enable password authentication for remote session attachment
- Fix documentation issues (@lailoo)
- Revert skill slash commands feature
- Add skill slash commands to the app
Desktop
- Fix prompt input overflow issue in app (@neriousy)
- Sidebar losing projects on collapse has been fixed
- Add workspace toggle command to command palette and prompt input (@alexyaroshuk)
- Search through sessions
- Standardize icon sizes in the application
- Navigate to last project on open
- User messages not rendering consistently
- Add project context menu on right-click
- Open project search in app (@neriousy)
- Add tab close keybind to app (@ProdigyRahul)
- Enhance responsive design with additional breakpoints for larger screen layout adjustments (@OpeOginni)
- Add keyboard shortcuts for navigating between unread sessions (@Brendonovich)
- Fix Rust build and bindings formatting in desktop application (@Brendonovich)
- Remove unnecessary setTimeout in desktop app (@Brendonovich)
- Throttle window state persistence in desktop application (@Brendonovich)
- Integrate tauri-specta for desktop application (@Brendonovich)
- Keep macOS titlebar stable under zoom (@Brendonovich)
- Kill zombie server process on startup timeout (@heyitsmohdd)
- Show skill and MCP badges for slash commands
- Use static language names in Thai localization (@alexyaroshuk)
- Add tests for general settings, shortcuts, providers and status popover (@neriousy)
- Fixed session header 'share' button to hug content (@alexyaroshuk)

