Rechercher

PythonReactSEOPDF
GitHub Skill

worktree

Manage git worktrees for parallel Claude Code sessions. Use when user says "worktree", "create worktree", "parallel session", "new tree", or wants to work on multiple branches simultaneously.

letehaha☆ 2 Étoiles du dépôt1 Forks du dépôt

Installation

Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.

Voir la source ↗Guides

Instructions

Git Worktree Manager

Manage git worktrees for running parallel Claude Code sessions.

Commands

/worktree create <branch-name> [from <base-branch>]

Creates a new git worktree for parallel development.

Examples:

  • /worktree create fix-bug - Creates worktree from origin/main
  • /worktree create fix-bug from main - Creates worktree from main branch
  • /worktree create feature-x from develop - Creates from develop
/worktree list

Lists all active worktrees.

/worktree remove [<worktree-name>]

Removes a worktree and its local branch.


Instructions

For create command:
  1. Parse arguments:

    • <branch-name>: Required, the new branch name
    • <base-branch>: Optional, defaults to origin/main
  2. Determine paths:

    REPO_BASENAME=$(basename "$PWD")
    WORKTREE_PATH="../${REPO_BASENAME}--${BRANCH_NAME}"
    ABSOLUTE_PATH=$(cd .. && pwd)/${REPO_BASENAME}--${BRANCH_NAME}
    
  3. Fetch latest:

    git fetch origin
    
  4. Create worktree:

    git worktree add -b <branch-name> <worktree-path> <base-branch>
    
  5. Install dependencies:

    cd <worktree-path> && npm install
    
  6. Return to original directory

  7. Check if running inside tmux:

    if [ -n "$TMUX" ]; then
      # Inside tmux - open new window with claude
      tmux new-window -c "<absolute-path>" -n "<branch-name>" "claude; bash"
    fi
    
  8. CRITICAL - Output this format at the end:

    If tmux was used:

    Worktree created successfully!
    
      Branch: <branch-name>
      Base:   <base-branch>
      Path:   <absolute-path>
    
    New tmux window "<branch-name>" opened with Claude Code.
    Switch to it with: Ctrl+b n (next) or Ctrl+b w (window list)
    

    If NOT in tmux (fallback):

    Worktree created successfully!
    
      Branch: <branch-name>
      Base:   <base-branch>
      Path:   <absolute-path>
    
    To start a parallel Claude Code session, copy and run:
    ┌────────────────────────────────────────────────────────────┐
    │ cd <absolute-path> && claude                               │
    └────────────────────────────────────────────────────────────┘
    

For list command:

Run and display output:

git worktree list

For remove command:
  1. If no worktree name provided, show git worktree list and ask user to specify

  2. Parse worktree name to extract branch:

    • Worktree format: <repo>--<branch>
    • Extract branch: everything after --
  3. Ask for confirmation before proceeding

  4. Remove worktree:

    git worktree remove <worktree-path> --force
    
  5. Delete local branch:

    git branch -D <branch-name>
    
  6. Confirm: "Removed worktree and local branch. Remote branch preserved for PR."


Safety Rules

  • Always git fetch before creating to have latest refs
  • Never remove worktrees with uncommitted changes without explicit confirmation
  • Never remove the main worktree (one without -- in directory name)
  • Preserve remote branches when removing (only delete local branch)
  • If branch already exists, ask user if they want to use existing or create new name

Exemples

Consultez les exemples du dépôt source.

Voir la source ↗

Historique source

Date d’indexation
2026-01-20
Mise à jour de l’index
2026-03-03
Branch
main

Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!