wt select

Interactive worktree selector. Browse and switch worktrees with live preview.

wt select demo

Examples

Open the selector:

wt select

Preview tabs

Toggle between views with number keys:

  1. HEAD± — Diff of uncommitted changes
  2. log — Recent commits; commits already on the default branch have dimmed hashes
  3. main…± — Diff of changes since the merge-base with the default branch
  4. remote⇅ — Diff vs upstream tracking branch (ahead/behind)

Keybindings

KeyAction
/Navigate worktree list
EnterSwitch to selected worktree
EscCancel
(type)Filter worktrees
1/2/3/4Switch preview tab
Alt-pToggle preview panel
Ctrl-u/Ctrl-dScroll preview up/down

With --branches, branches without worktrees are included — selecting one creates a worktree. This matches wt list --branches.

Configuration

Pager

The preview panel pipes diff output through git's pager (typically less or delta). Override pager behavior in user config:

[select]
pager = "delta --paging=never"

This is useful when the default pager doesn't render correctly in the embedded preview panel.

See also

Command reference

wt select - Interactive worktree selector

Browse and switch worktrees with live preview.

Usage: wt select [OPTIONS]

Options:
      --branches
          Include branches without worktrees

      --remotes
          Include remote branches

  -h, --help
          Print help (see a summary with '-h')

Global Options:
  -C <path>
          Working directory for this command

      --config <path>
          User config file path

  -v, --verbose...
          Show debug info (-v), or also write diagnostic report (-vv)