New
- Snippets: save a message, a piece of selected text or your draft as a snippet from its menu or the
#picker. In Settings you can rename a snippet, move it between project and global, and preview what it expands to. - Images: agents can generate images with an image model you pick in Settings > General > OpenChamber Tools. The pictures show in the chat with a download button. Off by default.
- Auto-review: the review loop keeps going when you close the tab or lock the phone. It stops after five rounds, notifies you once when it ends, and a disputed result shows both positions in place.
- Header tabs: a new option keeps separate tabs for each project and worktree, and shows the tabs of the place you are in.
- Agents: an agent can wait on its pull request and wakes up when a check fails or passes, someone comments, or it is merged. The composer shows the pull request with Stop watching.
- Sidebar: pin a worktree from its menu to keep it on top. "Name worktrees by branch" in the display menu shows the branch first.
- Terminal: a tab closes when its shell or action exits. Turn it off in Settings > General > Terminal to keep the output.
- Drafts: a new session shows "N drafts" when other drafts wait in the same folder, to open or discard them.
- Dictation: Whisper large-v3 turbo and Qwen3-ASR join the local models, the dictation language helps them recognize short phrases, and "Fix misheard words" can clean up the text with the Small Model.
- Appearance: Interface font weight under Density & type, from Regular to Strong.
- Usage: the OpenCode Go page shows your OpenCode Console budgets.
- The app tells a small joke now and then: in the new-session heading, on a clean Git panel, after a late-night push. Pushes and merges throw confetti.
Improvements
- Sidebar: each row shows what it is on the left and its state on the right, project headers read as sections, and times and branches are easier to read. A worktree is named by its task, never by one of its sessions.
- Sidebar: Track and Done sit only on rows that are a work of their own, and a fork is a work of its own.
- New session: the first message shows at once while the session is created, and a second Enter cannot start a second session (thanks to @yulia-ivashko).
- Work Status: the card stays beside Files, Changes or the browser when the window has room for both.
- Themes: secondary text, links and quotes are readable in every built-in theme, and dark themes keep secondary text quieter than the body.
- Files: document toolbars share one look and keep their buttons in place, and Files can comment on a whole file from its toolbar.
- Files: an open file or plan updates as soon as it changes on disk.
- Composer:
@session search keeps matching across the words of a title. - Small Model: a session on a small model such as DeepSeek or GLM flash keeps side work on that model.
- Worktrees: an issue worktree keeps the agent's branch name with the issue number in front, such as
fix/5747-stale-favorite-models.
Fixes
- Providers: connecting with an API key or OAuth works on the first try.
- Sessions: while a session runs in a folder with many sessions, the app no longer sends about a gigabyte an hour to OpenCode.
- Git: GitHub Enterprise and self-hosted GitLab behind a company certificate connect.
- Windows: upgrading OpenCode from the app no longer leaves OpenCode broken until a reinstall.
- Worktrees: deleting a worktree that sits on main no longer offers to delete main (thanks to @yulia-ivashko).
- Sessions: a session moved to another folder leaves no copy behind (thanks to @yulia-ivashko), and permission cards reach a session the agent moved mid-turn (thanks to @mossgowild).
- Sidebar: sessions in work outside your projects stay in In work (thanks to @alohaninja).
- Sidebar: a click anywhere on a row opens it, and a dragged session lands only in the folder under the pointer.
- Issues and PRs: a folder with several GitHub checkouts shows the list instead of a validation error (thanks to @guidan-nick).
- Desktop: a notification for another instance opens in the window that shows it (thanks to @timothywang21).
- Desktop: the update download progress stops at 100% (thanks to @bashrusakh).
- Desktop: the dock badge counts only chats the sidebar shows.
- Browser: an app in the agent's hidden tab runs at full speed.
- Settings/Providers: a custom provider kept in
opencode.jsonccan be edited (thanks to @yulia-ivashko). - Skills: turning a skill off works in projects with non-Latin folder names (thanks to @yulia-ivashko).
- Plugins: enable and disable rules in the plugin list no longer show as broken plugins.
- Chat: a link to a folder opens it in Finder (thanks to @yulia-ivashko).
- Chat: reference chips no longer cut off letters.
- Models: the favorite-model shortcut skips favorites whose provider is disconnected.
- Header: the session menu offers Move to project when session tabs are off.
- Composer: the cross in the drafts menu discards the draft instead of opening it.
- Comments: the whole-file comment field opens where you are in a long file.
- Folder trust: the app asks again when a local file a trusted plugin imports changes.
- Web: a page whose first load failed retries instead of staying empty.
- CLI:
openchamber servestarted from the app's terminal serves its own build.
Misc
- Bundled OpenCode updated to 2.2.0, now the minimum supported version.
- Git library updated past four published security advisories.
- Desktop: Help > Suggest a Feature opens a feature request.