--worktree מפעיל כל סשן של Claude Code ב-git worktree נפרד, כך שעריכות בסשן אחד לא נוגעות בקבצים של סשן מקביל.
מה זה עושה / למה זה שימושי
git worktree הוא ספריית עבודה נפרדת עם ענף משלה, החולקת אותו היסטוריית repository ורמוט עם ה-checkout הראשי. הפעלת Claude Code בכל worktree מאפשרת, לדוגמה, לבנות feature בטרמינל אחד תוך כדי תיקון bug בשני — בלי שיתנגשו.
איך משתמשים
הפעלת Claude ב-worktree
claude --worktree feature-authיוצר worktree תחת .claude/worktrees/feature-auth/ על ענף worktree-feature-auth. לסשן שני מבודד:
claude --worktree bugfix-123ללא שם, Claude מייצר שם אוטומטי:
claude --worktreeהוסיפו .claude/worktrees/ ל-.gitignore כדי שתכנים לא יופיעו כ-untracked files בעותק הראשי.
בחירת ענף בסיס
ברירת המחדל היא origin/HEAD (ענף ברירת המחדל מהרמוט). לשינוי ב-settings.json:
{
"worktree": {
"baseRef": "head"
}
}"head" מעתיק מה-HEAD המקומי הנוכחי, כולל commits לא-pushed ועבודה בפרוגרס.
לפתיחת worktree מ-Pull Request ספציפי:
claude --worktree "#1234"העתקת קבצים gitignored לworktrees
worktree הוא checkout טרי, כך שקבצים כמו .env אינם קיימים בו. צרו .worktreeinclude בשורש הפרויקט:
.env
.env.local
config/secrets.jsonקבצים שמתאימים לתבנית וגם gitignored יועתקו אוטומטית לכל worktree חדש.
בידוד Subagents עם worktrees
הוסיפו isolation: worktree ל-frontmatter של subagent מותאם, או בקשו מ-Claude "use worktrees for your agents". כל subagent מקבל worktree זמני שמוסר אוטומטית בסיום ללא שינויים.
ניקוי אוטומטי
בעת יציאה מסשן worktree:
- ללא שינויים: הworktree והענף מוסרים אוטומטית
- עם שינויים: Claude שואל אם לשמור או להסיר
ניהול ידני
# יצירת worktree על ענף חדש
git worktree add ../project-feature-a -b feature-a
# יצירת worktree מענף קיים
git worktree add ../project-bugfix bugfix-123
# הפעלת Claude ב-worktree
cd ../project-feature-a && claude
# רשימת worktrees
git worktree list
# הסרת worktree
git worktree remove ../project-feature-aאחרי יצירה ידנית, אתחלו את סביבת הפיתוח בתוך הworktree: התקנת תלויות, הגדרת venv וכדומה.