מצב ההרשאות של Claude Code קובע אילו פעולות רצות בלי לשאול אתכם. default (מוצג כ-Manual) שואל לפני עריכות ופקודות shell. acceptEdits מאשר גם עריכות קבצים ופקודות קבצים נפוצות. plan מאפשר ל-Claude לקרוא ולהציע תוכנית, אבל לא לערוך. auto נותן ל-classifier ברקע לאשר פעולות במקומכם. dontAsk דוחה כל מה שהיה דורש אישור. bypassPermissions, שמופעל על ידי --dangerously-skip-permissions, מדלג כמעט לגמרי על בקשות האישור ומיועד רק ל-containers או VMs מבודדים. לחצו Shift+Tab כדי לעבור בין המצבים, או התחילו עם claude --permission-mode <mode>.
המדריך הזה מבוסס על התיעוד של מצבי ההרשאות של Anthropic. Claude Code משתנה לעיתים קרובות, אז כדאי לבדוק שם לגבי הגרסה שלכם.
01ששת המצבים במבט מהיר
default (ידני)קריאה בלבדבדיקה של כל פעולה, עבודה רגישהacceptEditsקריאה, עריכת קבצים ופקודות קבצים נפוצות כמו mkdir, touch, mv ו־cp בתוך תיקיית העבודהעבודה איטרטיבית על קוד שמולךplanקריאה; עריכות חסומות עד לאישור התוכניתחקירה לפני שמשנים משהוautoהכול, כשמסווג בודק כל פעולה מראשמשימות ארוכות עם פחות promptsdontAskקריאה בתיקיות העבודה וכלים שאושרו מראש; כל השאר נדחהCI וסקריפטים נעוליםbypassPermissionsהכול, עם כמה חריגיםרק בקונטיינרים ו־VMs מבודדיםdefault הוא השם שמשמש בהגדרות, ב־hooks ובדגל --permission-mode. ב־CLI, בתוספי ה־IDE ובאפליקציית הדסקטופ הוא מופיע כ־Manual, וה־CLI מקבל גם manual ככינוי.
02איך מחליפים מצב
ב־terminal לוחצים על Shift+Tab. המחזור עובר בין default, acceptEdits, plan, ואז כל מצב אופציונלי שהסשן מאפשר. dontAsk אף פעם לא מופיע במחזור; מגדירים אותו רק דרך הדגל.
כדי להתחיל סשן במצב מסוים:
claude --permission-mode plan
כדי להפוך מצב לברירת המחדל, מגדירים אותו ב־~/.claude/settings.json:
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
הדגל גובר על ההגדרה, וההגדרה גוברת על ברירת המחדל המובנית. כדאי להכיר מגבלה אחת: auto ו־bypassPermissions לא נכנסים לתוקף מקובץ .claude/settings.json או .claude/settings.local.json של פרויקט. ריפוזיטורי לא יכול להעביר אתכם בשקט למצב bypass. את שני אלה מגדירים בהגדרות המשתמש, או מעבירים בדגל.
באיזה מצב סשן חדש מתחיל
בגרסאות עדכניות של Claude Code (v2.1.283 ומעלה), סשנים אינטראקטיביים ב־terminal וב־VS Code מתחילים במצב auto כשהוא זמין, אלא אם ההגדרות קובעות אחרת. claude -p והרצות של Agent SDK מתחילים ב־default. אם אף פעם לא בחרתם מצב ותהיתם למה מופיעים כל כך מעט prompts, זו הסיבה.
03המצבים בפירוט
default (ידני)
Claude יכול לקרוא קבצים בלי לשאול. עריכות, פקודות shell וגישה לרשת מציגות כל אחת prompt. ב־prompt של Bash, האפשרות "Yes, and don't ask again" שומרת כלל allow ב־.claude/settings.local.json, כך שהפקודה לא תשאל שוב בריפוזיטורי הזה. אישורים לעריכת קבצים תקפים עד סוף הסשן.
acceptEdits
עריכות ופקודות קבצים פשוטות (mkdir, touch, rm, rmdir, mv, cp, sed) בתוך תיקיית העבודה רצות בלי prompt. פקודות shell אחרות עדיין שואלות. דרך ביניים טובה כשעוקבים אחרי ה־diff בזמן אמת.
plan
Claude חוקר בעזרת קריאות ופקודות לקריאה בלבד, ואז מציג תוכנית. שום דבר בקוד לא נערך עד שמאשרים אותה. מתאים לקוד לא מוכר או לשינויים מסוכנים.
auto
מודל נפרד בודק כל פעולה לפני שהיא רצה, וחוסם פעולות שחורגות מהבקשה, מכוונות לתשתית שהוא לא מזהה, או נראות מונעות על ידי תוכן עוין. כללי ask מפורשים עדיין מציגים prompt. אם המסווג חוסם שלוש פעולות ברצף או עשרים בסשן, מצב auto מושהה וה־prompts הרגילים חוזרים. בניסוח של Anthropic עצמה, מצב auto "מפחית את ה־prompts להרשאות אבל לא מבטיח בטיחות".
dontAsk
כל מה שהיה מציג prompt נדחה. רצים רק כללי allow ופעולות שלא דורשות אישור. המצב נועד לסקריפטים ול־CI, שבהם אין מי שיענה.
bypassPermissions ו־--dangerously-skip-permissions
--dangerously-skip-permissions זהה ל־--permission-mode bypassPermissions. כל ה־prompts מדולגים, כולל כתיבה לנתיבים מוגנים כמו .git ו־.claude. כמה דברים עדיין מציגים prompt או נדחים בכל מצב, ביניהם כללי ask מפורשים, AskUserQuestion וכמה פקודות rm מסוכנות. כללי deny עדיין חוסמים.
ההמלצה של Anthropic היא להשתמש בזה רק בקונטיינרים, VMs או dev containers בלי גישה לאינטרנט. ב־Mac וב־Linux, Claude Code מסרב לעלות במצב הזה כ־root או תחת sudo מחוץ ל־sandbox מוכר. אם רוצים ש־bypass יהיה זמין אבל לא פעיל, --allow-dangerously-skip-permissions מוסיף אותו למחזור של Shift+Tab בלי לעבור אליו.
04כללים יושבים מעל המצבים
המצבים קובעים את הבסיס. כללי הרשאות בהגדרות מכווננים אותו:
{
"permissions": {
"allow": ["Bash(npm run test *)"],
"ask": ["Bash(git push *)"],
"deny": ["Read(./.env)"]
}
}
הכללים נבדקים בסדר deny, אחר כך ask, ואז allow, וההתאמה הראשונה קובעת. כללי deny חוסמים בכל מצב, כולל bypassPermissions. לכללי allow אין השפעה ב־bypassPermissions, כי שם הכול כבר מותר. הריצו /permissions כדי לראות את כל הכללים ומאיזה קובץ כל אחד הגיע.
גם hooks יכולים להשתתף. hook מסוג PreToolUse יכול לחסום קריאה לכלי בכל מצב. hook מסוג PermissionRequest יכול לענות על prompt במקומכם, אבל לא לעקוף כלל deny. המדריך ל־PermissionRequest מראה איך.
05בחירת מצב כשמתרחקים מהמחשב
הסיבה הנפוצה לשימוש ב---dangerously-skip-permissions היא הרצון להשאיר את Claude לעבוד בלי לחזור ולגלות סשן שתקוע על prompt. זו בעיה אמיתית, אבל מצב bypass פותר אותה בכך שהוא מבטל לגמרי את הפיקוח שלכם, על המחשב שלכם.
כמה שילובים בטוחים יותר:
- כללי allow לפקודות השגרתיות. הוסיפו את פקודות הבדיקה, ה-lint וה-build ל-
allow, השאירוaskעלgit pushועל deploy, והישארו ב-defaultאו ב-acceptEdits. - מצב auto למשימות ארוכות, כשמקובל עליכם ש-classifier יחליט לגבי פעולות שגרתיות.
- להביא את ה-prompt לאן שאתם נמצאים. השאירו מצב ששואל, וענו מהטלפון על ה-prompts הבודדים שבאמת חשובים.
האפשרות האחרונה היא בדיוק מה ש-Claude Code Notifier עושה. זה כלי עצמאי, שאינו של Anthropic. כלי שורת הפקודה שלו, ccn, רץ כ-hooks של Claude Code ב-Mac, ב-Windows וב-Linux. כש-Claude Code עומד לבקש הרשאה ואתם לא ליד המקלדת, הבקשה נשלחת לטלפון ה-iPhone או ה-Android המצומד, ושם אפשר לאשר פעם אחת, לאשר לכל הסשן או לדחות. הוא רואה רק prompts ש-Claude Code היה מציג בכל מקרה, כך שהמצב והכללים שלכם עדיין קובעים מה דורש אישור. במצב auto תקבלו פחות בקשות; ב-bypassPermissions לא תקבלו בכלל, אם כי התראות "Claude סיים" ושאלות עדיין יגיעו. המדריך לאישור מהטלפון מסביר את ההגדרה, ו-האם בטוח לאשר מהטלפון? עוסק בסיכונים.
06שאלות נפוצות
מה ההבדל בין default ל-acceptEdits?
default שואל לפני כל עריכת קובץ וכל פקודת shell. acceptEdits מאפשר לעריכות קבצים ולפקודות קבצים נפוצות כמו mkdir, mv ו-cp בתוך תיקיית העבודה לרוץ בלי לשאול. פקודות shell אחרות עדיין מציגות prompt בשני המצבים.
האם --dangerously-skip-permissions זהה ל-bypassPermissions?
כן. הדגל שקול ל---permission-mode bypassPermissions. Anthropic ממליצה להשתמש בו רק בקונטיינרים או ב-VM מבודדים, רצוי בלי גישה לאינטרנט.
איך גורמים ל-Claude Code להפסיק לבקש הרשאה לפקודה מסוימת?
בחרו "Yes, and don't ask again" ב-prompt, או הוסיפו כלל allow כמו "Bash(npm test)" תחת permissions.allow בהגדרות. זה בטוח יותר משינוי המצב כולו.
האם ההגדרות של פרויקט יכולות להעביר אותי למצב bypassPermissions?
לא. bypassPermissions ו-auto ב-.claude/settings.json או ב-.claude/settings.local.json לא נכנסים לתוקף. הם חלים רק מהגדרות המשתמש או מהגדרות מנוהלות, או מדגל שורת הפקודה.
האם hooks עדיין רצים במצב bypassPermissions?
כן. hooks רצים בכל מצב, ו-hook מסוג PreToolUse שדוחה קריאה לכלי חוסם אותה גם ב-bypassPermissions. hook מסוג PermissionRequest רץ רק כשיש prompt לענות עליו, ולכן במצב bypass הוא כמעט לא מופעל.