דילוג לתוכן הראשי

קלוד קוד: איך חוסמים כתיבה מחוץ לתיקיית הפרויקט, גם במצב עוקף הרשאות

מאת ירון דויטשר עודכן לאחרונה:

עד היום, השאלה “האם קלוד יכול לערוך קובץ מחוץ לפרויקט” הייתה תלויה במצב ההרשאות. ב-acceptEdits הוא מאשר לעצמו עריכות רק בתוך תיקיות העבודה, ומחוץ להן שואל. אבל במצב bypassPermissions השאלה הזאת פשוט לא נשאלת, ועריכה של קובץ בתיקיית הבית עוברת כמו כל עריכה אחרת.

מגרסה 2.1.314, שיצאה ב-30 באוקטובר 2026, יש לזה מתג. לפי יומן השינויים, ההגדרה permissions.blockWritesOutsideWorkingDirectories גורמת לכלים Write, ‏Edit ו-NotebookEdit לסרב לנתיבים מחוץ לתיקיות העבודה, בכל מצב הרשאות.

הכלל: לא “לשאול לפני”, אלא “לא לכתוב”. זה ההבדל בין הגדרה שמבקשת אישור לבין הגדרה שאינה משאירה מה לאשר.

איך מפעילים?

שורה אחת בקובץ ההגדרות, תחת permissions:

{
  "permissions": {
    "blockWritesOutsideWorkingDirectories": true
  }
}

מאותו רגע, כלי העריכה של קלוד כותבים רק בתיקייה שממנה הפעלתם את קלוד קוד, ובתיקיות שהוספתם לה במפורש. לפי תיעוד ההרשאות, מוסיפים תיקייה בשלוש דרכים:

  • בהפעלה: הדגל ‎--add-dir <path>‎
  • באמצע סשן: הפקודה ‎/add-dir‎
  • לתמיד: רשימת additionalDirectories בקובץ ההגדרות

צריך לעדכן קודם. נכון ל-30 באוקטובר 2026, גרסה 2.1.314 נמצאת בערוץ ‎latest‎, והערוץ היציב עומד על 2.1.308, שבה ההגדרה עוד לא קיימת. בודקים עם:

claude --version

למה זה חסר עד עכשיו?

כי לצד הקריאה כבר היה מתג כזה. ההגדרה התאומה, permissions.blockReadsOutsideWorkingDirectories, קיימת מגרסה 2.1.257 וגורמת ל-Read, ‏Grep, ‏Glob ו-LSP לסרב לקריאות מחוץ לתיקיות העבודה, גם ב-bypassPermissions. במצב אוטומטי קלוד קוד אפילו מציע להפעיל אותה בפעם הראשונה שקלוד קורא מחוץ לפרויקט.

כלומר עד השבוע אפשר היה למנוע מקלוד לקרוא את ‎~/.ssh‎, אבל לא למנוע מכלי העריכה שלו לכתוב ל-‎~/.bashrc‎ כשההרשאות פתוחות. שתי ההגדרות יחד סוגרות את שני הכיוונים, ומי שמריץ סשנים ארוכים בלי לשבת מולם צריך את שתיהן.

מה היא לא עוצרת?

כאן צריך לקרוא את השורה ביומן מילה במילה. היא מונה שלושה כלים: Write, ‏Edit ו-NotebookEdit. כלי ה-Bash לא מופיע בה. פקודת shell כמו cp, ‏mv או הפניה עם > לא מוזכרת, ואין לנו בסיס לטעון שההגדרה תופסת אותן. נכון לבוקר הפרסום, תיעוד ההגדרות מפרט רק את התאומה של הקריאה, ועוד לא את זו.

את פקודות ה-shell מגבילה שכבה אחרת: הסביבה המבודדת. לפי התיעוד שלה, פקודות שרצות בתוכה כותבות כברירת מחדל רק לתיקיית העבודה, לתיקייה זמנית של המשתמש ולתיקיות שהוספתם, ומערכת ההפעלה היא שאוכפת את זה, לא ניתוח של טקסט הפקודה. ההסבר למה ההבדל הזה חשוב: אישור ההרשאות אינו גבול אבטחה.

ושני סייגים מעשיים:

  • ווינדוס בלי WSL2: הסביבה המבודדת רצה על מק, לינוקס ו-WSL2 בלבד. בווינדוס מקורי פקודות רצות בלי בידוד, וההגדרה החדשה היא כל מה שעומד בין כלי העריכה לבין שאר הדיסק
  • עריכות לגיטימיות מחוץ לפרויקט: אם ביקשתם מקלוד לתקן קובץ הגדרות בתיקיית הבית או בפרויקט שכן, כלי העריכה יסרב. במקום לכבות את ההגדרה, מוסיפים את התיקייה הספציפית עם ‎/add-dir‎ או ל-additionalDirectories

שורה תחתונה

מי שעובד במצב עוקף הרשאות, או נותן לקלוד קוד לרוץ לבד בלילה, מקבל היום מתג פשוט שמונע מכלי העריכה לגעת בקבצים מחוץ לפרויקט. מפעילים אותו יחד עם התאום של הקריאה, ומשלימים בסביבה מבודדת לפקודות shell. אף אחת משלוש השכבות לא מספיקה לבד, ושלושתן יחד עולות שלוש שורות בקובץ הגדרות.

להמשך: לכוון את קלוד קוד על כללי הרשאות ו-hooks, ואוטומציה בטוחה על מה שלעולם לא רץ בלי אדם.

המקורות לכל מה שכתוב כאן: יומן השינויים של 2.1.314, תיעוד ההרשאות, מדריך ההגדרות ותיעוד הסביבה המבודדת.

הניוזלטר: מה חדש בקלוד, בעברית ובחינם

בלי ספאם, אפשר להסיר את ההרשמה בכל רגע. מדיניות פרטיות

מעדיפים ללמוד את זה בקורס או בסדנה?

רוצים שאנחנו נבנה לכם עוזר AI או אוטומציה בקלוד?