You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[2.0.0] - 2026-09-23
New
OpenCode 2: OpenChamber now runs on OpenCode 2. Skills, agents, commands, MCP servers, plugins and settings apply the moment you save them, even in a session that is already running, with no OpenCode restart. Read the story on our blog.
Code Mode: the agent can call your MCP tools and the tools your plugins add from one short script, so a multi-step lookup takes one step and far less context. The chat shows a Script row with every call it made, and you can turn it off per MCP server in Settings.
Stats: a bar-chart button at the bottom of the sidebar opens your usage over time: sessions, prompts, tokens, cost, active days, daily activity and a breakdown by model, for any range and project.
Web search: results show as cards with the site, title, date and snippet, the first-use provider question has its own card, and Settings has a Web search page for the provider and its keys.
Settings/MCP: sign in to remote MCP servers that use OAuth, see why a server asks for authorization, and choose its protocol version and OAuth metadata URL.
Settings/Plugins: each plugin shows whether OpenCode actually loaded it, with the error when it didn't, and plugins without a pinned version can be updated.
Settings/Providers: custom provider models can list reasoning levels, which you then pick in the model selector.
Settings/Providers: OpenCode Go can be connected by signing in to the OpenCode Console.
Chat: fork a session from an agent answer, or start a new session or multi-run from it.
Sidebar: a Timeline view lists recent sessions from every project in one chronological list. Switch between Grouped and Timeline in the display menu at the top of the sidebar.
Extensions as the agent's browser: an installed extension can stand in for the agent's browser, with a Browser provider dropdown in Settings and a live picture in the rail that you can click to take over and hand back to the agent.
File previews: play audio and video, browse CSV tables, inspect fonts, and view diagrams directly in the files panel.
Files: upload files from a folder's menu or the file tree toolbar, including photos and files from your phone.
Files: the agent can open a generated file in the app for you to inspect.
Sidebar: an empty project group has a button to start a session in it.
Themes: new built-in Cursor and Osaka Jade Refined palettes.
Improvements
Chat: writing /skill anywhere in a message loads that skill with the message every time, including when you steer a running turn.
Chat: permission requests say in plain words what the agent wants to do and where, and "Always" names exactly what it will allow.
Chat: permission requests and forms appear above the message box, and forms walk through their questions one step at a time.
Memory: agents save what they learn without being asked to "remember", memory reaches review, multi-run and scheduled sessions, and agents stop re-reading the same entries every turn.
Chat: the model name and context meter are right from the start of a turn.
Settings: the theme picker is searchable, and settings dropdowns share one width and cut long values cleanly.
Themes: softer text and borders in the built-in dark themes.
Mobile: selected-text comments use the composer, with a quote preview and attachment controls; rejected comments keep their draft (thanks to @ChangeHow).
Sessions: optional animated activity indicators show running sessions across lists, Timeline, tabs, and switchers (thanks to @mattv8).
Sessions: the session list opens faster and scrolls smoothly through long lists.
Sessions: idle chats and the work status panel use less memory.
Reviews: new review sessions inherit the current session's permission auto-accept setting.
Desktop: the app opens faster, the window shows up right away.
Mobile: start a new chat directly from the Chats section of the session list.
Mobile: opening the branch picker keeps the keyboard closed until you search.
Fixes
Sessions: a session whose subagents are still working stays marked as running, and the ready notification, queued messages and auto-review wait for them.
Sessions: archiving or restoring a session keeps its title.
Sidebar: renaming a session or updating its notes no longer moves it to the top of the list.
Chat: the subagent link on a task card works as soon as the subagent starts.
Chat: Git status and diffs refresh after agent edits, shell commands and failed patches.
Chat: edit and patch rows show their added and removed line counts again.
Settings/Agents: editing the built-in build or plan agent no longer turns it into a subagent that disappears from the picker.
Web: a public tunnel won't start until a UI password is set.
Startup: with OpenCode 1.x installed, the app shows a screen to update to OpenCode 2, with one-click install on macOS, Linux and Windows.
Desktop: you can switch instances from the startup recovery screen, and dialogs respond to clicks near the window's title bar.
Sessions: the sidebar lists recover after a failed first load.
Windows: session lists page correctly beyond the first page (thanks to @XiaChuerwu).
Sidebar: Recent rows in a worktree show the branch and pull request in their tooltip (thanks to @bashrusakh).
Chat: an agent no longer refuses to send a prompt or remember something you explicitly asked for.
Chat: agent browser tabs open in the background without taking over the side panel.
Mobile: Enter adds a new line; buttons and external-keyboard Ctrl/Cmd+Enter send the message (thanks to @ChangeHow).
Mobile: selecting chat text no longer opens the sessions or workspace drawer by accident (thanks to @ChangeHow).
Web: switching sessions with two browser tabs open no longer stalls when live updates fall back to HTTP streaming (thanks to @TheUnlimited64).
Sessions: renaming, sharing, and archiving worktree sessions use the correct folder, and failed actions show the reason.
Sessions: restored sessions from deleted worktrees remain visible in their project and move to the top after restoration (thanks to @mattv8).
Dictation: long recovered transcripts scroll within the composer, keeping Retry, Discard, and Insert visible (thanks to @karimodm and @Tobias-Conrad).
Mobile: the searchable Settings project picker keeps every project reachable, even in long lists (thanks to @tomzx).
Git: collapsed unchanged lines expand in pull request comparisons, including files from forks.
Git: reusing a branch name no longer shows an unrelated old pull request as merged.
Small Model: ChatGPT sign-in resolves the available Codex Luna model for background tasks.
Files: previews of files outside the open folder load in browser and remote sessions.
Files: relative images and links work in Markdown previews, and heading links scroll within the document.
Chat: an explicit Steer stays a steer after dismissing blockers (thanks to @JustinKeltner).
Chat: approval cards show file changes that were missing from the preview.
Chat: comment quote previews fill the available width, and comment highlighting is translucent again.
Chat: message image export works when a message links to an external page (thanks to @ChangeHow).
Chat: the timeline popup scrollbar stays clickable while messages load.
Mobile: Settings help icons respond to taps.
Mobile: session rows keep their order and branch labels while the sessions drawer closes.
Startup: when OpenCode fails to start, the app shows what went wrong.
Desktop: pairing import failures say what actually went wrong, and SSH forms keep focus after confirmations.
Server: shutting down stops extension services cleanly (thanks to @ICEY16360).
SDK
Services can declare service.provides: ["browser"] to answer the agent's browser actions and service.surface: true to show a live picture users can take over and hand back.
Misc
Requires OpenCode 2.0.15 or newer; the desktop app bundles it. Sessions from OpenCode 1.x carry over.
OpenCode 2 reads project instructions from AGENTS.md and no longer loads CLAUDE.md.
Settings/Behavior: the system prompt optimization option is removed, because OpenCode 2 has no way for a plugin to shorten the system prompt.