איך לסנכרן את כל השיחות של קלוד קוד (Claude Code) לענן ולהמשיך מכל מחשב
קלוד קוד שומר את כל השיחות מקומית על המחשב שלך בלבד. במדריך המלא: איך להעלות את כולן לענן, לסנכרן אוטומטית, ולהמשיך את אותן שיחות מכל מחשב — עם פקודה אחת, ובלי לאבד היסטוריה.
הידעת?
במחשב אחד אמיתי שבדקנו נמצאו 1,388 שיחות של קלוד קוד בנפח כ-968MB על פני 40 פרויקטים — כל זה שמור מקומית בלבד, בלי שום עותק בענן כברירת מחדל. מחיקת התיקייה, פורמט או גניבת מחשב = כל ההיסטוריה אבודה, בלי דרך לשחזר.
קלוד קוד (Claude Code) שומר את כל השיחות שלך מקומית על המחשב בלבד — אין לו סנכרון ענן מובנה. הפתרון: להפוך את תיקיית השיחות ~/.claude/projects לריפו GitHub פרטי, להשתמש ב-Git LFS לקבצים הגדולים, ולסנכרן הכול עם פקודה אחת — claude-sync. במחשב חדש עושים clone וממשיכים לעבוד בדיוק מאותה נקודה. במדריך הזה תמצא את כל השלבים, אוטומציה מלאה, כללי אבטחה, ופתרון לכל תקלה נפוצה.
בקצרה (TL;DR)
- לגרסת הטרמינל של קלוד קוד אין סנכרון ענן מובנה — השיחות מקומיות בלבד.
- הופכים את
~/.claude/projectsלריפו GitHub פרטי. - משתמשים ב-Git LFS לקבצים הגדולים (GitHub חוסם קבצים מעל 100MB).
- מסנכרנים עם פקודה אחת:
claude-sync— ואפשר גם אוטומטית. - במחשב חדש:
clone+git lfs pull, וממשיכים כרגיל עםclaude --resume.
איפה קלוד קוד שומר את השיחות שלי?
התשובה הקצרה: כל השיחות נשמרות מקומית על המחשב, בתיקייה ~/.claude/projects/. אין עותק בענן כברירת מחדל.
בתוך התיקייה כל שיחה היא קובץ .jsonl נפרד, מקובצת לפי תיקיית העבודה שבה נוצרה. לדוגמה, במחשב אחד אמיתי היו 1,388 שיחות בנפח כ-968MB על פני כ-40 פרויקטים.
מה זה קובץ .jsonl של קלוד קוד? יומן טקסט של שיחה בודדת בפורמט JSON Lines: כל שורה היא אירוע אחד (הודעה, קריאת כלי, תוצאה). קלוד קוד קורא אותו כדי לשחזר שיחה עם
claude --resume. אם הקובץ קיים בתיקייה — השיחה ניתנת להמשך; אם לא — היא אבודה.
חדשים לקלוד קוד? כדאי להתחיל מהמדריך למתחילים ומאיך מתקינים אותו.
מבנה התיקייה — איך השיחות מאורגנות
התשובה הקצרה: כל פרויקט מקבל תיקיית משנה משלו בתוך ~/.claude/projects/, ששמה הוא נתיב תיקיית העבודה כשהמקפים מחליפים את הלוכסנים. בתוכה — קובץ .jsonl לכל שיחה.
כך זה נראה בפועל:
~/.claude/
├── projects/ ← זו התיקייה שמסנכרנים
│ ├── -Users-me-my-website/
│ │ ├── 4bb68372-...-11fa00d1.jsonl ← שיחה 1
│ │ └── a394e9f5-...-09b364.jsonl ← שיחה 2
│ └── -Users-me-another-project/
│ └── 7e4f1302-...-c41529.jsonl
├── settings.json ← הגדרות (לא לסנכרן)
└── .credentials.json ← אסימוני התחברות (בשום אופן לא לסנכרן)
נקודה קריטית לאבטחה: מסנכרנים רק את ~/.claude/projects, ולא את כל ~/.claude. התיקייה הראשית מכילה גם הגדרות ולעיתים אסימוני הזדהות — אלה לא צריכים להגיע לגיט אף פעם, גם לא לריפו פרטי.
האם לקלוד קוד יש סנכרון ענן מובנה?
התשובה הקצרה: לא. לגרסת הטרמינל אין כרגע פיצ'ר שמעלה את ההיסטוריה המקומית לענן ומאפשר להמשיך אותה ממחשב אחר. לכן מסנכרנים ידנית.
הדרך היציבה ביותר היא ריפו GitHub פרטי: הוא נותן גיבוי, היסטוריית גרסאות (אפשר לחזור אחורה לגרסה של אתמול), ושליטה מלאה על מתי מעלים ומורידים — בלי סיכון לקונפליקטים אוטומטיים כמו בתיקיות סנכרון שקופות.
למה צריך Git LFS ולא רק Git רגיל?
התשובה הקצרה: כי GitHub חוסם קבצים בודדים מעל 100MB (מקור: GitHub Docs), ומזהיר כבר מעל 50MB. שיחות ארוכות בקלוד קוד חוצות בקלות את הגבול הזה, ואז דחיפה רגילה נכשלת עם שגיאת file is too large.
מה זה Git LFS? Git Large File Storage — הרחבה של Git שמאחסנת קבצים גדולים בשרת נפרד, ושומרת בתוך הריפו רק "מצביע" קטן במקומם. כך הריפו נשאר קליל, והקבצים הגדולים עדיין מסונכרנים אוטומטית.
עם Git LFS הקבצים הגדולים נשארים קבצים חיים אמיתיים על הדיסק — כך שבמחשב חדש הכול פשוט עובד אחרי clone, בלי צעד שחזור ידני.
מדריך שלב אחר שלב: הקמת הגיבוי (פעם אחת)
התשובה הקצרה: מריצים את הפקודות הבאות במחשב הראשי — הן מקימות ריפו פרטי, מפעילות LFS ודוחפות את כל השיחות. סך הכול כמה דקות.
1. התקנת Git LFS
brew install git-lfs
(במערכות אחרות: sudo apt install git-lfs בלינוקס, או ההתקנה מ-git-lfs.com בווינדוס.)
2. הפיכת תיקיית השיחות לריפו עם LFS
cd ~/.claude/projects
git lfs install --local
git init
git lfs track "*.jsonl"
git add -A
git commit -m "backup: initial snapshot of all Claude Code conversations"
טיפ: הפקודה
git lfs track "*.jsonl"יוצרת קובץ.gitattributesשמורה ל-Git לטפל בכל קובצי ה-.jsonlדרך LFS. הקובץ הזה נכלל ב-commit — כך שגם במחשב חדש הכללים כבר שם.
3. יצירת ריפו פרטי ודחיפה לענן
באמצעות ה-CLI של GitHub (gh). הדחיפה הראשונה מעלה את כל הנפח דרך LFS ויכולה לקחת כמה דקות.
gh repo create claude-history --private --source=. --remote=origin
git branch -M main
git push -u origin main
⚠️ שים לב לפרטיות: קובצי השיחה מכילים את כל מה שדיברת עם הסוכן — קוד, נתיבים, ולעיתים סודות שהוזכרו. ודא שהריפו מסומן Private (הדגל
--private), ואל תעלה אותו לריפו ציבורי בשום מצב.
איך ממשיכים את השיחות במחשב חדש?
התשובה הקצרה: שלושה צעדים חד-פעמיים, ואז עובדים כרגיל. משכפלים את הריפו אל תוך תיקיית ה-Claude ומושכים את קבצי ה-LFS.
brew install git-lfs
git clone https://github.com/<user>/claude-history.git ~/.claude/projects
cd ~/.claude/projects
git lfs pull
מכאן פותחים את claude בכל פרויקט, מריצים claude --resume, ובוחרים את השיחה שרוצים להמשיך — בדיוק כמו במחשב המקורי.
מה ההבדל בין
--resumeל---continue?claude --resumeפותח רשימה של כל השיחות בפרויקט כדי שתבחרו;claude --continue(אוclaude -c) ממשיך אוטומטית את השיחה האחרונה. אחרי סנכרון ממחשב אחר —--resumeעדיף, כי הוא מראה גם את השיחות שירדו הרגע מהענן.
חשוב: אם התיקייה ~/.claude/projects כבר קיימת במחשב החדש (עם שיחות מקומיות משלו), אל תריצו clone עליה — הוא ייכשל. במקרה כזה עברו לסעיף "עבודה מכמה מחשבים" למטה.
פקודת claude-sync — שגרת העבודה היומית
התשובה הקצרה: כדי לא לזכור רצף פקודות בכל פעם, בונים פקודת סנכרון אחת דו-כיוונית. יוצרים קובץ סקריפט בתיקייה שנמצאת ב-PATH (למשל /opt/homebrew/bin/claude-sync):
#!/usr/bin/env bash
set -euo pipefail
cd ~/.claude/projects
git add -A
if ! git diff --cached --quiet; then
git commit -qm "backup: sync $(date '+%Y-%m-%d %H:%M')"
fi
git pull --rebase --no-edit origin main
git lfs pull
git push -q origin main
echo "Conversations synced with GitHub."
הופכים אותו לניתן להרצה, ומאותו רגע מסנכרנים הכול עם מילה אחת:
chmod +x /opt/homebrew/bin/claude-sync
claude-sync
מה עושה claude-sync? הפקודה שומרת שיחות חדשות (commit), מושכת שינויים ממחשבים אחרים (
pull --rebase), מורידה את קבצי ה-LFS, ודוחפת הכול לענן — בפעולה אחת בטוחה שאפשר להריץ מכל מחשב.
ההרגל המומלץ: מריצים claude-sync בתחילת יום עבודה (למשוך את האחרון) ובסופו (לדחוף את מה שעשיתם).
קיצור דרך נוסף: alias ב-shell
אם אתם לא רוצים קובץ נפרד ב-PATH, אפשר להוסיף שורה ל-~/.zshrc (או ~/.bashrc):
alias csync='cd ~/.claude/projects && git add -A && git commit -qm "sync $(date +%F_%H:%M)" 2>/dev/null; git pull --rebase --no-edit && git lfs pull && git push -q'
טוענים מחדש עם source ~/.zshrc, ומאותו רגע csync עושה את אותו הדבר.
אוטומציה: סנכרון אוטומטי בלי לזכור
התשובה הקצרה: מי שלא רוצה להריץ claude-sync ידנית יכול להריץ אותו אוטומטית — בזמן קבוע דרך cron, או ברקע דרך launchd במק.
השיטה הפשוטה ביותר: cron שמריץ סנכרון פעמיים ביום (בוקר וערב). פותחים crontab -e ומוסיפים:
0 9,19 * * * /opt/homebrew/bin/claude-sync >> ~/.claude/sync.log 2>&1
זה מריץ את הסנכרון כל יום ב-09:00 וב-19:00, וכותב יומן ל-~/.claude/sync.log.
אזהרה חשובה על אוטומציה: סנכרון אוטומטי בטוח רק אם אתם עובדים על מחשב אחד בכל רגע נתון. אם שני מחשבים מסנכרנים אוטומטית ואתם עובדים על שניהם באותו יום — תקבלו קונפליקטים. לעבודה מרובת-מחשבים, העדיפו סנכרון ידני (סעיף הבא) כדי לשלוט מתי בדיוק כל מחשב מעלה ומוריד.
עבודה מכמה מחשבים — השגרה הנכונה
התשובה הקצרה: הכלל היחיד שחשוב לזכור — מחשב אחד בכל רגע. מסיימים במחשב א', דוחפים, ורק אז פותחים במחשב ב', מושכים, ומתחילים.
השגרה המדויקת שמונעת כל קונפליקט:
- במחשב א', בסוף העבודה:
claude-sync(דוחף את מה שעשיתם). - עוברים למחשב ב'. לפני שנוגעים בקלוד קוד:
claude-sync(מושך את מה שהמחשב הראשון דחף). - עובדים במחשב ב'.
- בסוף:
claude-syncשוב, וחוזר חלילה.
אם שכחתם לסנכרן ועשיתם עבודה בשני מחשבים במקביל — לא נורא. git pull --rebase בתוך claude-sync ינסה למזג. במקרה נדיר של התנגשות על אותו קובץ שיחה, Git יבקש התערבות ידנית; מכיוון שכל שיחה היא קובץ נפרד, זה קורה רק אם המשכתם בדיוק את אותה שיחה משני מחשבים — מצב שקל להימנע ממנו.
פתרון תקלות נפוצות
התשובה הקצרה: רוב התקלות הן על מכסת LFS, דחיפה שנדחתה, או קובץ שחצה 100MB לפני שהופעל LFS. כולן פתירות בכמה שורות.
this exceeds GitHub's file size limit of 100.00 MB — סימן שקובץ נכנס ל-Git הרגיל לפני שהפעלתם LFS. תקנו:
git lfs migrate import --include="*.jsonl" --everything
git push --force origin main
Updates were rejected because the remote contains work that you do not have — מחשב אחר דחף לפניכם. פשוט משכו קודם:
git pull --rebase --no-edit origin main && git push
batch response: This repository is over its data quota — עברתם את מכסת ה-LFS החינמית (1GB). האפשרויות: לרכוש data pack ב-5 דולר לחודש, או להסיר שיחות ישנות מאוד מההיסטוריה.
ה-clone במחשב חדש הביא קבצים קטנים של "מצביעים" במקום שיחות — שכחתם git lfs pull. הריצו אותו בתוך התיקייה וזהו.
מגבלות ומכסות שחשוב להכיר
התשובה הקצרה: הכול חינם ברוב המקרים, אבל יש שני גבולות שכדאי להכיר — מכסת התעבורה של LFS, וכלל "מחשב אחד בכל רגע".
- מכסת LFS חינמית: כ-1GB אחסון ו-1GB תעבורה בחודש (מקור: GitHub Docs). ה-
cloneהראשון במחשב חדש צורך כמעט את כל מכסת התעבורה החודשית בבת אחת. - גדילה: אם ההיסטוריה חוצה את 1GB, GitHub מציע data pack בעלות של כ-5 דולר לחודש ל-50GB אחסון + 50GB תעבורה.
- לא בו-זמנית: אל תעבדו על שני מחשבים במקביל מול אותו סנכרון — זה יוצר קונפליקטים. מחשב אחד בכל רגע.
- זה לא Claude Code Web: המדריך מסנכרן את היסטוריית הטרמינל המקומית, לא סשנים של claude.ai/code.
- רק projects/, לא כל ~/.claude: אל תסנכרנו הגדרות ואסימוני הזדהות.
חלופות: מתי לבחור משהו אחר?
התשובה הקצרה: GitHub + LFS נותן את השליטה והגיבוי הטובים ביותר, אבל דורש להריץ claude-sync. הנה ההשוואה המלאה:
| שיטה | יתרון | חיסרון עיקרי | למי מתאים |
|---|---|---|---|
| GitHub פרטי + LFS | גיבוי, גרסאות, שליטה מלאה | צריך להריץ claude-sync | מי שרוצה גם גיבוי היסטורי |
| iCloud/Dropbox + symlink | סנכרון שקוף ואוטומטי | סיכון קונפליקט על 2 מחשבים | מחשב יחיד + גיבוי פסיבי |
| Claude Code Web | ענן מלא, נגיש מכל דפדפן | לא מייבא שיחות מקומיות קיימות | מי שמתחיל מאפס בענן |
| rsync לשרת/NAS פרטי | פרטיות מוחלטת, בלי צד ג' | דורש שרת ותחזוקה | מי שכבר מנהל שרת |
הערה על iCloud/Dropbox: אפשר להעביר את
~/.claude/projectsלתוך תיקיית סנכרון וליצור symlink במקום המקורי. זה עובד ונוח, אבל שירותי הסנכרון האלה לא מבינים מיזוג — אם שני מחשבים כותבים בו-זמנית, אחד "מנצח" והשני עלול לאבד שינויים. לכן GitHub עדיף כשעובדים מכמה מחשבים.
אבטחה ופרטיות — שלושה כללים
התשובה הקצרה: קובצי השיחה מכילים מידע רגיש. שלושה כללים סוגרים את רוב הסיכון: ריפו פרטי, לא לסנכרן credentials, ולשקול הצפנה אם יש סודות.
- ריפו פרטי בלבד. לעולם לא ציבורי. השיחות מכילות נתיבים, קוד ולעיתים סודות שהזכרתם באגב.
- רק
projects/. לא לסנכרן את~/.claude/settings.jsonובטח לא את קובץ ה-credentials. - הצפנה למי שצריך. אם אתם עובדים על פרויקטים רגישים במיוחד, אפשר להצפין את התיקייה עם
git-cryptלפני הדחיפה — כך אפילו אם מישהו יגיע לריפו, התוכן מוצפן. למי שהזכיר סוד אמיתי בשיחה, ההמלצה הכללית תמיד: להחליף את הסוד (rotate), כי הוא כבר נכתב לקובץ.
שורה תחתונה
קלוד קוד לא מסנכרן שיחות לענן לבד — אבל בכמה דקות הקמה חד-פעמית אתם הופכים את ~/.claude/projects לגיבוי מסונכרן בענן, עם היסטוריית גרסאות מלאה, וממשיכים את אותן שיחות מכל מחשב עם פקודה אחת: claude-sync. הוסיפו cron לסנכרון אוטומטי, זכרו את כלל "מחשב אחד בכל רגע", ואל תסנכרנו אף פעם את ה-credentials — וההיסטוריה שלכם מוגנת לתמיד.
רוצים ללמוד לעבוד עם קלוד קוד לעומק — מהתקנה ועד בניית סוכנים ומערכות שלמות? יש הקורסים החינמיים באקדמיה, מדריך בניית אתר מלא עם קלוד קוד, המדריך ל-MCP בעברית, ולמי שרוצה ליווי אישי — שיעור פרטי 1-על-1.
קורס במתנה עם ברכה אישית מכם — מסירה מיידית או בתאריך שתבחרו, וגישה לכל החיים.