--- version: 1.21.1 date: 2026-08-29 title: Turkish interface and safer worktree moves --- ## App ### New - **Turkish interface:** OpenChamber can be used in Turkish (thanks to @fitzgpt). - **Worktrees:** a session menu can move an idle session and its sub-sessions into an existing worktree. OpenChamber finds worktrees created elsewhere, asks before carrying uncommitted changes over, and keeps those changes safe if the move fails partway (thanks to @mattv8). - Composer: pasting a big block of text, about 2,000 characters or 25 lines, offers to attach it as a `pasted-context-N.txt` file and leaves a `[pasted-context-N.txt]` reference at the caret. Settings → Chat can make it always attach or always paste inline (thanks to @makeittech). - Work status: a session's cost includes what its subagents spent, split under the context meter and shown per subagent (thanks to @igorvelho). - Multi-Run: a group can hold more than five models, including isolated runs that make one worktree per model (thanks to @tomzx). - Projects: the folder picker can select several directories at once and add them together (thanks to @herjarsa). - Files: the Markdown preview has an in-document search (Ctrl/Cmd+F) with highlighting and next/previous (thanks to @makeittech). - Panels: right-click an editor, chat, or browser tab to close it, close others, close left or right, or close all (thanks to @adavila0703). - Chat: a tool card with a file path has a quick-open button (thanks to @robertoberto). - Mobile: Android connections can trust user-installed certificate authorities, such as a local proxy's (thanks to @Silvenga). - Debug: the debug panel (Ctrl/Cmd+Shift+D) has a Requests tab showing in-flight requests and their age over the last five minutes (thanks to @tomzx). ### Improvements - Chat: the text the model writes before it asks a question appears right away instead of waiting in the Activity group until the turn ends (thanks to @makeittech). - Usage: GitHub Copilot shows a single AI Credits window matching Copilot's token-based quota, in place of the Chat Requests and Completions windows (thanks to @jakoss). - Files: files up to 20,000 lines open in the full-file preview, up from 5,000 (thanks to @gaojunran). - Mobile: Chats, the sessions that belong to no project, appear in the sessions sheet above the project list. - Projects: the folder picker can step into a directory that is already a project and browse from there (thanks to @weixiang1862). - Web/PWA: the installed app uses the shorter name "OpenChamber" (thanks to @bketelsen and @greghaynes). - Sidebar: Recent rows show a compact timestamp on web and desktop. ### Fixes - **Chat:** a very large tool result is capped before it renders, so it no longer freezes the page (thanks to @JSap0914). - Chat: a code block with JavaScript template strings no longer sends the syntax highlighter into endless backtracking (thanks to @makeittech). - Chat: a diff with a truncated header no longer crashes the conversation (thanks to @pascalandr). - Chat: a draft or recalled message with Windows line endings no longer throws "Selection points outside of document" every time you open it (thanks to @yulia-ivashko). - Chat: a session no longer looks frozen after a page reload or a late second client. Pending permission and question cards come back (thanks to @yangyaofei). - Chat: a session no longer looks frozen after you dismiss the agent's questions and send a new task (thanks to @bashrusakh). - Chat: when the turn-ending signal from OpenCode is lost, the working spinner clears within about a second instead of up to ten (thanks to @makeittech). - `/btw` side questions: a btw session answers the side question instead of carrying on with the parent's plan, and it forks at the last completed turn, so it never inherits a reply that is still streaming (thanks to @pocharlies). - Composer: typing three backticks leaves the caret inside the finished code fence, an empty input keeps a visible caret, and platform autocorrect behaves as it should (thanks to @franzudev, @TTTPOB, and @IbrahimKhan12). - Chat scrolling: with "Follow new content while streaming" off, sending from the middle of a conversation no longer jumps to the new message. - Chat scrolling: a middle-button pan or Shift+Space stops auto-follow the way the wheel does, and an upward wheel inside a tool output box scrolls that box instead of the chat (thanks to @pascalandr). - Chat scrolling: PageUp/PageDown in the prompt box no longer shifts the whole window up and hides the title bar. - Chat: question prompts render Markdown (thanks to @pascalandr). - Chat: a bare link next to CJK or full-width punctuation no longer swallows it (thanks to @gaojunran). - Chat: inline code and chips are readable in every theme (thanks to @difagume). - Chat: a finished reasoning block shows in full instead of replaying as if it were still thinking, the text-selection menu stays inside the window, and the sticky user-message header no longer fades over the first lines of the reply (thanks to @makeittech). - Chat: sending without a selected model says what is missing (thanks to @rvaldemar). - Chat: `/init` stays in slash-command autocomplete after the conversation starts (thanks to @Dawnfz-Lenfeng). - Chat: copying a message keeps Markdown paragraph, list, and code-block spacing (thanks to @ChangeHow). - Chat: Ctrl/Cmd+digit is ignored while you type in a field, and a model you picked by hand survives switching between Build and Plan (thanks to @makeittech). - Chat: a message made only of quoted context fragments appears in the prompt navigator. - Chat: opening or closing the context panel no longer leaves a blank tail under the last message. - Files: a file reached through a symlink inside the workspace, or under a project root that is itself a symlink, opens again instead of failing with an access error (thanks to @herjarsa). - Files: clicking a folder or file in the sidebar tree opens it reliably on macOS trackpads, where a tiny pointer move used to swallow the click (thanks to @makeittech). - Browser: when the agent captures a page while the browser panel is hidden, the panel is revealed first instead of the capture failing. - Work status: undoing or redoing a parent session keeps its subagents at the same point in history (thanks to @alexandrereyes). - Mobile: opening an agent that is already open switches to its editor instead of duplicating it (thanks to @bashrusakh). - Sidebar: searching sessions also finds Chats, the sessions that belong to no project, which used to vanish as soon as you typed (thanks to @yulia-ivashko). - Sidebar: pending permission and question badges are no longer covered by the hover actions (thanks to @makeittech). - Projects: sending, forking, and image attachments work in projects whose path has non-ASCII characters, such as `Masaüstü` (thanks to @fitzgpt). - Web/PWA: a notification click focuses an existing window (thanks to @bketelsen and @greghaynes). - Themes: custom themes loaded through symlinks work (thanks to @divyam234). - Plans: a saved plan opens with its content again for chats, worktrees outside the project path, and tabs restored after a reload, and an edit made right before closing is no longer lost. - Settings: the editor font size survives a restart (thanks to @pascalandr). - Settings: a change made right before you close the window is saved (thanks to @makeittech). - Settings: number fields and selects no longer clip at large font sizes (thanks to @makeittech). - Settings: refreshing GitHub account state no longer interrupts the page (thanks to @floze-the-genius). - Settings: the Cloudflare Tunnel download link works (thanks to @AyoubAchour). - Settings: Windows skill paths are classified correctly, so disabled and duplicate skills are hidden as intended (thanks to @Ttungx). - Settings/Providers: after you save an API key or sign in, the provider no longer shows "Credentials missing" with its models hidden until you switch away and back (thanks to @herjarsa). - Small model: requests send the provider's configured headers, such as an API-gateway subscription key (thanks to @dmitrii-galantsev). - Small model: a configured Anthropic endpoint is used without a doubled `/v1`, and Google models without reasoning no longer get a thinking option (thanks to @mpeter and @IngTian). - Git: the status panel refreshes from the real repository after checkout, branch, stash, merge, rebase, or reset, and remote branches that were never fetched appear in branch lists (thanks to @makeittech). - Git: the Branch diff scope compares against the right base for branches created from the current branch (thanks to @gaojunran). - Git: picking `origin/main` in the branch selector checks out the local branch instead of a detached `HEAD` (thanks to @yulia-ivashko). - Git: branch search hides branches that do not match (thanks to @bashrusakh). - Updates: "Update OpenCode" no longer fails with a bare "Bad Request". OpenChamber names the release it will install and shows OpenCode's reason when it refuses (thanks to @mdatsev and @yulia-ivashko). - Updates: the desktop "Restart to Update" button says why an install failed, including an unsigned local build, and stays available to retry (thanks to @mdatsev and @yulia-ivashko). - Desktop: a crashed window recovers on its own, and repeated crashes end in a visible failure page instead of a reload loop (thanks to @wqpan). - Desktop: a slow or interactive shell startup file no longer stalls startup while OpenChamber looks for OpenCode. Each probe gives up after five seconds, which is what left a Homebrew OpenCode looking undetected from a Dock launch (thanks to @mskadu). - Windows: restarting managed OpenCode cleans up orphaned listeners and process trees, closing the app stops OpenCode, and scheduled startup no longer fails on Task Scheduler's command length limit (thanks to @sergiofspedro, @a0000001, and @HAHH9527). - Windows: startup cleanup of leftover processes no longer blocks the server (thanks to @bashrusakh). - Server: an `OPENCODE_BINARY` from the environment is kept when `settings.json` clears its own override (thanks to @bashrusakh). - Server: recovery through `OPENCODE_HOST` keeps the configured host and port (thanks to @colinmollenhour). - Server: `openchamber connect-url` no longer risks tearing `settings.json` while the desktop app runs, which could unpair every device (thanks to @shijie152). - Sessions: switching quickly no longer saves the wrong scroll position, and the log no longer fills with worktree warnings for folders that are not Git repositories (thanks to @herjarsa). - VS Code: the extension starts in the current workspace folder instead of one restored from storage (thanks to @makeittech). ## VS Code ### New - **Turkish interface:** OpenChamber can be used in Turkish (thanks to @fitzgpt). - Composer: pasting a big block of text offers to attach it as a `pasted-context-N.txt` file and leaves a reference at the caret. Settings → Chat can make it always attach or always paste inline (thanks to @makeittech). - Multi-Run: a group can hold more than five models (thanks to @tomzx). - Chat: a tool card with a file path has a quick-open button that opens the file in the editor (thanks to @robertoberto). ### Improvements - Context usage reports a session's cost including everything its subagents spent (thanks to @igorvelho). - Chat: the text the model writes before it asks a question appears right away instead of waiting until the turn ends (thanks to @makeittech). - Usage: GitHub Copilot shows a single AI Credits window matching Copilot's token-based quota (thanks to @jakoss). - The extension reuses its OpenCode output channel across managed-server restarts instead of making duplicates (thanks to @TTTPOB). ### Fixes - **Chat:** a very large tool result is capped before it renders, so it no longer freezes the panel (thanks to @JSap0914). - Chat: a code block with JavaScript template strings no longer sends the highlighter into endless backtracking (thanks to @makeittech). - Chat: a diff with a truncated header no longer crashes the conversation (thanks to @pascalandr). - Chat: a draft or recalled message with Windows line endings no longer throws "Selection points outside of document" every time you open it (thanks to @yulia-ivashko). - Chat: a session no longer looks frozen after the webview reloads or opens late. Pending permission and question cards come back (thanks to @yangyaofei). - Chat: a session no longer looks frozen after you dismiss the agent's questions and send a new task (thanks to @bashrusakh). - Chat: when the turn-ending signal from OpenCode is lost, the working spinner clears within about a second instead of up to ten (thanks to @makeittech). - `/btw` side questions: a btw session answers the side question instead of carrying on with the parent's plan, and it forks at the last completed turn, so it never inherits a reply that is still streaming (thanks to @pocharlies). - Composer: typing three backticks leaves the caret inside the finished code fence, an empty input keeps a visible caret, and platform autocorrect behaves as it should (thanks to @franzudev, @TTTPOB, and @IbrahimKhan12). - Chat scrolling: with "Follow new content while streaming" off, sending while scrolled up leaves the view where it is, and a middle-button pan or Shift+Space stops auto-follow the way the wheel does (thanks to @pascalandr). - Chat scrolling: PageUp/PageDown in the prompt box no longer shifts the whole panel up. - Chat: question prompts render Markdown (thanks to @pascalandr). - Chat: a bare link next to CJK or full-width punctuation no longer swallows it (thanks to @gaojunran). - Chat: inline code, chips, and model-picker highlights stay readable in high-contrast themes (thanks to @difagume and @bashrusakh). - Chat: a finished reasoning block shows in full instead of replaying, the text-selection menu stays inside the window, and the sticky user-message header no longer fades over the reply (thanks to @makeittech). - Chat: sending without a selected model says what is missing (thanks to @rvaldemar). - Chat: `/init` stays in slash-command autocomplete after the conversation starts (thanks to @Dawnfz-Lenfeng). - Chat: copying a message keeps Markdown spacing (thanks to @ChangeHow). - Chat: a model you picked by hand survives switching between Build and Plan (thanks to @makeittech). - Updates: updating OpenCode no longer fails with a bare "Bad Request". The extension names the release it will install and shows OpenCode's reason when it refuses (thanks to @mdatsev and @yulia-ivashko). - "Add Project" adds the folder you chose to the workspace instead of failing (thanks to @bashrusakh). - The extension starts in the current workspace folder instead of one restored from storage (thanks to @makeittech). - Sidebar: pending permission and question badges are no longer covered by the hover actions (thanks to @makeittech). - Sidebar: worktree branch search hides branches that do not match (thanks to @bashrusakh). - Settings/Providers: after you save an API key or sign in, the provider no longer shows "Credentials missing" with its models hidden until you switch away and back (thanks to @herjarsa). - Settings: number fields and selects no longer clip at large font sizes (thanks to @makeittech). - Settings: Windows skill paths are classified correctly, so disabled and duplicate skills are hidden as intended (thanks to @Ttungx). - Windows: closing VS Code stops the managed OpenCode process instead of leaving it running (thanks to @a0000001). - Work status: undoing or redoing a parent session keeps its subagents at the same point in history (thanks to @alexandrereyes).