מדריך קלוד קוד בעברית

תיעוד 133

בחירת מצב הרשאות

שליטה בשאלה אם Claude שואל לפני שהוא פועל. מחליפים מצבי הרשאות עם Shift+Tab ב-CLI, במחוון המצב ב-VS Code, או בבורר המצב ב-Desktop.

מצב הרשאות קובע אילו פעולות Claude יכול לבצע בסשן בלי לשאול אותך קודם. במצב Manual, Claude Code עוצר ושואל אותך לפני רוב הפעולות שעורכות קבצים, מריצות פקודות מעטפת, או מגיעות לרשת. במצב auto, מודל שני, המסווג (classifier), סוקר פעולות במקומך. איך המסווג מעריך פעולות מפרט אילו פעולות הוא סוקר ואילו מדלגות עליו.

עם Claude Code v2.1.283 או מאוחר יותר, מצב auto הוא מצב ההרשאות ההתחלתי המובנה לסשנים אינטראקטיביים בטרמינל וב-VS Code. בגרסאות קודמות, הוא מצב ההרשאות ההתחלתי המובנה רק בתוכניות Pro, Max, Ultra ו-Team. באיזה מצב סשן מתחיל מכסה את המשטחים ואת ההגדרות שמשנים את מצב ההרשאות ההתחלתי. אפשר גם לשנות את מצב ההרשאות של סשן שרץ בכל זמן.

#מצבים זמינים

כל מצב עושה פשרה אחרת בין נוחות לפיקוח. הטבלה למטה מראה מה Claude יכול לעשות בלי בקשת הרשאה בכל מצב. מצב Manual מופיע תחת ערך התצורה שלו, default.

מצבמה רץ בלי לשאולמתאים ל
defaultקריאות בלבדסקירה עצמית של כל פעולה, עבודה רגישה
acceptEditsקריאות, עריכות קבצים, ופקודות נפוצות של מערכת הקבצים (mkdir, touch, mv, cp, וכדומה)איטרציה על קוד שאתה סוקר
planקריאות, ובנוסף פקודות שהמסווג אישר כשמצב auto זמיןסיור בקוד לפני שמשנים אותו
autoהכל, עם בדיקות בטיחות ברקעמשימות ארוכות, הפחתת עייפות מבקשות
dontAskקריאות קבצים בתוך ספריות העבודה וכלים שאושרו מראש. כל מה שהיה מבקש נדחה, אם כי מוד שהתקנת עדיין יכול לאשר חלק מהקריאות האלהCI וסקריפטים נעולים
bypassPermissionsהכלקונטיינרים ומכונות וירטואליות מבודדים בלבד

המצב שסוקר כל פעולה נקרא Manual ב-CLI, ב-claude --help, בהרחבות VS Code ו-JetBrains, ובאפליקציית הדסקטופ. ערך התצורה שלו הוא default, וזה מה ש-hooks ואינטגרציות SDK משתמשים בו. ה-CLI מקבל את manual ככינוי בכל מקום שבו מקלידים את הערך, למשל claude --permission-mode manual או "defaultMode": "manual".

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

המצבים קובעים את קו הבסיס. מעליהם מוסיפים כללי הרשאות כדי לאשר מראש או לחסום כלים מסוימים. כללי Deny חוסמים בכל מצב, כולל bypassPermissions. כללי Deny ו-ask לא חלים על EndConversation כל עוד ל-Claude עדיין יש לפחות כלי אחד נוסף שהוא יכול לקרוא לו. לכללי Allow אין השפעה ב-bypassPermissions.

#פעולות שאף מצב לא מאשר אוטומטית

Claude Code לא מאשר אוטומטית את הפעולות הבאות באף מצב, כולל bypassPermissions, אם כי אפשר לכבות את הבקשה לפקודות rm מסוכנות במצב bypassPermissions. כל סעיף מקשר אל החלק שאומר מה קורה במקום זאת בכל מצב:

  • כלים שתואמים לכלל ask מפורש

  • כלי מחברים (connector) שהארגון שלך הגדיר ל-ask, בסשנים שבהם ההגדרה הזו מגיעה אל Claude Code

  • כלים שדורשים אינטראקציה של המשתמש: הכלי המובנה AskUserQuestion וכלי MCP שמסומנים requiresUserInteraction

  • מחיקות מוכרות של rm ו-rmdir בנתיבים קריטיים, שאותן אף כלל Allow או hook של PreToolUse עם "allow" לא מאשר, ופקודות Bash שסומנו Dangerous rm operation not ruled out

  • אמצעי ההגנה על הודעות בין סשנים

  • קריאות מחוץ לספריות העבודה בזמן ש-permissions.blockReadsOutsideWorkingDirectories פעיל: פקודות Bash מוכרות לקריאת קבצים מבקשות גם במצב auto ובמצב bypassPermissions, וכך גם כל ניסיון חוזר מחוץ לארגז החול שצריך אישור כדי לרוץ מחוץ לארגז החול. נדרש Claude Code v2.1.257 או מאוחר יותר.

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

  • כתיבות מחוץ לספריות העבודה בזמן ש-permissions.blockWritesOutsideWorkingDirectories פעיל: Claude Code מסרב לקריאות Write, Edit ו-NotebookEdit שם, חוץ מחלק מהקבצים שלו עצמו. המפתח לא מגביל פקודות מעטפת, כלי MCP, או את התוכניות ש-hooks מריצים, ולכן משתמשים בארגז חול כדי להגביל לאן פקודות מעטפת כותבות. נדרש Claude Code v2.1.314 או מאוחר יותר.

#הגדרות נפוצות

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

מה שרוציםמתחילים עםבידוד נדרשהערות
לסקור כל פעולה בעצמךמצב Manual: claude --permission-mode defaultאיןעבודה רגישה, קוד לא מוכר
לעבוד מקומית עם פחות בקשות, בלי מסווגמצב Manual יחד עם ארגז החול של Bash במצב auto-allow: claude --permission-mode default, ואז להריץ /sandbox ולבחור auto-allowארגז החול המובנה של Bash, ב-macOS, ב-Linux וב-WSL2כללי Deny עדיין חלים, וכללי ask שמציינים פקודה, כמו Bash(git push *), עדיין מבקשים. מצב auto-allow מכסה פקודות אחרות שיכולות לבקש. כדי להפעיל את ארגז החול מקובץ הגדרות במקום זאת, מגדירים את sandbox.enabled ל-true
לסייר לפני שמשנים משהוclaude --permission-mode planאיןClaude Code חוסם עריכות עד שמאשרים תוכנית
לעבוד בלי ידיים במצב autoclaude --permission-mode auto, מצב ההרשאות ההתחלתי המובנה עם v2.1.283 או מאוחר יותראין. ארגז חול או קונטיינר מוסיפים הגנה לעומקנדרש מודל נתמך, והארגון שלך יכול לכבות את מצב auto
להריץ ב-CI עם רשימת היתרים מדויקתclaude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"אין מעבר למה שרץ ה-CI מספקסשני ענן מתעלמים מ-dontAsk מקובצי הגדרות
להריץ בלי השגחה לגמרי בתוך קונטיינרclaude -p "<prompt>" --dangerously-skip-permissionsנדרש: קונטיינר, מכונה וירטואלית, או סביבת הריצה של ארגז החול. ב-Linux וב-macOS, מריצים אותו כמשתמש שאינו rootסשני ענן מתעלמים מהמצב הזה מקובצי הגדרות. בהרצה הזו עם -p, מעט הקריאות שעדיין היו מבקשות נדחות במקום זאת

ארגז החול של Bash ומצב auto עובדים בנפרד וגם יחד, עם החריגים שמפורטים תחת מצבי ארגז חול. לאינטראקציה המלאה, ראו איך ארגז חול קשור להרשאות ולמצבי הרשאות ואיך בידוד קשור למצבי הרשאות.

#באיזה מצב סשן מתחיל

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

  1. הדגל --permission-mode, או --dangerously-skip-permissions

  2. permissions.defaultMode בקובץ הגדרות

    אם מגדירים "auto" ב-.claude/settings.json או ב-.claude/settings.local.json, הערך לא נכנס לתוקף, ו-Claude Code משתמש אז בברירת המחדל המובנית במקום ב-defaultMode מ-~/.claude/settings.json. אם מגדירים "bypassPermissions" בשני הקבצים האלה, גם זה לא נכנס לתוקף, והסשן מתחיל במצב Manual. שאר הערכים חלים מכל קובץ הגדרות.

  3. ברירת המחדל המובנית

שיחות שהרחבת VS Code מתחילה הולכות לפי הרשימה של ההרחבה עצמה בהחלפת מצבי הרשאות. למצב ההרשאות שבו Claude Code מתחיל סשן שחודש, ראו מצב הרשאות בחידוש.

ברירת המחדל המובנית auto דורשת את Claude Code v2.1.228 ומעלה ב-macOS, ב-Linux וב-WSL, ואת v2.1.233 ומעלה ב-Windows מקורי. בגרסאות קודמות, ברירת המחדל המובנית היא Manual.

ברירת המחדל המובנית תלויה באופן שבו מריצים את Claude Code. השורה הראשונה שתואמת לסשן היא זו שחלה. הטבלה מכסה סשנים שמתחילים בטרמינל או דרך הרחבת VS Code. לאפליקציית שולחן העבודה ול-claude.ai, ראו את הכרטיסיות Desktop ו-Web בהחלפת מצבי הרשאות.

איך מריצים את Claude Codeמצב הרשאות התחלתי מובנה
כל קובץ הגדרות מגדיר את disableAutoMode ל-"disable"default
claude -p או Agent SDKdefault
לארגון הוחלה תצורת HIPAA והסשן כשיר לכךdefault עם Claude Code v2.1.285 ומעלה. מצב auto נשאר זמין למעבר אליו
בטרמינל או דרך הרחבת VS Codeauto עם Claude Code v2.1.283 ומעלה. בגרסאות קודמות, auto בתוכניות Pro, Max, Ultra או Team בסשנים ששולפים דגלי תכונות, ו-default בשאר המקרים

כשהדגל, קובץ הגדרות או ברירת המחדל המובנית בוחרים auto, אבל מצב auto לא זמין לסשן, Claude Code מתחיל את הסשן במצב Manual. מצב auto לא זמין כשהסשן לא עומד בדרישות הזמינות, למשל כשקובץ הגדרות מכבה אותו או כשמודל לא תומך בו, או כש-Anthropic כיבתה אותו זמנית בצד השרת.

בפעם הראשונה שברירת המחדל המובנית מתחילה אחד מהסשנים במצב auto, Claude Code מציג הודעה שמקשרת לדף הזה:

  • בטרמינל, פעם אחת, בראש הסשן
  • בהרחבת VS Code, ככרטיס במסך שיחה חדשה שנשאר עד שסוגרים אותו

אם ~/.claude/settings.json מגדיר defaultMode שונה מ-auto ואף קובץ הגדרות אחר לא מגדיר אחד, הסשנים ממשיכים להתחיל במצב הזה.

בתוכניות Pro, Max, Ultra ו-Team, ובסשנים שלא שולפים דגלי תכונות, Claude Code שואל פעם אחת אם לשנות את ההגדרה למצב auto. השאלה מופיעה בטרמינל או בהרחבת VS Code, ואם מסרבים, ההגדרה נשארת כפי שהיא.

#קריאות כלים שנדחות בהרצות claude -p וב-Agent SDK

ב-Claude Code v2.1.302 ומעלה, הרצות claude -p ו-Agent SDK שבהן לא הוגדר מצב הרשאות מתחילות במצב Manual. המצב הזה מופיע כ-default באפשרויות ה-SDK ובהגדרות. קריאות שדורשות אישור נדחות, אלא אם מאשרים אותן בכלל allow, ב-hook, ב-callback של canUseTool, או ב---permission-prompt-tool.

כדי שהקריאות האלה יאושרו, הוסיפו כללי allow או התחילו במצב auto:

הדוגמאות האלה מציגות את הצורה של מצב auto עבור ה-CLI ועבור כל SDK:

CLI

claude -p "Run the test suite and fix any failures" --permission-mode auto

TypeScript

const options = {
  permissionMode: "auto"
};

Python

from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(permission_mode="auto")

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

#התחלה במצב הרשאות אחר

אפשר להגדיר את מצב ההרשאות ההתחלתי לסשן אחד, או כברירת מחדל לכל סשן במחשב, בפרויקט או בארגון. כשיותר מקובץ הגדרות אחד מגדיר permissions.defaultMode, קדימות ההגדרות קובעת, כך שערך של פרויקט או ערך מנוהל גובר על ~/.claude/settings.json. כדי לשנות את מצב ההרשאות של סשן שכבר רץ, ראו החלפת מצבי הרשאות.

כדי להגדיר את מצב ההרשאות ההתחלתי עבורעשו כך
סשן אחד שעומדים להתחילהעבירו את מצב ההרשאות כדגל, לדוגמה claude --permission-mode default
כל סשן טרמינל שמתחילים במחשב הזההגדירו permissions.defaultMode ב-~/.claude/settings.json. לגבי מה שהרחבת VS Code קוראת, ראו החלפת מצבי הרשאות
כל סשן טרמינל שמתחילים בפרויקט אחדהגדירו permissions.defaultMode ב-.claude/settings.json של הפרויקט. סשנים שמתחילים בטרמינל מכבדים כל ערך חוץ מ-auto ומ-bypassPermissions. סשנים שהרחבת VS Code מתחילה לא קוראים הגדרות פרויקט עבור מצב ההרשאות ההתחלתי
כל סשן טרמינל בארגוןהגדירו permissions.defaultMode בהגדרות מנוהלות. סשני טרמינל מתחילים במצב הזה, ואנשים עדיין יכולים לעבור למצב auto. לגבי מה שהרחבת VS Code קוראת, ראו החלפת מצבי הרשאות. כדי להסיר את מצב auto כך שאף אחד לא יוכל לבחור אותו, הגדירו במקום זאת את permissions.disableAutoMode ל-"disable"

הדוגמה הזו גורמת לכל סשן טרמינל במחשב להתחיל במצב Manual, שערך התצורה שלו הוא default. שמרו אותה ב-~/.claude/settings.json:

{
  "permissions": {
    "defaultMode": "default"
  }
}

הסשן הבא שמתחילים מציג ⏸ manual mode on בשורת המצב.

#מצבי הרשאות עם תצורת HIPAA

בארגון שבו הוחלה תצורת HIPAA, ברירת המחדל המובנית auto לא חלה. סשן טרמינל או VS Code מתחיל במצב Manual כששום דבר אחר לא בוחר את מצב ההרשאות ההתחלתי שלו. סשן טרמינל מציג גם Auto mode isn't the default for your organization · Shift+Tab to switch, והרחבת VS Code לא מציגה הודעה. בדקו איך מפתחים נכנסים ומתחברים מפרט את הסשנים שזה חל עליהם.

מצב auto ו-bypassPermissions נשארים זמינים:

נדרש Claude Code v2.1.285 ומעלה, הגרסה המזערית לתצורת HIPAA.

#מעבר בין מצבי הרשאה

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

#CLI

במהלך סשן: לחצו על Shift+Tab כדי לעבור במחזור בין מצבי הרשאה. מ-auto, הלחיצה הראשונה עוברת ל-default, ואחר כך המחזור רץ default → acceptEdits → plan. מצבים אופציונליים משתלבים אחרי plan. שורת המצב מציגה את המצב הפעיל באפור ⏸ manual mode on עבור default, או כ-⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on, או ⏵⏵ bypass permissions on.

צפו בשורת המצב בקליפ הזה של סשן שהתחיל במצב auto. בכל לחיצה על Shift+Tab היא משתנה מ-auto mode on ל-manual mode on, accept edits on, plan mode on, וחזרה ל-auto mode on.