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

קלוד קוד מפסיק לשאול: מצב אוטומטי הוא ברירת המחדל

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

ב-7 באוגוסט 2026 הודיעה Anthropic על שינוי שנכנס לתוקף ב-14 באוגוסט, וכל מי שמריץ קלוד קוד (Claude Code) פוגש אותו מעכשיו: מצב אוטומטי הוא ברירת המחדל לשיחות חדשות בתוכניות Pro, Max ו-Team. במקום שקלוד יעצור וישאל לפני כל עריכה ופקודה, מסווג נפרד בודק כל פעולה לפני שהיא רצה וחוסם את מה שחורג מהבקשה.

מצב אוטומטי עצמו אינו חדש. מה שהשתנה הוא מי מקבל אותו בלי לבקש.

מה בדיוק משתנה?

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

במילים אחרות: זה שינוי לרוב המשתמשים שמעולם לא נגעו בהגדרה הזאת. מי שכבר בחר מצב עבודה, בחירתו עומדת.

בצד הכספי, Anthropic הודיעה באותו פוסט שהיא מפסיקה לחייב את משתמשי Pro, Max ו-Team על תקורת המסווג.

מה המסווג חוסם?

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

רשימת החסימות המובנית ארוכה, ואלה הפריטים שרוב המשתמשים יפגשו:

  • הורדה והרצה של קוד בסגנון curl | bash
  • פעולות git הרסניות: דחיפה כפויה, git reset --hard, git clean -fd, git stash drop, ותיקון commit שכבר נדחף
  • מחיקות שורש: rm -rf / ו-rm -rf ~, כולל כשהן מוסתרות בתוך החלפת פקודה
  • הריסת תשתית: terraform destroy ומקביליו ב-pulumi וב-cdk

נקודה שקל לפספס: המסווג סומך על תיקיית העבודה ועל ה-remotes שהיו מוגדרים לה כשהשיחה נפתחה. remote שנוסף או שהופנה מחדש באמצע השיחה אינו מהימן מבחינתו, וכל היעד היתר נחשב חיצוני עד שמגדירים אחרת. זה בדיוק המקום שבו רוב החסימות המעצבנות נולדות, והמענה לו הוא הגדרת סביבה ולא כיבוי המצב: מה כדאי להגדיר עכשיו.

ומה שדווקא מותר ומפתיע רבים: דחיפה לכל ענף של המאגר שעובדים בו, כולל ענף ברירת המחדל, ופתיחת PR. ענף ששמו מסמן יעד פריסה כמו production נשפט לגופו, ודחיפה כפויה או סוד שנכנס ל-commit נחסמים בכל מקרה.

ההפתעה: כללי ההרשאה הרחבים שלכם נכבים

זה החלק שסותר את הכותרת, והוא החשוב ביותר למי שכבר עבד קשה כדי לצמצם שאלות.

בכניסה למצב אוטומטי, קלוד קוד מנטרל את כללי ההיתר הרחבים שמעניקים הרצת קוד שרירותית: Bash(*) ו-PowerShell(*) גורפים, מפרשים עם תווים כלליים כמו Bash(python*), פקודות הרצה של מנהלי חבילות, וכללי היתר על Agent. כללים צרים כמו Bash(npm test) ממשיכים לעבוד כרגיל, והכללים שנוטרלו חוזרים ברגע שיוצאים מהמצב. קובץ ההגדרות עצמו אינו משתנה.

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

מי שרוצה ללכת עד הסוף ולהעביר גם את הכללים הצרים דרך המסווג יכול להגדיר ‎autoMode.classifyAllShell‎, במחיר של המתנה לבדיקה בכל פקודת מעטפת.

מה עדיין עוצר את קלוד?

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

  • כללי ‎deny‎: חוסמים לפני שהמסווג בכלל נשאל. לא שיקול דעת המודל ולא כוונה מפורשת שלכם עוקפים אותם
  • כללי ‎ask‎: מאלצים שאלה תמיד, גם במצב אוטומטי, כי בקשה מפורשת להישאל היא הצהרת כוונה שלכם
  • גבול שנאמר בשיחה (“אל תדחוף עד שאבדוק”): המסווג מכבד אותו, אבל הוא עלול ללכת לאיבוד אם דחיסת הקשר תמחק את ההודעה שקבעה אותו

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

זו גם המתכונת שהתיעוד מציע כדי לשמור שער אנושי לפני דחיפה ופתיחת PR:

{
  "permissions": {
    "ask": [
      "Bash(git push *)",
      "Bash(gh pr create *)"
    ]
  }
}

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

איך חוזרים למצב הישן?

באמצע שיחה לוחצים Shift+Tab ומחליפים מצב, או בוחרים מהתפריט באפליקציה ובווב. מי שרוצה לקבע ברירת מחדל אחרת מגדיר ‎defaultMode‎ בהגדרות המשתמש.

פרט אחד ששווה לדעת: קלוד קוד מתעלם מ-‎defaultMode: “auto”‎ בקובצי ההגדרות של הפרויקט, כדי שמאגר קוד לא יוכל להעניק לעצמו מצב אוטומטי. ההגדרה הזאת עובדת רק מקובץ ההגדרות האישי שלכם. מנהלי ארגון שרוצים לכבות את המצב לגמרי משתמשים ב-‎disableAutoMode‎ בהגדרות המנוהלות.

מה זה לא אומר

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

  • המדידה היא של Anthropic על הכלי שלה: בניסוי מבוקר, הבודקים זיהו את הפקודה המסוכנת ב-13.6% מהמקרים ומצב אוטומטי חסם 89% מאותן פקודות. בנתוני שימוש אמיתיים, 6.3% מהשיחות שאושרו ידנית הכילו פעולה מזיקה שהמשתמש לא ביקש, מול 2.4% בשיחות מצב אוטומטי
  • החולשה שהמספרים מצביעים עליה היא אנושית: משתמשים מאשרים 97% משאלות ההרשאה. שער שמאשרים אותו כמעט תמיד אינו באמת שער, וזה הטיעון המרכזי בפוסט
  • Anthropic עצמה אינה מבטיחה בטיחות: בלשונה, מצב אוטומטי “נשען על מערכות סיווג ולכן אינו מבטל סיכון”. התיעוד מוסיף אזהרה מפורשת שצמצום שאלות אינו ערובה לבטיחות ואינו מחליף סקירה של פעולות רגישות
  • הנימוק לחסימה לרוב אינו מוסבר: ברוב השיחות הטקסט שתראו הוא ‎Blocked by classifier‎ ותו לא. הפעולות שנחסמו יושבות בלשונית Recently denied בתוך ‎/permissions‎, ואפשר לבקש שם ניסיון חוזר

שורה תחתונה

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

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

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