Files
openchamber/packages/vscode
James Tatum 5995802fe3 feat(worktrees): fetch remote source branch before worktree creation (#3296)
* feat(worktrees): fetch remote source branch before worktree creation

New worktrees based on a local branch that is behind its upstream now
fetch first and branch from the remote-tracking ref, so they are not
born stale. A global setting (on by default) in Settings > Behavior
controls this, and fetch failures toast a warning and fall back to
local state instead of blocking creation.

* fix(worktrees): wire fetch-source toggle to store and honor failed runtime fetches

The Behavior toggle only persisted the setting; the consumer reads the
config store at creation time, so a just-toggled-off setting kept
fetching until the next hydration. Update the store optimistically on
toggle and on page load, and roll it back when the save fails.

The VS Code runtime bridge resolves git fetches with { success: false }
instead of throwing, which the consumer read as success and silently
based the worktree on the stale remote ref. Treat any non-success
result as a failed fetch: warn and fall back to local state, matching
the web/desktop/mobile path.

* fix(worktrees): stop new remote-based worktrees from tracking the base branch

Creating a worktree with a remote start ref made git auto-track the
base branch (branch.autoSetupMerge), so with the new remote fetch every
behind-root worktree was born with upstream origin/<base> and plain
git push refused under push.default=simple.

The new branch's own upstream does not exist until its first push, and
the bootstrap deliberately refuses to write tracking config for refs
that were never fetched, so --set-upstream-to cannot re-point it.
Suppress the auto-track with --no-track on new-mode creation from a
remote ref: the branch ships with no upstream, matching the behavior
before the remote fetch until the first push sets it. Explicit
upstream keys now also win over the remote start ref inference,
aligning the create path with the validate path and the VS Code
runtime.

* fix(worktrees): keep the pre-create remote ref refresh soft

The client fetch and the server's pre-create fetchRemoteBranchRef both
refresh the same branch, and the second fetch throws on failure — so a
connection dropped between the two turned the promised soft fallback
into a rejected creation even though the remote-tracking ref was
already available locally.

The refresh is now best-effort when the ref exists locally (creation
proceeds from it) and still mandatory when the ref was never fetched,
preserving the materialization behavior for remote-only branches.
Applied to both the web server and the VS Code runtime.

* chore: ignore the .openchamber app runtime state directory
2026-09-03 14:03:32 +03:00
..
2025-12-13 16:34:17 +02:00
2026-08-30 19:24:09 +03:00
2025-12-13 16:34:17 +02:00
2026-08-30 19:24:09 +03:00
2025-12-25 17:57:31 +02:00

OpenChamber VS Code Extension

GitHub stars GitHub release Discord Support the project

OpenCode AI coding agent, right inside your editor. No tab-switching, no context loss.

VS Code Extension

Like the extension? There's also a desktop app and web version with even more features.

What you get

  • Chat beside your code — responsive layout that adapts to narrow and wide panels
  • Agent Manager — run the same prompt across multiple models in parallel, compare results side by side
  • Right-click actions — add context, explain selections, and improve code in-place
  • Click-to-open — file paths in tool output open directly in your editor; edit-style results land in a focused diff view
  • Session editor panel — keep chat sessions open alongside files
  • Theme-aware — adapts to your VS Code light, dark, and high-contrast themes

Plus everything from the shared OpenChamber UI: branchable timeline, smart tool UIs, voice mode, Git workflows, and more.

Commands

Command Description
OpenChamber: Focus Chat Focus the chat panel
OpenChamber: New Session Start a new chat session
OpenChamber: Open Sidebar Open the OpenChamber sidebar
OpenChamber: Open Agent Manager Launch parallel multi-model runs
OpenChamber: Open Session in Editor Open current or new session in an editor tab
OpenChamber: Settings Open extension settings
OpenChamber: Restart API Connection Restart the OpenCode API process
OpenChamber: Show OpenCode Status Debug info for development or bug reports

Right-click menu

Select code in the editor, right-click, and find the OpenChamber submenu:

Action Description
Add to Context Attach selection to your next prompt
Explain Ask the agent to explain the selected code
Improve Code Ask the agent to improve the selection in-place

Configuration

Setting Default Description
openchamber.apiUrl (empty) URL of an external OpenCode API server. Leave empty to auto-start a local instance.
openchamber.opencodeBinary (empty) Absolute path to the opencode CLI binary. Useful when PATH lookup fails. Requires window reload to apply.

Requirements

  • OpenCode CLI installed and available in PATH (or set OPENCODE_BINARY env var)
  • VS Code 1.85+
Development
bun install
bun run vscode:dev

bun run vscode:dev now starts watchers + opens an Extension Development Host automatically. Webview UI changes use Vite HMR automatically.

Optional overrides:

  • OPENCHAMBER_VSCODE_BIN=cursor bun run vscode:dev
  • OPENCHAMBER_VSCODE_DEV_WORKSPACE=/path/to/workspace bun run vscode:dev
  • bun run vscode:dev /path/to/workspace

To package manually:

bun run --cwd packages/vscode build
cd packages/vscode && bunx vsce package --no-dependencies

Install locally: code --install-extension packages/vscode/openchamber-*.vsix

License

MIT