vibe start
The start command creates a Git Worktree for the specified branch and changes to that directory.
vibe start <branch> [options]Options
Section titled “Options”| Option | Description | |
|---|---|---|
--reuse | Use an existing branch (don’t create new) | |
--base <ref> | Base branch/commit for new branch | |
--track | Set upstream tracking when using —base | |
--no-hooks | Skip pre-start and post-start hooks | v0.5.0+ |
--no-copy | Skip file and directory copying | v0.5.0+ |
-n, --dry-run | Preview operations without executing | v0.8.0+ |
-V, --verbose | Show detailed output | v0.8.0+ |
-q, --quiet | Suppress non-essential output | v0.8.0+ |
--claude-code-worktree-hook | Claude Code WorktreeCreate hook mode | v0.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.
Examples
Section titled “Examples”# Create a worktree with a new branchvibe start feat/new-feature
# Use an existing branchvibe start feat/existing-branch
# Create a new branch from a base branchvibe start feat/from-main --base main
# Quick start without hooksvibe start feat/quick-fix --no-hooks
# Start without copying filesvibe start feat/clean-slate --no-copy
# Preview what would happen (short option)vibe start feat/preview -n
# Show detailed outputvibe start feat/debug -V
# Suppress outputvibe start feat/silent -qBehavior
Section titled “Behavior”Idempotent Operation
Section titled “Idempotent Operation”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
Interactive Prompts
Section titled “Interactive Prompts”vibe start handles various situations interactively:
Branch in use by another worktree
Section titled “Branch in use by another worktree”$ vibe start feat/new-featureBranch 'feat/new-feature' is already in use by worktree '/path/to/repo-feat-new-feature'.Navigate to the existing worktree? (Y/n)Directory exists with different branch
Section titled “Directory exists with different branch”You can choose from:
- Overwrite: Delete and recreate the worktree
- Reuse: Use the existing directory as-is
- Cancel: Abort the operation
Worktree Location
Section titled “Worktree Location”By default, worktrees are created as siblings to the main repository:
/path/to/repo/ # Main repository/path/to/repo-feat-new-feature/ # WorktreeWorkflow
Section titled “Workflow”When vibe start runs:
- Pre-start hooks run in origin repository (if configured)
- Worktree creation: Git worktree is created
- File copying: Files/directories are copied (if configured)
- Post-start hooks run in new worktree (if configured)
- Directory change: Terminal switches to the new worktree