Skip to content

vibe start

The start command creates a Git Worktree for the specified branch and changes to that directory.

Terminal window
vibe start <branch> [options]
OptionDescription
--reuseUse an existing branch (don’t create new)
--no-hooksSkip pre-start and post-start hooksv0.5.0+
--no-copySkip file and directory copyingv0.5.0+
Terminal window
# Create a worktree with a new branch
vibe start feat/new-feature
# Use an existing branch
vibe start feat/existing-branch
# Quick start without hooks
vibe start feat/quick-fix --no-hooks
# Start without copying files
vibe start feat/clean-slate --no-copy

vibe start is idempotent - running it multiple times with the same branch is safe:

  • If the worktree already exists with the same branch, vibe navigates to it
  • No duplicate worktrees are created

vibe start handles various situations interactively:

$ vibe start feat/new-feature
Branch 'feat/new-feature' is already in use by worktree '/path/to/repo-feat-new-feature'.
Navigate to the existing worktree? (Y/n)

You can choose from:

  • Overwrite: Delete and recreate the worktree
  • Reuse: Use the existing directory as-is
  • Cancel: Abort the operation

By default, worktrees are created as siblings to the main repository:

/path/to/repo/ # Main repository
/path/to/repo-feat-new-feature/ # Worktree

When vibe start runs:

  1. Pre-start hooks run in origin repository (if configured)
  2. Worktree creation: Git worktree is created
  3. File copying: Files/directories are copied (if configured)
  4. Post-start hooks run in new worktree (if configured)
  5. Directory change: Terminal switches to the new worktree
  • clean - Remove the worktree when done
  • Hooks - Configure automated workflows