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)
--base <ref>Base branch/commit for new branch
--trackSet upstream tracking when using —base
--no-hooksSkip pre-start and post-start hooksv0.5.0+
--no-copySkip file and directory copyingv0.5.0+
-n, --dry-runPreview operations without executingv0.8.0+
-V, --verboseShow detailed outputv0.8.0+
-q, --quietSuppress non-essential outputv0.8.0+
--claude-code-worktree-hookClaude Code WorktreeCreate hook modev0.23.0+

Note: --base only applies when creating a new branch. If the branch already exists, it is ignored. By default, --base does not set up upstream tracking. Use --track to set the upstream.

Note: --claude-code-worktree-hook is used internally by Claude Code’s WorktreeCreate hook. See Claude Code Integration for setup details.

Terminal window
# Create a worktree with a new branch
vibe start feat/new-feature
# Use an existing branch
vibe start feat/existing-branch
# Create a new branch from a base branch
vibe start feat/from-main --base main
# Quick start without hooks
vibe start feat/quick-fix --no-hooks
# Start without copying files
vibe start feat/clean-slate --no-copy
# Preview what would happen (short option)
vibe start feat/preview -n
# Show detailed output
vibe start feat/debug -V
# Suppress output
vibe start feat/silent -q

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