- **OpenCode Go:** the usage request the extension sends now carries the `x-opencode-session` header OpenCode Go requires from 6 September. Chat traffic already had it.
- Chat: a queued message keeps its attached context, file mentions, and skill, and editing it brings them back to the composer.
- Worktrees: removing a worktree no longer freezes the interface. It runs in the background with a progress toast (thanks to @yulia-ivashko).
- Worktrees: a worktree created from a branch behind its upstream now fetches first and branches from the remote (thanks to @jtatum).
- Worktrees: the New Worktree dialog keeps what you typed when the worktree list changes while it is open (thanks to @yulia-ivashko).
- Worktrees: a removed worktree leaves the sidebar under every project it was listed in (thanks to @yulia-ivashko).
- Thinking effort: picking Default sticks after a send and across agent or session switches, and a reopened session restores the effort its last message used (thanks to @yulia-ivashko).
- Settings: the theme no longer flips when you switch sessions across directories, and a theme the extension cannot fully report keeps your current preference (thanks to @kydorn).
### Misc
- The Settings Integrations page, which offered the Claude Code and Cursor plugin installs, is gone.
- Chat: a turn that OpenCode stopped no longer ends with nothing on screen. What OpenCode reported shows under the last message, and a message an idle session left unanswered is named as such.
- Chat: the status report (Ctrl/Cmd+Shift+L) lists the last session errors and rejected sends.
- **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).
- **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).
- **Chat: comment on a reply.** Select text in a chat message and choose Comment to attach that quote with your note to the next message. The selection stays highlighted while you type.
- Chat: context attachments. Diff and file comments, terminal selections, and linked issues and pull requests show as compact context cards, with a source header, the captured content behind an expander, and your comment below.
- Composer: hovering a context chip above the input opens a stacked preview of everything attached, where you can edit comments in place or remove items before sending.
- Permission cards answer to the keyboard. Alt+Enter allows once, Alt+Shift+Enter allows always, Alt+Backspace denies, and the keys are printed on the buttons.
- Chat: @ file mentions rank files and directories together by how well they match, so the file you typed is at the top. Multi-word queries match in any order, and a long path keeps the folder next to the file name visible.
- Search: Ctrl/Cmd+P matches the whole file path, so searching a folder name finds the files inside it.
- Search: pickers for agents, models, providers, and branches put the best matches first, match multi-word queries in any order, and ignore punctuation, so "gpt4o" finds "gpt-4o".
- Keyboard: dropdowns and pickers answer Ctrl+N and Ctrl+P for down and up, the session switcher opens focused on your current session, and shortcut labels show the binding you have set (thanks to @ChangeHow).
- Chat: Cmd/Ctrl+Shift+T cycles through every thinking level the selected model offers instead of stopping at the end (thanks to @nimobeeren).
- Chat: the view no longer sticks on its loading screen on slow or remote connections, including code-server behind a reverse proxy (thanks to @VinciYan).
- Chat: the timeline dialog fits small windows instead of squeezing the message list to a couple of rows (thanks to @gaojunran).
- **/btw side questions:** type `/btw` and your question to ask something off-topic in a temporary session forked from the current one. The answer streams into a panel above the composer, which you can collapse, keep as a full session, or discard without touching the chat (thanks to @jaygupta17).
- Skills catalog: browse curated GitHub skill collections in a card catalog with search across sources and a link to each skill's repository.
- Settings/Projects: a project can pin a thinking level next to its model, for models that offer levels.
- Chat: an app link such as `spotify://` asks for confirmation before opening another app. You can trust a link type on one device and manage trusted links in Settings.
- Settings: the workspace selector on Providers, Agents, MCP, Commands, and Skills only changes what those pages show, instead of moving the chat, session list, and file tree to another workspace.
- Chat: while a reply streams, the model status line under the last message turns into the finished message's info row in place.
- Usage: Z.ai credit limits appear alongside its other quota windows.
- Settings/General: changing the default model, variant, or agent no longer repoints an open chat that already carries a model you picked for it. Chats following the default still switch right away.
- Settings/Providers: the provider you select no longer jumps to another one when the chat selection or provider data changes.
- Chat: if OpenCode restarts while a response is running, the chat stops with an interrupted state and a notification to continue instead of hanging silently (thanks to @sum117).
- Chat: newly sent messages and highlighted code blocks no longer flicker, and Bash output grows with its content instead of being cut off.
- Chat: file paths in messages open from the session's workspace, even if you last browsed files in another workspace (thanks to @tomzx).
- Chat: a long user message can be expanded even when its final layout finishes after it first appears.
- Sidebar: sessions created outside OpenChamber appear in the sidebar and Recent list without a page refresh (thanks to @tomzx).
### Misc
- Settings/Integrations: the experimental page lists only integrations you can install. Unavailable and Coming soon entries are gone.
- **Settings/Integrations:** a new Integrations page lists the Claude Code, Command Code and Cursor plugins with install, update, setup and remove actions. Discord and Telegram are marked coming soon.
- Usage: Command Code plan limits appear in the Usage page and the work status panel.
- Usage: the context readout in the chat header shows the session's cost in its tooltip (thanks to @YunFeng0817).
- Attachments: text pulled out of Office and OpenDocument files is capped and shown more compactly, so a large document and its images no longer crowd out the rest of the message.
- **Chat:** an open conversation no longer keeps re-coloring the same code blocks in the background, which drove CPU use up while the chat sat idle (thanks to @makeittech).
- Settings: saving settings no longer wipes an OpenCode config written with unquoted JSON5 keys down to an empty `$schema` stub. Plugins, MCP servers and providers stay, and the change reports a failure (thanks to @makeittech).
- Chat: a new chat no longer saves its first message and then never starts when the last worktree directory was deleted; it falls back to the active project.
- Chat: typing with Chinese, Japanese or Korean input methods no longer breaks composition or throws the cursor to the end of the composer (thanks to @makeittech).
- Chat: the context readout no longer climbs past 100% after turns with many tool calls, and no longer jumps when you reopen an older session (thanks to @pocharlies).
- Projects: project names match the folder name exactly, so `.ssh` and `opencode-claude` no longer read as `.Ssh` and `Opencode Claude`. Names you set yourself are kept.
- Add Project adds the chosen folder to the workspace instead of showing a "Failed to add project" toast.
- The model menu no longer paints white text on a white highlight in a high-contrast theme, so the hovered or selected model stays readable (thanks to @bashrusakh).
- Skills Catalog: the misspelled source name ClawdHub now reads ClawHub (thanks to @makeittech).
- **Chat:** new messages no longer jump above older ones once the message ID sequence rolls over. Loading history, reverting and redoing follow the same order as the conversation.
- Chat images: a finished assistant reply collects its Markdown images into a compact gallery with thumbnails and full-screen previews, including workspace images across multi-root workspaces (thanks to @ChangeHow).
- Chat: the Focus Chat command and the Add to Context action put the cursor in the chat input, so you can keep typing.
- Usage: quota limits you chose to display refresh every three minutes, and you can refresh them by hand at any time.
- Usage: OpenCode Go quota tracking uses your existing OpenCode API key. No browser cookies or workspace ID needed.
- Chat: shell command output is expanded by default, and adding a message to context puts focus back in the composer (thanks to @pascalandr, @makeittech).
- Chat: the composer caret is easier to see.
- Notebooks: notebook links open in the notebook editor when a compatible extension is installed (thanks to @TTTPOB).
- UI: dialogs, dropdowns, popovers and tooltips share the same glass styling.
- **Settings:** OpenCode configuration changes gather behind a single Apply & Restart action, so OpenCode no longer restarts after every edit. The confirmation warns you when active chats will be stopped (thanks to @makeittech).
- Chat: a queued message no longer sends into a response that is still streaming, and tool cards left running by an interrupted response settle instead of staying stuck (thanks to @makeittech).
- Chat: a message you submitted before switching sessions stays with the session and workspace you sent it from. If you switch away it is cancelled, never delivered to another runtime (thanks to @Wsyjq).
- Chat: a fresh message no longer replays its entry animation after it has been shown (thanks to @makeittech).
- MCP: authorization handles browser callbacks more reliably, settings show clearly which servers are available, and a failed connection offers a retry action.
- Settings: quick edits to notification templates no longer overwrite one another, and the collapsed-user-message preference sticks (thanks to @AmanTahiliani, @pascalandr).
- Attachments: removing an attached Office or OpenDocument file also removes the images taken out of that document (thanks to @chiamsun).
- Security: archive extraction updated for GHSA-xcpc-8h2w-3j85 (thanks to @mel0nyrame).
- **Sessions:** an archived session can be restored to the active list, from the sidebar context menu, the archived-sessions page or the bulk-selection bar (thanks to @makeittech).
- Chat: Ctrl/Cmd+L adds the selected text to the chat input, or focuses the input when nothing is selected.
- **Providers:** signing in to an OAuth-only provider, such as Cursor, completes in the browser. The login is stored and the provider updates, so you are no longer left signed out.
- Providers: the copy button for device codes works.
- Chat: a model you chose by hand stays selected after a delegated subtask finishes; it no longer reverts to the agent's default model.
- **Providers:** add and edit custom OpenAI-compatible providers in Settings, with their endpoint, models, credentials, headers, and configuration scope (thanks to @makeittech).
- Localization: the interface is available in German (thanks to @SGD-DEV).
- Settings/Skills: skills kept in the workspace's own `.agents/skills` folder show up for the active workspace (thanks to @makeittech).
- Usage: DeepSeek quota is tracked (thanks to @airtaxi).
- Chat/Tools: Bash output reads as it did in the terminal instead of showing raw escape codes for progress bars and rewritten lines (thanks to @catan271).
- Chat: queued messages retry after a failed send or an interrupted turn instead of sitting stuck until the next session update.
- Chat: assistant messages no longer run HTML.
- Chat: clicking an apply_patch result opens the file you clicked instead of always the first one (thanks to @nabsiddiqui).
- Settings/Skills: renaming a skill keeps its instructions and supporting files. The rename action only shows for skills OpenChamber can safely move (thanks to @makeittech).
- Usage: Kimi for Coding counts usage correctly whether the provider reports what you used or what is left (thanks to @makeittech).
- Sessions: archiving and unarchiving stays inside the current workspace.
- Sidebar: a worktree shared by two projects appears once.
- **OpenCode updates:** the extension can update a managed OpenCode installation and restart it for you. A server you manage yourself is left alone (thanks to @yulia-ivashko).
- **Chat tools:** a Bash card shows output while the command is still running, in a pane of fixed height that follows new lines until you scroll away. The timer keeps counting to the real end instead of stopping at 300 seconds.
- Chat: a slash-command starter picks up whatever you already typed in the draft and passes it as the command's arguments.
- Usage: an OpenAI business account shows the spend limit you configured for Codex (thanks to @jrandiny).
- **Context panel:** Changes, pull requests, files, terminal, notes, plans, previews, and side chats live in one resizable panel with a rail to switch between them. The pull-request view shows checks and comments as they land, and a failed check or a comment can go straight into a chat draft.
- Chat: text selected from a Markdown code block keeps its fences, language, and block structure when you add it to the composer or start a session with it (thanks to @ChangeHow).
- Settings: an option hides starter suggestions on the new-session screen.
- Usage: Crof and NeuralWatt quotas are tracked (thanks to @kydorn).
- **Chat composer:** what you type renders as you type it, with Markdown emphasis, attention lines, file and agent mentions, slash commands, snippets, attachment citations, and `~path` references. A file mention can be edited in place.
- Sessions: the sidebar uses clearer project zones and single-line rows, with folders after ungrouped sessions and archived sessions kept in their workspace sections.
- Chat/Permissions: sending a message while a permission prompt is open denies what is pending in the session and its subagents, then queues your message for the next turn (thanks to @tomzx).
- Chat/Subagents: a subagent chat can be prompted while direct subagent prompting is on, even before the parent session has loaded.
- Sessions: chats sort by activity again. A chat moves in the list when it starts or finishes, and stops reshuffling while a response streams.
- Chat: jumping to a message in a long conversation lands on the right one even when the rows above it have not been drawn yet.
- Chat: code blocks stop shifting lines and merging into nearby text while they render, and copied code keeps its original text (thanks to @ChangeHow).
- Usage: Crof no longer reports "Unsupported provider" (thanks to @kydorn).
- Shortcuts: double-Escape can no longer be primed while the current session is not the active one.
- **Chat attachments:** attach Office and OpenDocument files (`.docx`, `.pptx`, `.xlsx`, `.odt`, `.odp`, `.ods`). Their text and the embedded images OpenChamber can read are pulled out before the message goes off.
- Chat attachments: more source-code formats, notebooks, HAR files with credentials and cookies stripped, SVG and Draw.io drawings, and HEIC/HEIF images. The composer warns you when the chosen model may ignore an attachment type.
- **Performance:** opening and switching sessions in a big workspace puts the selected and visible chats first.
- Chat: an assistant turn shows model, agent, thinking level, duration, and time together in its footer, and replies split by a hidden system or subagent prompt read as one turn.
- Sessions: workspace groups are ordered by hand by default. A sorting choice you made yourself stays as it is.
- Performance: a failed refresh keeps the session list you had, a parent session no longer vanishes when its sub-sessions load first, and session data stays inside its own workspace and view.
- Chat: the working indicator names the model actually writing the reply, streaming at the bottom no longer jitters, and a new user message finishes its entry animation instead of snapping into place.
- Chat/Tools: attachments returned by plugin and custom tools stay visible after streaming and refreshes, with the same image previews and file chips as your own attachments (thanks to @FrostiDrinks).
- Cursor: opening a chat no longer crashes when the editor webview lacks its usual messaging APIs, and a closed editor tab stops receiving late streaming messages (thanks to @makeittech).
- Startup: the active workspace is worked out before saved state is restored, so a project outside the editor workspace cannot replace it.
- Agent Manager: creating a worktree recovers when an earlier Git operation left the repository locked, and removing a worktree while its setup is still running no longer brings it back.
- Sessions: a new draft or session stays with the workspace selected in the sidebar, including multi-root and nested workspaces (thanks to @bashrusakh).
- Chat: a session with an active [goal](https://docs.openchamber.dev/session-goals/), started from the web or desktop app, shows the goal strip and its live status above the composer.
- Notifications: subagent completion notifications follow the same settings as the main app.
- Chat/Tools: every tool call expands to show its input, result, and errors, including MCP, plugin, and custom tools. Read and Skill stay compact links to their files.
- Chat/Tools: a JSON result opens in navigable summary, tree, and raw views.
- Chat: code blocks can show line numbers that stay aligned while text streams in.
- Chat: a Wrap Code Block Lines setting controls how long lines wrap.
- Editor Integration: "Add to Context" and the active-editor pin selection use workspace-relative filenames, so the model reads the right file when two files share a name (thanks to @Catan).
- Chat: the stop button aborts a session running in a different project or worktree. Those aborts used to do nothing at all.
- Startup: on Windows, OpenCode installed via npm launches from paths with spaces such as C:\Program Files\nodejs, a binary path pasted with quotes into the Opencode Binary setting works, and the extension also looks in the system-wide npm prefix and Scoop's shims.
- Agents: clearing an optional agent field removes it from the agent config, where it used to save a `null`.
- Startup: the extension looks past OpenCode desktop app installs when it hunts for the standalone OpenCode CLI.
- Chat: late-loading tool content, subagent content and streaming Thinking blocks no longer pull the conversation away from the latest message or fight your scrolling.
- Chat: an embedded JSON example in a message stays text and no longer renders as a generated-result card.
- Sync: a chat wakes up properly after an idle reconnect, instead of leaving sessions stuck as busy.
- **Chat: choose what Enter does mid-reply.** A Follow-up behavior setting either steers your message into the agent's current turn or queues it until the turn finishes. It takes over from the old queue-mode toggle (thanks to @bashrusakh).
- Sync: a connected but quiet session, say an agent running a long tool call, stops kicking off a background refresh every 15 seconds (thanks to @tomzx).
- Providers: the Add provider form stays open while provider data refreshes or you pick a model in the background. It used to snap back to an existing provider.
- Chat: with tool calls such as Bash and Edit expanded by default, scrolling no longer twitches, and slow scrolling no longer jumps past several messages.
- Models: the model picker keeps your provider groups open and in the order you put them, and Shift+Delete drops a model from recents (thanks to @makeittech).
- Settings/MCP: importing MCP snippets from OpenCode config works again (thanks to @youzini).
### Fixes
- Startup: the extension opens faster — recent sessions, models, providers, and projects appear instantly from cache and refresh in the background, and the loading screen no longer lingers after the interface is ready.
- Startup: requests made while OpenCode is still starting now wait briefly for it to become ready instead of failing, and if OpenCode fails to start the error now includes what it reported.
- Chat/Input: tab-completing a mention no longer changes the selected agent (thanks to @Quat3rnion).
- Chat: LSP tool calls now show the operation, file, and cursor position more clearly, and JSON tool output can be toggled between formatted and raw views or copied.
- Chat: streaming messages now appear correctly after startup, and activity/status rows show for the active session.
- Sessions: session titles update from live session events, and the extension now consistently loads all existing OpenCode sessions.
- Settings/OpenCode: OpenCode CLI path, update-notification preference, keyboard shortcuts, and protected-session settings now stay saved after changes.
- UI/Time: the time-format preference now applies to chat timestamps, usage reset times, scheduled tasks, passkeys, and usage last-updated times.
- Chat: added customizable draft welcome starters from commands and skills, including guided commands for catch-up, debugging, exploration, and approach comparison.
- Chat: assistant answers now have a dialog for starting a new session from that answer.
- Chat/Input: queued messages no longer auto-send before the active session is ready, and thinking-variant choices are preserved for generated messages.
- Chat/Input: selecting an agent now switches to that agent's configured model, and malformed tool diffs no longer break chat rendering (thanks to @Adrian-Eckardt).
- Chat/Input: pending image attachments now show previews, sent image attachments can be cited from assistant messages, and markdown source mode highlights formatting while you type.
- Chat: queued messages now send to the session they were queued from, even if you switch sessions before they are sent.
- Settings/Skills: installed skills are discovered more accurately, skill files opened from tool messages now load correctly, and snippet names keep their canonical casing (thanks to @jkker, @isanchez404).
- Chat/UI: chats keep following the latest response after final task summaries, activity reasoning no longer flashes before settling, and assistant timestamps stay visible on narrow layouts.
- Chat: session editor tabs now update their title to match the session title.
- Sessions: session rows now include an action to open a chat as editor tab.
- Notifications: completion, question, and permission notifications now use the extension notification settings and shows as multi-platforn native notifications.
- Chat: question cards now include copy buttons for Markdown and JSON (thanks to @robertoberto).
- Chat/Input: queued messages now auto-send one at a time in FIFO order, and model/agent selections persist across reloads (thanks to @lyxxx708, @chutastic).
- Chat/Performance: virtualized more timeline content, deferred heavy tool output, and improved scroll-to-bottom behavior.
- Editor Integration: chat commands now wait for the sidebar webview before sending selections, file mentions, explain prompts, or improve prompts.
- Reliability/Streaming: extension SSE reconnect delays now abort cleanly and disposed chat webviews clean up their live streams.
- Agent Manager: settings changes now sync into Agent Manager views immediately.
- Sessions: archived-session bulk delete now works reliably from the extension sidebar (thanks to @jjdubski).
- Git: deduplicated lightweight and full status refreshes separately, preventing stale or mismatched Git updates during background polling (thanks to @isanchez404).
- Reliability/Sync: reduced stale and duplicate live-state updates across request arrays, retry metadata, streaming indicators, and session status events, cutting unnecessary rerenders and stuck activity states during long-running chats (thanks to @isanchez404).
- Chat/Reliability: added smaller polish fixes for text-selection cleanup (thanks to @isanchez404).
- Terminal: improved Android tablet keyboard handling, including control-key shortcuts, and kept app shortcuts from stealing focus while typing in the terminal (thanks to @Dav1dch).
- Startup/Reliability: configured OpenCode CLI paths are now validated before managed startup, with clearer errors for missing, non-executable, or app-bundle paths.
- Chat/Scrolling: preserved per-session scroll position and kept generated prompts scrolled into view (thanks to @jwcrystal).
- Settings/UI: improved settings scrolling and empty states (thanks to @Yabuku-xD).
- GitHub/MCP: improved fork-aware issue and pull-request listing, PR status handling, and remote MCP header handling (thanks to @corrm, @ricautomation).
- Chat/Streaming: reduced text flicker, preserved first chunks reliably, and kept long agent sessions from hanging during active responses (thanks to @pasta-paul).
- Models/Providers: fixed slash-containing model IDs, refreshed model metadata after OpenCode restarts, and added safer concurrency controls for sessions sharing the same provider (thanks to @yart, @Yabuku-xD).
- Chat/Models: unified the model picker with a cleaner selection flow (thanks to @daveotero).
- Chat/UI: improved split-response action placement, error-message alignment, tab close affordances, and overscroll behavior.
- Windows: normalized drive-letter paths in extension webviews (thanks to @sdunfeng).
- Reliability/Startup: hardened managed OpenCode startup, preserved shell PATH reliably, and improved stream/proxy recovery with heartbeat support (thanks to @An-jinu).
- Sessions/Sidebar: fixed stale session, folder, project, and worktree state after mutations, and polished pinned-session indicators (thanks to @corrm, @Yabuku-xD).
- UI/Localization: added translated interface strings for Spanish, Brazilian Portuguese, Ukrainian, and Simplified Chinese, with language selection available in extension settings.
- Chat/Tasks: todo list progress now updates live as task status changes, and task/model status hints are steady during active runs (thanks to @Yabuku-xD).
- Chat/Performance: improved cold start and streaming smoothness with lazy-loaded heavy components, chunk-load recovery, and lower re-render churn in long sessions (thanks to @Yabuku-xD).
- Chat/Commands: added `/summary` slash command for a non-destructive session summary - optional topic hint after the command focuses the output, and the prompt is customizable under Settings: Magic Prompts.
- Chat/Files: you can now drag files and folders from the file tree into chat, with improved `@folder` autocomplete when building prompt context (thanks to @youfch).
- Sync/Performance: optimized multi-session streaming with per-directory queues, event coalescing, and parts-gap recovery for steady live updates in busy workspaces (thanks to @jwcrystal).
- Sessions/UI: kept active sessions visible in Recent, auto-expanded parent groups for subagent sessions, and hid empty archived/folder sections (thanks to @jwcrystal).
- Reliability/Windows: normalized workspace path handling in SSE event lookup to keep live session updates working consistently on Windows (thanks to @widipa).
- Chat/Performance: reduced streaming re-render fanout and status-row churn for smooth long responses in the editor panel.
- Chat/Tool Output: LSP diagnostics now render directly in tool output (thanks to @yulia-ivashko).
- Files/Markdown: added filesystem stat support in the extension bridge to validate markdown targets reliably before file handling flows (thanks to @geekifan).
- Chat/Models: added arrow-key navigation for thinking-mode selection in model controls (thanks to @daveotero).
- Chat/JSON: added an interactive JSON tree viewer with collapse/expand controls and richer color cues for easier inspection of large structured outputs (thanks to @nguyenngothuong).
- Reliability: managed server startup now imports login-shell environment values and normalizes Windows paths to reduce session-loading mismatches and proxy-related connection issues.
- Navigation/UI: refreshed the extension shell with a redesigned sidebar, clearer hierarchy, and cleaner session grouping.
- Chat/Performance: reduced streaming overhead and update churn for smooth long responses, steady activity rendering, and fewer UI stalls in heavy sessions.
- Chat: improved follow-to-latest behavior and timeline stability.
- Reliability/Windows: normalized workspace drive-letter handling and hid background process windows to reduce startup/session mismatches (thanks to @zerone0x).
- Chat: completed a turn-based render pipeline with steady streaming, smooth auto-follow, and more stable activity/tool progress behavior during long responses.
- Chat: improved code block readability with cleaner header actions, restored horizontal scrolling, and themed highlighting in markdown and tool output (thanks to @nelsonPires5).
- Usage: added MiniMax coding-plan quota provider support (thanks to @nzlov).
- Usage: added Ollama Cloud quota provider support (thanks to @iamhenry).
### Improvements
- Chat: improved long-session performance with virtualized message rendering, smooth scrolling, and more stable behavior in large histories (thanks to @shekohex).
- Chat: added fullscreen Mermaid preview, improved default thinking-variant persistence, and hardened file-preview safety checks for a more predictable message experience (thanks to @yulia-ivashko).
- Settings: added an MCP config manager UI to simplify editing and validating MCP server configuration (thanks to @nguyenngothuong).
- Chat: added C, C++, and Go language support for syntax-aware rendering in code-heavy workflows (thanks to @fomenks).
- Settings: grouped agents/skills navigation by subfolder to make larger setups easier to manage (thanks to @nguyenngothuong).
- Chat: draft text now persists per session, and the input supports an expanded focus mode for longer prompts (thanks to @nguyenngothuong).
- Sessions: expanded folder management with subfolders, cleaner organization controls, and clearer delete confirmations (thanks to @nguyenngothuong).
- Chat Activity: improved Structured Output tool rendering with dedicated title/icon, clearer result descriptions, and more reliable detailed expansion defaults.
- Sessions: added custom folders to group chat sessions, with move/rename/delete flows and persisted collapse state per project (thanks to @nguyenngothuong).
- Notifications: improved agent progress notifications and permission handling to reduce noisy prompts during active runs (thanks to @nguyenngothuong).
- Reliability: refactored OpenCode config/auth integration into domain modules for steady provider auth and command loading flows (thanks to @nelsonPires5).
- Skills: upgraded editing/install UX with better code editing, syntax-aware related files, and clearer location targeting across user/project .opencode and .agents scopes.
- Reliability: managed runtime startup now rotates secure auth credentials and hardens API proxy auth forwarding for safer local connections (thanks to @yulia-ivashko).
- Reliability: extension startup/shutdown handling is more predictable.
- Usage: added per-model quota groups in the header and fixed provider dropdown scrolling for easier usage tracking (thanks to @nelsonPires5, @gsxdsm).
- Reliability: fixed OpenCode auth pass-through/proxy behavior to reduce failed extension requests (thanks to @gsxdsm).
- Added multi-provider quota dashboard in settings to monitor API usage across OpenAI, Google, and z.ai with auto-refresh support (thanks to @nelsonPires5).
- Added Agent Manager panel to run the same prompt across up to 5 models in parallel (thanks to @wienans).
- Added permission prompt UI for tools configured with "ask" in opencode.json, showing requested patterns and "Always Allow" options (thanks to @aptdnfapt).
- Added "Open subAgent session" button on task tool outputs to quickly navigate to child sessions (thanks to @aptdnfapt).
- Added timeline dialog (`/timeline` command or Cmd/Ctrl+T) for navigating, reverting, and forking from any point in the conversation (thanks to @aptdnfapt).
- Added `/undo` and `/redo` commands for reverting and restoring messages in a session (thanks to @aptdnfapt).
- Added fork button on user messages to create a new session from any point (thanks to @aptdnfapt).
- Default location is now the right secondary sidebar in VS Code, and the left activity bar in Cursor/Windsurf; navigation moved into the title bar (thanks to @wienans).
- Sidebar: improved readability for sticky headers with a dynamic background.