Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Worktree HopperNew to Visual Studio Code? Get it now.
Worktree Hopper

Worktree Hopper

Nikolay Chernuha

|
1 install
| (0) | Free
A Worktrees panel in Source Control: search by text or regex and switch git worktrees in place, without reloading the window.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Worktree Hopper

Build Visual Studio Marketplace Installs Open VSX Tested on VS Code Tested on License: MIT

Switch git worktrees from the Source Control view, in place, without reloading the window.

A Worktrees panel sits under Changes and the Graph. Type a few letters of a folder, branch or path, press Enter, and the window is on that worktree, with your open files, the Graph and Changes following along.

The Worktrees panel in Source Control

Why

If you keep a worktree per task or pull request, getting to the right one means File → Open Folder, a full reload, and losing your terminals and chat. With Worktree Hopper it is one click, and nothing restarts.

Features

  • Every worktree, in Source Control. Folder, branch (or detached commit), and tags for main, open, gone and locked. ● marks the active one.
  • Search by text or regex. Name, branch or path, with matches highlighted. Alt+R or .* toggles regular expressions.
  • Hot switch. No reload: extensions, terminals and chat panels keep running.
  • Your editors come along. Open files reopen at the same path in the new worktree; unsaved ones stay put.
  • Source Control follows. Changes and the Graph show the active worktree, scrolled to its current commit.
  • Delete with a confirmation. 🗑 (or the Delete key) asks Yes/Cancel. Uncommitted changes or a lock ask a second time. The branch is kept.
  • New window when you want one. Alt+click, or ⧉ on the row.

Keyboard

Key Action
Ctrl+Alt+W (Cmd+Alt+W) Jump to the search box
↑ / ↓ Move through the list
Enter Switch in this window
Alt+Enter Open in a new window
Delete Delete the selected worktree (asks first)
Alt+R Toggle regular expressions
Esc Clear the search

How the hot switch works

VS Code restarts every extension when the first folder of a window changes, and not when a later one does. So the folder you opened stays first, and the active worktree is swapped in as a second folder:

  • The first switch turns the window into a multi-root workspace (extensions restart once; the window does not reload).
  • Every switch after that is instant.
  • Switching back to the first folder removes the second one.

Prefer one folder per window? Set worktreeHopper.switchMode to reload.

Settings

Setting Default What it does
worktreeHopper.switchMode hot hot swaps the worktree in place; reload reopens the window on it.
worktreeHopper.openIn sameWindow Where a plain click opens. Alt+click does the other.
worktreeHopper.moveEditors true On a hot switch, reopen open editors in the new worktree.
worktreeHopper.followInGit true On a hot switch, show only the active worktree in Source Control.
worktreeHopper.revealInGraph true After a hot switch, scroll the Graph to the worktree's current commit.
worktreeHopper.hidePrunable false Hide worktrees whose folder is gone.

Tips

  • Drag the Worktrees header between Changes and the Graph; VS Code remembers where you put it.
  • VS Code asks whether to trust each new worktree folder. Trust their parent folder once (Workspaces: Manage Workspace Trust) to skip that.
  • Terminals already open stay where they were; new ones start in the active worktree.

Requirements

  • VS Code 1.85 or newer, or a compatible editor (Cursor, VSCodium, Windsurf).
  • git on the machine where the workspace lives. Works locally and over Remote SSH, WSL and Dev Containers.

Feedback

Found a bug or have an idea? Open an issue.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft