- מדריך מעשי להרצת קלוד קוד (Claude Code) וקודקס (Codex) במקביל על אותו ריפו בלי התנגשויות, עם Git Worktrees, ברנצ'ים נפרדים וסנכרון דרך commit ו-pull.
כן, אפשר להריץ את קלוד קוד (Claude Code) ואת קודקס (Codex) במקביל על אותו ריפו, ולתת לכל אחד מהם משימה נפרדת בלי שהם ידרסו את העבודה זה של זה. הדרך התקינה היא Git Worktrees: תיקיית עבודה וברנץ' נפרדים לכל סוכן, כששניהם חולקים את אותה היסטוריית Git. אבל אין ביניהם סנכרון בזמן אמת: המעבר בין הסוכנים קורה רק דרך commit, merge ו-pull, ולא לבד.
בקצרה
| השאלה | התשובה הקצרה |
|---|---|
| אפשר לעבוד במקביל על אותו ריפו? | כן, עם Git Worktree לכל סוכן: תיקייה וברנץ' נפרדים, היסטוריה משותפת. |
| הם רואים אחד את השני בזמן אמת? | לא. רק אחרי commit ואז merge, rebase או pull מפורש. |
| חייבים worktrees? | לא חובה, אבל הם הדרך הקלה והמומלצת. קלון נפרד עובד גם, אך כבד יותר. |
| איך מונעים התנגשות קבצים? | כל סוכן כותב רק בתוך ה-worktree שלו. הצ'קאאוט הראשי נשאר סגור בפניו. |
| איך אחד ממשיך מהשני? | מרג'ים את הברנץ' לראשי, ואז fetch ו-merge או rebase ב-worktree של השני. |
מה זה בעצם Git Worktree
Worktree הוא תיקיית עבודה נוספת של אותו ריפו, עם קבצים וברנץ' משלה, אבל עם אותה היסטוריה ואותו מאגר אובייקטים. במקום לשכפל את כל הריפו מחדש בכל פעם שרוצים לעבוד על שני דברים במקביל, פותחים תיקייה שנייה שמצביעה לאותו .git, בלי לכפול את משקל הדיסק ובלי לאבד היסטוריה.
התוצאה המעשית: סוכן אחד יכול לבנות פיצ'ר בתיקייה אחת בזמן שסוכן שני מתקן באג בתיקייה אחרת, ושניהם עובדים על אותו ריפו בלי לראות קבצים פתוחים אחד של השני.
קלוד קוד וקודקס: תמיכה מובנית ב-worktrees
שני הכלים כבר לא דורשים להריץ git worktree ידנית, לכל אחד יש דרך מובנית ליצור worktree ישירות מתוך הכלי.
| היבט | קלוד קוד (Claude Code) | קודקס (Codex) |
|---|---|---|
| איך פותחים | claude --worktree <name> בטרמינל | בוחרים "Worktree" בקומפוזר של צ'אט חדש |
| ברנץ' מוצא | ברנץ' ברירת המחדל של הריפו, אלא אם מגדירים אחרת | בוחרים ברנץ' קיים, כולל הברנץ' הנוכחי עם שינויים |
| איפה נשמר | .claude/worktrees/<name>/ בשורש הריפו | $CODEX_HOME/worktrees |
| מצב הברנץ' | ברנץ' חדש בשם worktree-<name> | HEAD מנותק (detached), לא ברנץ' רגיל |
| ניקוי | סוויפ תקופתי, ובקשה לפני מחיקה אם יש עבודה בפנים | שומר כ-15 worktrees בברירת מחדל, ומוחק את הישנים אוטומטית |
מגבלה חשובה של גיט עצמו, שרלוונטית לשני הכלים: אי אפשר לצ'ק אאוט אותו ברנץ' בשני worktrees בו זמנית. זו לא מגבלה של קלוד קוד או קודקס, זו התנהגות ליבה של Git, וזה בדיוק מה שמונע מצב שבו שני סוכנים "נלחמים" על אותו ברנץ' בלי שאף אחד ביקש את זה (Anthropic, תיעוד Worktrees) (OpenAI, תיעוד Worktrees ב-Codex) (שניהם נבדקו ב-2026-09-28).
האם הם רואים בזמן אמת מה השני שינה?
התשובה הקצרה: לא, ותלוי גם איפה כל אחד רץ. יש כאן שני מצבים שונים לגמרי:
- שני הסוכנים רצים מקומית, כ-worktrees של אותו ריפו על אותו מחשב. במצב הזה הם חולקים את אותו
.git, ולכן ברגע שסוכן אחד מריץgit commit, ה-commit כבר נמצא בהיסטוריה המשותפת וניתן לראות אותו עםgit logמכל worktree אחר של אותו ריפו, בלי push ובלי fetch. אבל זה לא אומר שהקבצים בתיקיית העבודה של הסוכן השני התעדכנו: הם יתעדכנו רק אחריmergeאוrebaseמפורש. - קודקס רץ בסביבת ענן נפרדת (כמו במשימות ה-Cloud של Codex). במצב הזה אין שיתוף
.gitמקומי בכלל, והסנכרון היחיד עובר דרך push לרימוט (למשל GitHub) ו-pull ממנו.
בשני המצבים המסקנה זהה: אף אחד מהכלים לא "מקשיב" לשני שלו כברירת מחדל. אם תרצו שסוכן יידע שקרה משהו אצל השני, צריך לספר לו את זה, בין אם דרך git fetch שאתם מריצים ובין אם דרך קובץ תיאום. לקלוד קוד יש גם מנגנון פנימי בשם cross-session messaging להעברת ממצאים בין סשנים של קלוד קוד עצמו, אבל הוא לא מגשר בין קלוד קוד לקודקס, כי אלה שני מוצרים של שני ספקים שונים.
איך מסנכרנים ביניהם: לפי commit ו-pull, לא לפי קסם
זה התהליך המעשי להקמת שתי סביבות עבודה על אותו ריפו, אחת לכל סוכן:
- פותחים worktree לקלוד קוד מתוך שורש הריפו הראשי:
claude --worktree feature-a. קלוד קוד יוצר תיקייה תחת.claude/worktrees/feature-aוברנץ' חדש בשםworktree-feature-a, ואפשר לתת לו את המשימה הראשונה. - פותחים worktree לקודקס בטרמינל או בחלון נפרד:
git worktree add -b codex-task-b ../myapp-codex-b main, ואזcd ../myapp-codex-bומריצים שם את קודקס. אפשר גם לעשות זאת דרך הקומפוזר של קודקס ולבחור "Worktree", אם עובדים דרך האפליקציה. - כל סוכן מתבקש לעבוד ולבצע commit בעצמו בתוך ה-worktree שלו:
git add -A && git commit -m "...". זה חוקי גם עם הגנות ה-sandbox של קלוד קוד, כיgit commitכותב ל-.gitהמשותף ולא לצ'קאאוט הראשי. - כשסוכן אחד מסיים משימה, חוזרים לצ'קאאוט הראשי ומריצים
git merge worktree-feature-a(או פותחים pull request אם עובדים דרך רימוט משותף כמו GitHub). - לפני שהסוכן השני ממשיך, מריצים בתוך ה-worktree שלו
git fetchואזgit merge mainאוgit rebase main, כדי שהוא יראה בפועל את מה שהתמזג. - מסיימים עבודה, מסירים worktree ישן:
git worktree remove ../myapp-codex-b, כדי שלא יישארו תיקיות פתוחות סתם.
איך לגרום לסוכן אחד להמשיך מאיפה שהשני עצר
אין כפתור "המשך אוטומטית". מה שכן עובד בפועל: לפני שמעבירים משימה מסוכן לסוכן, מוודאים שהברנץ' שהתמזג נמצא בבסיס ה-worktree החדש. כשמגדירים worktree חדש עם ברנץ' בסיס head במקום ברנץ' ברירת המחדל, הוא יתחיל מהעבודה הלא-מאוחדת שכבר קיימת, במקום מהברנץ' הראשי הישן. זה שימושי כשרוצים שסוכן שני ימשיך ישירות על גבי מה שהראשון כבר כתב, בלי לחכות למיזוג מלא לראשי.
להשתמש בסוכן אחד כדי לבדוק ולתקן את השני
זה בדיוק המקום שבו הכלל של "אי אפשר לצ'ק אאוט אותו ברנץ' פעמיים" עלול להפריע, ויש עוקף פשוט: פותחים worktree שלישי במצב detached HEAD, מצוין ישירות על ה-commit שרוצים לבדוק, ולא על שם הברנץ' עצמו. כך אפשר לתת לסוכן השני גישה בדיוק לאותה נקודה בהיסטוריה בלי להתנגש בברנץ' שהסוכן הראשון עדיין מחזיק פתוח אצלו. זו בדיוק השיטה שקודקס עצמו משתמש בה כברירת מחדל כשפותחים worktree חדש דרך האפליקציה.
בפועל, מריצים שם משהו כמו "בדוק את השינויים בדיפף הזה מול main, תריץ טסטים, ותקן כל דבר שנשבר", ומקבלים סוכן שני שמבצע code review אמיתי, כולל תיקון, על עבודה שסוכן אחר כתב, בלי לגעת בברנץ' המקורי.
AGENTS.md: התדריך המשותף שמונע חלק מההתנגשויות
מאז 21 בספטמבר 2026, אם אין קובץ CLAUDE.md בתיקייה, קלוד קוד יבדוק ויקרא קובץ AGENTS.md במקומו, סטנדרט שקודקס עצמו עזר להפוך לנפוץ. המשמעות המעשית: אפשר לכתוב תדריך אחד, "מי עובד על מה", "אילו קבצים לא לגעת בהם עכשיו", "אילו פקודות בדיקה להריץ לפני commit", ולשים אותו בשורש הריפו כך ששני הסוכנים יקראו אותו, כל אחד בתחילת הסשן שלו, מבלי לכתוב שני מסמכי הנחיה נפרדים (דיווח על ההכרזה, InfoWorld) (נבדק ב-2026-09-28).
זה לא מחליף את הסנכרון דרך גיט, אבל זה מוריד מאוד את הסיכוי ששני הסוכנים יתחילו לעבוד על אותו קובץ בו זמנית מבלי לדעת, כי שניהם קוראים את אותה רשימת "מי עושה מה" לפני שהם מתחילים.
טעויות נפוצות שמובילות להתנגשויות
- לתת לשני הסוכנים לעבוד על אותו checkout ראשי, בלי worktree בכלל. זו הדרך המהירה ביותר לקובץ שנדרס באמצע כתיבה.
- להניח שמיזוג יקרה לבד. הוא לא. מישהו, אתם או הסוכן, חייב להריץ
mergeאוrebaseבפועל. - לשכוח קבצים לא עוקבים (untracked) כמו
.env. worktree חדש הוא checkout נקי, וקובץ כמו.envלא יגיע אליו אוטומטית אלא אם הוגדר.worktreeincludeבשורש הריפו. - להשאיר worktrees ישנים פתוחים. הם תופסים מקום ומבלבלים כשמנסים להבין איזה סוכן עובד איפה, ולכן שווה להריץ
git worktree listמדי פעם ולנקות. - לצפות לראות שינויים "בזמן אמת". כפי שהוסבר למעלה, הראייה בין הסוכנים תלויה ב-commit מפורש, לא בקסם.
שורה תחתונה
התשובה לשאלה המקורית היא כן, אפשר להפוך את קלוד קוד וקודקס לשני מפתחי AI שעובדים במקביל על אותו ריפו, אבל התיאום ביניהם לא קורה לבד. Git Worktrees נותנים לכל אחד תיקייה וברנץ' משלו כדי שהם לא ידרסו קבצים, ו-commit, merge ו-pull הם מנגנון התיאום בפועל, לא הצעה. קובץ AGENTS.md משותף מוסיף שכבת תיאום נוספת, כדי ששני הסוכנים ידעו מי עובד על מה עוד לפני שהם נוגעים בקוד.
מי שרק מתחיל עם קודקס ורוצה להבין קודם איך למסור לו משימה ולבדוק מה חזר, לפני שמכניסים סוכן שני לתמונה, ימצא את זה בקורס קודקס (OpenAI Codex) 2026 האינטראקטיבי ב-9.90 שקלים.
להעמקה נוספת: מה זה קודקס (OpenAI Codex)? המדריך המלא בעברית, איך לעבוד עם קלוד קוד (Claude Code), מדריך מעשי למתחילים, וקלוד קוד מול אנטיגרביטי, מה עדיף כשכבר יש לכם מנוי קיים.
מקורות
- Anthropic, תיעוד רשמי: Run parallel sessions with worktrees (נבדק ב-2026-09-28)
- Anthropic, תיעוד רשמי: Cross-session messaging (נבדק ב-2026-09-28)
- OpenAI, תיעוד רשמי: Worktrees ב-Codex (נבדק ב-2026-09-28)
- OpenAI, תיעוד רשמי: תמחור Codex (נבדק ב-2026-09-28)
- InfoWorld: Claude Code now also accepts instructions in OpenAI's Agents.md format (נבדק ב-2026-09-28)
- Git, תיעוד רשמי: git-worktree (נבדק ב-2026-09-28)
קורס במתנה עם ברכה אישית מכם, מסירה מיידית או בתאריך שתבחרו, וגישה לכל החיים.


