תיעוד 97
בחירת מצב הרשאות
שלוט בשאלה אם קלוד שואל לפני שהוא פועל. החלף מצבי הרשאות באמצעות
Shift+Tabב-CLI, מחוון המצב ב-VS Code, או בורר המצב ב-Desktop.
מצב הרשאות קובע אילו פעולות קלוד יכול לבצע בהפעלה (session) מבלי לשאול אותך תחילה. במצב Manual, קלוד קוד (Claude Code) עוצר ושואל אותך לפני רוב הפעולות שעורכות קבצים, מריצות פקודות מעטפת (shell), או ניגשות לרשת. במצב auto, מודל שני, המסווג (classifier), בודק פעולות במקומך; הסעיף כיצד המסווג מעריך פעולות מפרט אילו פעולות הוא בודק ואילו מדלגות עליו.
בתוכניות Pro, Max ו-Team, מצב ההרשאות ההתחלתי המובנה הוא מצב auto. הסעיף באיזה מצב הפעלה מתחילה מכסה את הממשקים וההגדרות שמשנים את מצב ההרשאות ההתחלתי. באפשרותך גם לשנות את מצב ההרשאות של הפעלה פעילה בכל עת.
מצבים זמינים
כל מצב מציע פשרה שונה בין נוחות לפיקוח. הטבלה להלן מציגה מה קלוד יכול לעשות ללא בקשת אישור בכל מצב. מצב Manual מופיע תחת ערך התצורה שלו, default.
| מצב | מה רץ בלי לשאול | הכי מתאים עבור |
|---|---|---|
default | קריאות בלבד | בדיקת כל פעולה בעצמך, עבודה רגישה |
acceptEdits | קריאות, עריכות קבצים ופקודות מערכת קבצים נפוצות (mkdir, touch, mv, cp וכו') | איטרציה על קוד שאתה בודק |
plan | קריאות, ובנוסף פקודות שאושרו על ידי המסווג כאשר מצב auto זמין | חקירת בסיס קוד לפני שינויו |
auto | הכל, עם בדיקות בטיחות ברקע | משימות ארוכות, הפחתת עומס בקשות אישור |
dontAsk | קריאות וכלים שאושרו מראש; כל דבר שהיה דורש בקשת אישור נדחה | סביבות CI נעולות וסקריפטים |
bypassPermissions | הכל | מכולות (containers) ומכונות וירטואליות (VMs) מבודדות בלבד |
המצב שבודק כל פעולה נקרא Manual ב-CLI, ב-claude --help, בהרחבות של VS Code ושל JetBrains, ובאפליקציית ה-Desktop. ערך התצורה שלו הוא default, וזה הערך שבו משתמשים הוקים (hooks) ואינטגרציות SDK. ה-CLI מקבל את manual ככינוי (alias) בכל מקום שבו אתה מקליד את הערך, לדוגמה claude --permission-mode manual או "defaultMode": "manual". התווית Manual והכינוי manual דורשים את Claude Code בגרסה 2.1.200 ומעלה. התווית באפליקציית ה-Desktop אינה תלויה בגרסת ה-CLI שלך.
כתיבות אל נתיבים מוגנים לעולם אינן מאושרות אוטומטית, למעט במצב bypassPermissions ובהפעלות במצב plan שבהן הרשאות עקיפה (bypass permissions) זמינות, כלומר הפעלות מסוף אינטראקטיביות שהופעלו באופן שמכניס את bypassPermissions למחזור המצבים.
מצבים קובעים את קו הבסיס. שכבת כללי הרשאות מתווספת מעל כדי לאשר מראש או לחסום כלים ספציפיים. כללי חסימה (deny rules) חוסמים בכל מצב, כולל bypassPermissions. כללי חסימה (deny) ושאל (ask) אינם חלים על EndConversation כל עוד לקלוד נותר לפחות כלי אחד אחר שהוא יכול לקרוא לו. לכללי התרה (allow rules) אין השפעה ב-bypassPermissions.
פעולות שאף מצב אינו מאשר אוטומטית
Claude Code אינו מאשר אוטומטית את הפעולות הבאות באף מצב, כולל bypassPermissions. כל נקודה ברשימה מקשרת לסעיף שמפרט מה קורה במקום זאת בכל מצב:
כלים שתואמים לכלל ask מפורש.
כלי קישור (connector tools) שהארגון שלך הגדיר ל-
ask, בהפעלות שבהן הגדרה זו מגיעה אל Claude Code.כלים שדורשים אינטראקציית משתמש: הכלי המובנה
AskUserQuestionוכלי MCP המסומנים כ-requiresUserInteraction.מחיקות
rmו-rmdirהמכוונות אל נתיב קריטי, שאף כלל allow ואף הוקPreToolUseשל"allow"אינם מאשרים.קריאות מחוץ לתיקיות העבודה בזמן ש-
permissions.blockReadsOutsideWorkingDirectoriesמופעל: פקודות Bash מוכרות לקריאת קבצים מבקשות אישור אפילו במצב auto ובמצבbypassPermissions, וכך גם כל ניסיון חוזר ללא ארגז חול (unsandboxed retry) שדורש אישור כדי לרוץ מחוץ לארגז החול. דורש את Claude Code בגרסה 2.1.257 ומעלה.פקודה שמנתח המעטפת (shell parser) אינו יכול להתחקות אחריה, כגון פקודה שמשנה תיקייה יותר מפעם אחת או מריצה תת-מעטפת (subshell), מבקשת אישור באותו אופן גם כאשר אינה נוקבת בשום נתיב חיצוני. בקשת אישור זו אינה חלה כאשר הפקודה רצה בתוך ארגז החול (sandbox) וארגז החול אוכף את החסימה.
הגדרות נפוצות
מצבי הרשאות קובעים אם קלוד שואל לפני פעולה, וארגז החול של Bash (Bash sandbox) וגבולות הבידוד החיצוניים קובעים לאן פעולה יכולה להגיע ברגע שהיא רצה. כל שורה להלן מצמדת יעד לדגלים או להגדרות שמובילים לשם, ולבידוד הנדרש, כנקודת התחלה. הסעיף מצבים זמינים מפרט מה רץ ללא בקשת אישור בכל מצב.
| אתה רוצה | התחל עם | בידוד נדרש | הערות |
|---|---|---|---|
| לבדוק כל פעולה בעצמך | מצב 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 *), עדיין מבקשים אישור. כדי להפעיל את ארגז החול מקובץ הגדרות במקום זאת, הגדר את sandbox.enabled ל-true |
| לחקור לפני שמשנים משהו | claude --permission-mode plan | ללא | Claude Code חוסם עריכות עד שאתה מאשר תוכנית |
| לעבוד ללא מגע יד במצב auto | claude --permission-mode auto, מצב ההרשאות ההתחלתי המובנה ב-Pro, Max ו-Team | ללא; ארגז חול או מכולה מוסיפים הגנה לעומק | דורש מודל נתמך, והארגון שלך יכול לבטל את מצב auto |
| להריץ ב-CI עם רשימת היתרים (allowlist) מדויקת | claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" | ללא מעבר למה שמספק מריץ ה-CI שלך | הפעלות ענן (cloud sessions) מתעלמות מ-dontAsk מקובצי הגדרות |
| להריץ ללא השגחה לחלוטין בתוך מכולה | claude -p "<prompt>" --dangerously-skip-permissions | נדרש: מכולה, מכונה וירטואלית, או סביבת הריצה של ארגז החול (sandbox runtime); ב-Linux וב-macOS, הרץ כמשתמש שאינו root | הפעלות ענן מתעלמות ממצב זה מקובצי הגדרות. בהרצת -p זו, הקריאות הבודדות שעדיין היו מבקשות אישור נדחות במקום זאת |
ארגז החול של Bash ומצב auto פועלים באופן עצמאי ומשתלבים, למעט החריגים המפורטים תחת מצבי ארגז חול. לאינטראקציה המלאה, ראה כיצד ארגז חול קשור להרשאות ולמצבי הרשאות וכיצד בידוד קשור למצבי הרשאות.
באיזה מצב הפעלה מתחילה
כאשר אתה מתחיל הפעלה חדשה במסוף (terminal), Claude Code לוקח את מצב ההרשאות מהראשון מאלה שחל:
- הדגל
--permission-mode, או--dangerously-skip-permissions. permissions.defaultModeבקובץ הגדרות. אם תגדיר"auto"ב-.claude/settings.jsonאו ב-.claude/settings.local.json, הערך לא ייכנס לתוקף, ו-Claude Code ישתמש אז בברירת המחדל המובנית ולא ב-defaultModeמ-~/.claude/settings.json. אם תגדיר"bypassPermissions"בשני קבצים אלה, גם הוא לא ייכנס לתוקף, וההפעלה תתחיל במצב Manual. שאר הערכים חלים מכל קובץ הגדרות.- ברירת המחדל המובנית.
שיחות שהתוסף ל-VS Code מתחיל פועלות לפי הרשימה של התוסף עצמו בסעיף החלפת מצבי הרשאות. לגבי מצב ההרשאות שבו Claude Code מתחיל הפעלה שחודשה, ראה מצב הרשאות בעת חידוש.
ברירת המחדל המובנית של auto דורשת את Claude Code בגרסה 2.1.228 ומעלה ב-macOS, Linux ו-WSL, ובגרסה 2.1.233 ומעלה ב-Windows מקורי. בגרסאות קודמות, ברירת המחדל המובנית היא Manual.
ברירת המחדל המובנית תלויה באופן שבו אתה מריץ את Claude Code, בתוכנית שלך, ובשאלה אם Claude Code הצליח להביא את דגלי התכונות (feature flags) שלו. השורה הראשונה שתואמת להפעלה שלך היא זו שחלה. הטבלה מכסה הפעלות שאתה מתחיל במסוף או דרך התוסף ל-VS Code; עבור אפליקציית ה-Desktop ו-claude.ai, ראה את הסעיפים של Desktop ושל אינטרנט ומובייל בסעיף החלפת מצבי הרשאות.
| כיצד אתה מריץ את Claude Code | מצב הרשאות התחלתי מובנה |
|---|---|
קובץ הגדרות כלשהו מגדיר את disableAutoMode ל-"disable" | default |
| הבאת דגלי תכונות כבויה | default |
| ההפעלה הראשונה שלך לאחר התקנת Claude Code או שדרוג לגרסה שמוסיפה ברירת מחדל זו, אלא אם כן, לאחר התקנה חדשה, Claude Code מביא את הדגלים בזמן | default |
claude -p או ה-Agent SDK | default |
| Amazon Bedrock, Agent Platform של Google Cloud, Microsoft Foundry, Claude Platform on AWS, או הפעלת Claude apps gateway מחוברת | default |
| תוכנית Pro, Max או Team, במסוף או דרך התוסף ל-VS Code | auto |
| תוכנית Enterprise או מפתח API של Claude Console | default |
כאשר הבאת דגלי תכונות כבויה, או בהפעלה ראשונה לאחר התקנה או שדרוג שבה הדגלים עדיין לא הגיעו, התוסף ל-VS Code מתעלם מכל קובץ הגדרות בעת בחירת מצב ההרשאות ההתחלתי.
כאשר הדגל, קובץ הגדרות או ברירת המחדל המובנית בוחרים ב-auto אך מצב auto אינו זמין להפעלה, Claude Code מתחיל את ההפעלה ב-Manual במקום זאת. מצב auto אינו זמין כאשר ההפעלה אינה עומדת בדרישות הזמינות, כגון קובץ הגדרות שמכבה אותו או מודל שאינו תומך בו, או כאשר Anthropic כיבתה אותו זמנית בצד השרת.
בפעם הראשונה שברירת המחדל המובנית מתחילה אחת מההפעלות שלך במצב auto, Claude Code מציג הודעה שמקשרת לדף זה:
- במסוף, פעם אחת, בראש ההפעלה.
- בתוסף ל-VS Code, ככרטיס במסך שיחה חדשה שנשאר עד שתסגור אותו.
בתוכניות Pro, Max ו-Team, אם ה-~/.claude/settings.json שלך מגדיר defaultMode שאינו auto ואף קובץ הגדרות אחר אינו מגדיר כזה, ההפעלות שלך ימשיכו להתחיל באותו מצב. Claude Code שואל פעם אחת, במסוף או בתוסף ל-VS Code, האם לשנות את ההגדרה למצב auto. אם תסרב, ההגדרה שלך תישאר כפי שהיא.
התחלה במצב הרשאות שונה
באפשרותך לקבוע את מצב ההרשאות ההתחלתי עבור הפעלה בודדת, או כברירת מחדל עבור כל הפעלה במחשב, בפרויקט או בארגון. כאשר יותר מקובץ הגדרות אחד מגדיר את 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 בהגדרות מנוהלות (managed settings). הפעלות מסוף יתחילו במצב זה ואנשים עדיין יוכלו לעבור למצב auto; לגבי מה שהתוסף ל-VS Code קורא, ראה החלפת מצבי הרשאות. כדי להסיר את מצב auto כך שאף אחד לא יוכל לבחור בו, הגדר את permissions.disableAutoMode ל-"disable" במקום זאת |
דוגמה זו גורמת לכל הפעלת מסוף במחשב שלך להתחיל במצב Manual, שערך התצורה שלו הוא default. שמור אותה ב-~/.claude/settings.json:
{
"permissions": {
"defaultMode": "default"
}
}ההפעלה הבאה שתתחיל תציג ⏸ manual mode on בשורת המצב.
החלפת מצבי הרשאות
לכל ממשק יש פקד משלו להחלפת מצבי הרשאות במהלך הפעלה, ודרך משלו לבחירת מצב ההרשאות שבו הפעלות חדשות מתחילות.
#CLI
במהלך הפעלה: לחץ על Shift+Tab כדי לעבור במחזוריות בין מצבי הרשאות. מ-auto, הלחיצה הראשונה עוברת ל-default, ולאחר מכן המחזור נע: default ואז acceptEdits ואז plan וחזרה ל-default. מצבים אופציונליים, המתוארים להלן, משתלבים לאחר plan. שורת המצב מציגה את המצב הפעיל כ-⏸ manual mode on אפור עבור default, או כ-⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on, או ⏵⏵ bypass permissions on.
לא כל מצב נמצא במחזור ברירת המחדל:
auto: מופיע כאשר מצב auto זמין; מעבר אליו במחזור מחליף מצבי הרשאות ללא בקשת אישור.bypassPermissions: מופיע לאחר שהתחלת עם--permission-mode bypassPermissions,--dangerously-skip-permissions,--allow-dangerously-skip-permissions, אוpermissions.defaultMode: "bypassPermissions"בהגדרות משתמש, הגדרות--settings, או הגדרות מנוהלות. הגרסה--allow-מוסיפה את מצב ההרשאות למחזור מבלי להפעיל אותו.dontAsk: לעולם אינו מופיע במחזור; הגדר אותו באמצעות--permission-mode dontAsk.
מצבים אופציונליים שהופעלו משתלבים לאחר plan, כאשר bypassPermissions ראשון ו-auto אחרון. אם הפעלת את שניהם, תעבור דרך bypassPermissions בדרך ל-auto.
מתוך בקשת אישור של Bash: במצבי ההרשאות Manual ו-acceptEdits, כאשר מצב auto זמין, Claude Code מוסיף את Yes, and switch to auto mode לבקשת האישור של פקודת Bash. בחר באפשרות זו כדי לאשר את הפקודה ולהעביר את ההפעלה למצב auto. בקשות אישור של כלי PowerShell אינן מציעות אפשרות זו. דורש את Claude Code בגרסה 2.1.247 ומעלה.
Claude Code אינו מוסיף את האפשרות לבקשות אישור שנכפו על ידי אחד מכללי ה-ask שלך או על ידי הוק, מכיוון שמצב auto עדיין מציג לך בקשות אישור אלה, כך שהחלפה לא הייתה מסירה אותן.
בעת ההפעלה: העבר את מצב ההרשאות כדגל:
claude --permission-mode planכברירת מחדל: הגדר את permissions.defaultMode בהיקף הרצוי לך, כמתואר בסעיף התחלה במצב הרשאות שונה.
אותו דגל --permission-mode עובד עם -p עבור הרצות לא אינטראקטיביות.
#VS Code
במהלך הפעלה: לחץ על מחוון המצב בתחתית תיבת ההנחיה (prompt box). הוא משתמש בתוויות אלה עבור המצבים בדף זה:
| תווית בממשק | מצב |
|---|---|
| Manual | default |
| Edit automatically | acceptEdits |
| Plan | plan |
| Auto | auto |
| Bypass permissions | bypassPermissions |
כברירת מחדל: כדי לקבע את מצב ההרשאות שבו שיחות מתחילות, הגדר את claudeCode.initialPermissionMode בהגדרות המשתמש שלך ב-VS Code ל-default, manual, acceptEdits, plan, או bypassPermissions. ההגדרה אינה מקבלת את auto; כדי להתחיל ב-Auto, השאר אותה לא מוגדרת ובחר Auto ממחוון המצב פעם אחת, כפי שמתואר בסעיף 2 להלן. התוסף מתחיל כל שיחה חדשה בראשון מאלה שחל:
claudeCode.initialPermissionMode.- המצב האחרון שבחרת ממחוון המצב, אם הוא היה Manual, Edit automatically, או Auto. בחירה ב-Plan או ב-Bypass permissions חלה על אותה שיחה בלבד.
permissions.defaultModeמתוך הגדרות מנוהלות או מ-~/.claude/settings.json, בתוכניות Pro, Max ו-Team כאשר הבאת דגלי תכונות זמינה.- ברירת המחדל המובנית עבור התוכנית, הספק והגדרות הארגון שלך.
התוסף לעולם אינו קורא את .claude/settings.json או .claude/settings.local.json של פרויקט עבור מצב ההרשאות ההתחלתי, ובשיחות שאינן עומדות בתנאי סעיף 3 הוא אינו קורא שום קובץ הגדרות כלל. כאשר claudeCode.claudeProcessWrapper מוגדר, סעיפים 3 ו-4 אינם חלים גם כן: שיחות אלו מתחילות ב-Manual אלא אם סעיף 1 או סעיף 2 קובעים מצב הרשאות.
Auto מופיע במחוון המצב כאשר מצב auto זמין.
Bypass permissions דורש את מתג Allow dangerously skip permissions בהגדרות התוסף. בלעדיו, מצב ההרשאות אינו מופיע במחוון, וערך bypassPermissions מסעיף 1 או סעיף 3 מתחיל את השיחה ב-Manual במקום זאת. Auto מכל סעיף מתחיל באופן דומה את השיחה ב-Manual כאשר מצב auto אינו זמין.
ראה את מדריך VS Code לפרטים ספציפיים לתוסף.
#JetBrains
התוסף ל-JetBrains מריץ את Claude Code במסוף ה-IDE, כך שהחלפת מצבי הרשאות פועלת באותו אופן כמו ב-CLI: לחץ על Shift+Tab כדי לעבור במחזוריות, או העבר את --permission-mode בעת ההפעלה.
#Desktop
במהלך הפעלה: בלשונית Code, השתמש בבורר המצב לצד כפתור השליחה. לא כל מצב מופיע בבורר:
- Auto: מופיע כאשר מצב auto זמין.
- Bypass permissions: דורש את מתג Allow bypass permissions mode בהגדרות Desktop בתוכניות Pro ו-Max; בתוכניות Team ו-Enterprise, מדיניות הארגון שולטת בכך במקום זאת.
לשונית Cowork אינה משתמשת במצבים אלה. ל-Cowork יש מצבי הרשאות משלו, המופעלים בנפרד, ולשונית Cowork אינה מציגה בורר מצב כלל עד שמצב מעבר לברירת המחדל שלו מופעל עבור חשבונך. ראה את תיעוד Cowork.
לפרטים ספציפיים ל-Desktop, ראה בחירת מצב הרשאות במדריך Desktop.
כברירת מחדל: הגדר את defaultMode בהגדרות. אפליקציית ה-Desktop קוראת את אותם קובצי הגדרות כמו ה-CLI ומחילה את מצב ההרשאות על הפעלות מקומיות חדשות.
מצב שאתה בוחר בבורר המצב נשמר לכל תיקייה וגובר על defaultMode עבור אותה תיקייה. Plan הוא החריג: בחירה בו חלה על ההפעלה הנוכחית בלבד.
לגבי המיקום של defaultMode בקובץ הגדרות, ראה את הדוגמה תחת התחלה במצב הרשאות שונה.
#אינטרנט ומובייל (Web and mobile)
השתמש בתפריט הנפתח של המצב לצד תיבת ההנחיה ב-claude.ai/code או באפליקציית המובייל. בקשות אישור מופיעות ב-claude.ai לאישור. אילו מצבים מופיעים תלוי במקום שבו ההפעלה רצה:
- הפעלות ענן (Cloud sessions): Accept edits, Plan ו-Auto. המצב Accept edits תואם למצב
default: הפעלות ענן מאשרות מראש עריכות קבצים ללא תלות במצב, ולכן התפריט הנפתח מציג את Accept edits במקום את Manual. הפעלות ענן עדיין מכבדות אתdefaultMode: "acceptEdits"מההגדרות. מצב Auto מופיע רק כאשר הארגון שלך מתיר זאת והמודל שנבחר תומך בו. מצב Bypass permissions אינו זמין. - הפעלות שליטה מרחוק (Remote Control) במחשב המקומי שלך: Manual, Accept edits ו-Plan. לא ניתן לבחור ב-Auto או ב-Bypass permissions מתוך האפליקציה.
- למעט Bypass permissions, התפריט הנפתח מציג את מצב ההרשאות שבו ההפעלה המקומית נמצאת, כולל מצב שהוגדר מהמסוף. הוא מתעדכן כאשר מצב ההרשאות משתנה באפליקציה או במסוף. ההפעלה לעולם אינה מדווחת על Bypass permissions ל-claude.ai, כך שמעבר אליו מהמסוף אינו משנה את מה שהתפריט הנפתח מציג.
- הפעלות המאורחות על ידי אפליקציית ה-Desktop או התוסף ל-VS Code מדווחות על שינויים במצב ההרשאות ל-claude.ai בזמן אמת, בדיוק כמו הפעלות המאורחות במסוף.
- לפני גרסה 2.1.202, הפעלות שהתחברו באמצעות
/remote-controlאוclaude --remote-controlלא דיווחו על מצב ההרשאות שלהן כלל, כך ש-claude.ai ואפליקציית המובייל יכלו להציג מצב הרשאות שההפעלה לא הייתה בו. חוסר ההתאמה השפיע רק על התווית. Claude Code יצר בקשות אישור ממצב ההרשאות האמיתי של ההפעלה, והן עדיין הופיעו באפליקציה לאישור.
עבור Remote Control, המחשב המקומי שמריץ את ההפעלה חייב להיות מחובר לחשבון ה-claude.ai שלך; מפתחות API אינם נתמכים. באפשרותך גם לקבוע את מצב ההרשאות ההתחלתי בעת הפעלת אותה הפעלה מקומית:
claude remote-control --permission-mode acceptEditsאישור אוטומטי של עריכות קבצים באמצעות מצב acceptEdits
מצב acceptEdits מאפשר לקלוד ליצור ולערוך קבצים בתיקיית העבודה שלך ללא בקשת אישור. שורת המצב מציגה ⏵⏵ accept edits on בזמן שמצב זה פעיל.
בנוסף לעריכות קבצים, מצב acceptEdits מאשר אוטומטית פקודות מערכת קבצים נפוצות של Bash: mkdir, touch, rm, rmdir, mv, cp ו-sed. פקודות אלה מאושרות אוטומטית גם כשהן מלוות בקידומת של משתני סביבה בטוחים כגון LANG=C או NO_COLOR=1, או עטיפות תהליכים (process wrappers) כגון timeout, nice או nohup. בדומה לעריכות קבצים, אישור אוטומטי חל רק על נתיבים בתוך תיקיית העבודה שלך או ב-additionalDirectories. נתיבים מחוץ להיקף זה, כתיבות אל נתיבים מוגנים, מחיקות rm ו-rmdir שמכוונות אל נתיב קריטי, וכל שאר פקודות ה-Bash למעט ערכת הקריאה בלבד המובנית עדיין מבקשות אישור.
כאשר כלי PowerShell מופעל, מצב acceptEdits מאשר אוטומטית גם את Set-Content, Add-Content, Clear-Content ו-Remove-Item בנתיבים שבתוך ההיקף, יחד עם הכינויים הנפוצים שלהם. אותם כללי היקף ונתיבים מוגנים חלים, ו-Remove-Item מקבל בדיקה משלו. ארגומנט מיקומי המכיל תו גרש או מרכאות, כגון הגרש ב-Set-Content .\notes.txt "It's done", עדיין מבקש אישור אפילו בנתיבים שבתוך ההיקף, מכיוון ש-Claude Code אינו יכול לאמת סטטית ארגומנט שהקריאות שלו עם וללא מירכאות שונות. העבר את התוכן דרך פרמטר עם שם כגון -Value כדי למנוע את בקשת האישור.
השתמש ב-acceptEdits כאשר ברצונך לבדוק שינויים בעורך שלך או באמצעות git diff בדיעבד במקום לאשר כל עריכה באופן ישיר.
לחץ על Shift+Tab פעם אחת ממצב Manual כדי להיכנס אליו, או התחל איתו ישירות:
claude --permission-mode acceptEditsניתוח לפני עריכה באמצעות מצב plan
מצב plan מורה לקלוד לחקור ולהציע שינויים מבלי לבצע אותם. קלוד קורא קבצים, מריץ פקודות מעטפת כדי לחקור, וכותב תוכנית, אך אינו עורך את קוד המקור שלך. למעט בהפעלות מסוף אינטראקטיביות שבהן הרשאות עקיפה זמינות, עריכות נשארות חסומות עד שתאשר את התוכנית.
כאשר מצב auto זמין וההגדרה useAutoModeDuringPlan מופעלת, כפי שהיא כברירת מחדל, המסווג בודק פקודות מעטפת במהלך התכנון במקום לשאול אותך. פקודות שאושרו רצות, ופקודות שנדחו נחסמות. אחרת, פקודות מחוץ לערכת הקריאה בלבד המובנית מבקשות אישור, כולל כאשר מצב אישור אוטומטי (auto-allow) של ארגז החול מופעל. בהפעלות מסוף אינטראקטיביות שבהן הרשאות עקיפה זמינות, לא המסווג ולא בקשת אישור חלים על פקודות תכנון; הסעיף דילוג על כל הבדיקות באמצעות מצב bypassPermissions מכסה את הדברים הבודדים שעדיין מבקשים שם אישור. בגרסאות 2.1.212 עד 2.1.217, הפעלות ללא הרשאות עקיפה ביקשו אישור עבור כל פקודה מחוץ לערכת הקריאה בלבד, בין אם מצב auto היה זמין ובין אם לאו.
היכנס למצב plan על ידי לחיצה על Shift+Tab או הקדמת /plan להנחיה בודדת. באפשרותך גם להתחיל במצב plan מה-CLI:
claude --permission-mode planלחץ על Shift+Tab שוב כדי לצאת ממצב plan מבלי לאשר תוכנית.
בדיקה ואישור של תוכנית
כאשר התוכנית מוכנה, קלוד מציג אותה ושואל כיצד להמשיך. מהנחיה זו באפשרותך לבחור:
- Yes, and use auto mode: אשר והתחל במצב auto. כאשר מצב auto אינו זמין, אפשרות זו מנוסחת כ-Yes, auto-accept edits. אם התחלת את ההפעלה עם הרשאות עקיפה מופעלות, האפשרות מנוסחת במקום זאת כ-Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session.
- Yes, manually approve edits: אשר ובדוק כל עריכה באופן אישי.
- No, keep planning: הישאר במצב plan ואמור לקלוד מה לשנות.
אישור תוכנית יוצא ממצב plan ומעביר את ההפעלה למצב ההרשאות שכל אפשרות אישור מתארת, כך שקלוד מתחיל לערוך. כדי לתכנן שוב, חזור במחזור למצב plan באמצעות Shift+Tab, או הוסף קידומת /plan להנחיה הבאה שלך.
לחץ על Ctrl+G כדי לפתוח את התוכנית המוצעת בעורך הטקסט המוגדר כברירת מחדל שלך ולערוך אותה ישירות לפני שקלוד ממשיך. כאשר showClearContextOnPlanAccept מופעל, הרשימה מקבלת אפשרות ראשונה שמאשרת את התוכנית ומנקה את הקשר התכנון (planning context).
קבלת תוכנית מעניקה להפעלה גם כותרת שנוצרת אוטומטית בהתבסס על התוכנית, אלא אם כבר נתת שם להפעלה.
הגדרת מצב plan כברירת מחדל
כדי להפוך את מצב plan לברירת המחדל עבור הפעלות מסוף של פרויקט, הגדר את defaultMode ל-plan ב-.claude/settings.json, כפי שמציגה הדוגמה תחת התחלה במצב הרשאות שונה. שיחות שהתוסף ל-VS Code מתחיל אינן קוראות הגדרות פרויקט עבור מצב ההרשאות ההתחלתי. שם, הגדר את claudeCode.initialPermissionMode ל-plan בהגדרות המשתמש שלך ב-VS Code במקום זאת.
ביטול הנחיות אישור באמצעות מצב auto
מצב auto מאפשר לקלוד לפעול ללא בקשות אישור שגרתיות. מודל מסווג נפרד בודק פעולות לפני שהן רצות, וחוסם כל דבר שמסלים מעבר לבקשתך, מכוון לתשתית לא מוכרת, או נראה כמונע מתוכן עוין שקלוד קרא. כללי ask מפורשים עדיין כופים בקשת אישור.
בתוכניות Pro, Max ו-Team, מצב auto הוא מצב ההרשאות ההתחלתי המובנה.
המסווג בודק גם כל הודעה שקלוד שולח לסוכן אחר באמצעות SendMessage, בין אם בטקסט רגיל ובין אם בהודעת צוות סוכנים (agent team) מובנית, לפני ש-Claude Code מוסר אותה, הן במצב auto והן במצב plan כאשר המסווג בודק פקודות; בדיקת השליחה דורשת את Claude Code בגרסה 2.1.222 ומעלה.
המסווג בודק ומאשר או חוסם גם מחיקות rm ו-rmdir המכוונות אל נתיב קריטי, כגון rm -rf / ו-rm -rf ~, כולל כאשר המחיקה נמצאת בתוך החלפת פקודה או תהליך (command or process substitution).
מצב auto גם מדרבן את קלוד להמשיך לעבוד מבלי לעצור לשאלות הבהרה, אם כי קלוד עדיין שואל כאשר ההנחיה שלך או מיומנות (skill) מסתמכים על כך במפורש. להתנהגות אוטונומית חזקה יותר במצב שעדיין מבקש ממך אישור, הגדר את סגנון הפלט הפרואקטיבי (Proactive output style) במקום זאת.
אזהרה: מצב auto מפחית בקשות אישור אך אינו מבטיח בטיחות. השתמש בו למשימות שבהן אתה סומך על הכיוון הכללי, ולא כתחליף לבדיקה בפעולות רגישות.
מצב auto זמין רק כאשר החשבון שלך עומד בכל הדרישות הבאות:
- תוכנית (Plan): כל התוכניות.
- ארגון (Organization): ב-Team ו-Enterprise, מצב auto זמין כברירת מחדל. מנהלי מערכת יכולים לכבות אותו עבור הארגון על ידי הגדרת
permissions.disableAutoModeל-"disable"בהגדרות מנוהלות. - מודל (Model): ב-Anthropic API וב-Claude Platform on AWS, Claude Opus 4.6 ומעלה, Sonnet 4.6 ומעלה, או מודל Fable. ב-Amazon Bedrock, Agent Platform של Google Cloud, Microsoft Foundry, והפעלות Claude apps gateway מחוברות, רק Claude Sonnet 5, Opus 4.7 ומעלה, ומודלי Fable. מודלים ישנים יותר, כולל Sonnet 4.5, Opus 4.5, Haiku ומודלי claude-3, אינם נתמכים באף ספק.
- ספק (Provider): זמין כברירת מחדל ב-Anthropic API, Claude Platform on AWS, Amazon Bedrock, Agent Platform של Google Cloud, Microsoft Foundry, והפעלות Claude apps gateway מחוברות.
אם Claude Code מדווח שמצב auto אינו זמין, בדוק תחילה דרישות אלה והאם קובץ הגדרות כלשהו מגדיר את disableAutoMode. ייתכן גם ש-Anthropic כיבתה את מצב auto בצד השרת, או שהשרת דחה את מצב auto עבור חשבונך. הפעלה שקיבלה אחת מתשובות אלה שומרת על מצב auto כבוי עד שההפעלה מסתיימת, לכן התחל הפעלה חדשה מאוחר יותר.
הודעה נפרדת שמציינת שם מודל ואומרת שמצב auto "אינו יכול לקבוע את הבטיחות" (cannot determine the safety) של פעולה פירושה שבקשת מסווג נכשלה. כשל זה הוא בדרך כלל חולף, אך ב-Amazon Bedrock הוא יכול לחזור על עצמו עד שחשבונך יוכל להפעיל את המודל הנקוב. ראה את הפניית השגיאות לגבי הגורמים ומה לעשות.
אם הגדרת defaultMode: "auto" בהגדרות והפעלת מסוף מתחילה במצב Manual ללא שגיאה, סביר להניח שההגדרה נמצאת ב-.claude/settings.json או ב-.claude/settings.local.json. הערך auto אינו נכנס לתוקף מקבצים אלה. העבר אותו אל ~/.claude/settings.json. עבור שיחה שהתוסף ל-VS Code התחיל, בדוק את הרשימה של התוסף עצמו בסעיף החלפת מצבי הרשאות במקום זאת.
מצב auto ב-Bedrock, Agent Platform או Foundry
ב-Amazon Bedrock, ב-Agent Platform של Google Cloud, ב-Microsoft Foundry, ובהפעלות Claude apps gateway מחוברות, מצב auto מופיע במחזור Shift+Tab כברירת מחדל. הופעה במחזור אינה משנה את מצב ההרשאות שבו הפעלה מתחילה: בספקים אלה, הפעלות מסוף מתחילות ב-defaultMode שלך, שהוא Manual אלא אם תשנה אותו, ושיחות בתוסף ל-VS Code מתחילות ב-Manual אלא אם claudeCode.initialPermissionMode או מצב שבחרת בתוסף מגדירים כזה. רק Claude Sonnet 5, Opus 4.7 ומעלה, ומודלי Fable נתמכים בספקים אלה.
כדי להפוך את מצב auto למצב ההרשאות ההתחלתי המוגדר כברירת מחדל, הגדר את "permissions": {"defaultMode": "auto"} בהגדרות משתמש או בהגדרות מנוהלות. בהפעלות שהתוסף ל-VS Code מתחיל, בחר Auto ממחוון המצב במקום זאת. הסעיף החלפת מצבי הרשאות מכסה מה גובר על בחירה זו.
בדיקת ה-/doctor מציעה ברירת מחדל זו של הגדרות משתמש בספקים אלה באותו אופן שהיא עושה זאת ב-Anthropic API.
כדי למנוע ממפתחים להשתמש במצב auto, הגדר את disableAutoMode ל-"disable" בהגדרות מנוהלות. פעולה זו מסירה את auto ממחזור Shift+Tab, והפעלה שתופעל עם --permission-mode auto תתחיל ב-Manual במקום זאת. הפעלה שכבר רצה במצב auto עוזבת אותו כאשר ההגדרה מגיעה לאותה הפעלה ממקור שנפרס על ידי מנהל מערכת, ומציגה auto mode disabled by settings. לפני גרסה 2.1.251, הפעלה פעילה שמרה על מצב auto עד סיומה.
בגרסאות 2.1.158 עד 2.1.206, מצב auto היה כבוי בספקים אלה עד שהגדרת CLAUDE_CODE_ENABLE_AUTO_MODE=1, ו-Claude Code התעלם מ-defaultMode: "auto" בספקים אלה אלא אם המשתנה הוגדר גם כן. המשתנה עדיין מתקבל לצורכי תאימות ואין לו כל השפעה מגרסה 2.1.207 ואילך.
בדיקת מסווג בצד השרת
בתוכניות Enterprise ובחשבונות המשתמשים ב-Claude API, ב-Claude Platform on AWS, ב-Amazon Bedrock, ב-Agent Platform של Google Cloud, וב-Microsoft Foundry, ובכל פעם שאתה מכוון את ANTHROPIC_BASE_URL אל שער (gateway) או פרוקסי של LLM, Claude Code במצב auto מבקש מהשרת לבדוק את הפעולות שעוברות למסווג כחלק מבקשות המודל של ההפעלה. במקומות שבהם השרת בודק אותן, פסיקותיו מכריעות לגבי אותן פעולות. במקומות שבהם הוא אינו בודק, לרוב משום ששער או פרוקסי של LLM מתערב בתעבורה, או משום שלפלטפורמה, לאזור או לפרטי האימות עדיין אין בדיקות בצד השרת, Claude Code נסוג לבקשות מסווג משלו, וברגע שנסיגה זו נשמרת לשארית ההפעלה הוא מציג הודעה על חיובי בקשות מסווג בחשבונות שבהם בקשות אלו מחויבות בתשלום. כדי לדלג על פנייה לשרת ולהשתמש תמיד בבקשות המסווג של Claude Code עצמו, הגדר את CLAUDE_CODE_AUTO_MODE_SERVER=0. המשתנה אינו נקרא בחיבור ישיר ל-Anthropic API. אם תגדיר CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 ותשאיר את CLAUDE_CODE_AUTO_MODE_SERVER לא מוגדר, Claude Code מפסיק לפנות לשרת גם כן.
פנייה לשרת כברירת מחדל דורשת את Claude Code בגרסה 2.1.278 ומעלה.
מה שהמסווג חוסם כברירת מחדל
המסווג נותן אמון בתיקיית העבודה שלך ובמאגרים המרוחקים (remotes) שהוגדרו עבורה בעת תחילת ההפעלה. מאגר מרוחק שנוסף או שונה נתיבו במהלך ההפעלה באמצעות git remote add או git remote set-url אינו מהימן, וכל השאר מטופל כחיצוני עד שתגדיר תשתית מהימנה. לפני גרסה 2.1.200, מאגרים מרוחקים שנוספו באמצע ההפעלה נחשבו מהימנים גם כן.
חסום כברירת מחדל:
- הורדה והרצה של קוד, כגון
curl | bash. - שליחת נתונים רגישים לנקודות קצה חיצוניות.
- פריסות ייצור (production deploys) ומיגרציות.
- מחיקה המונית באחסון ענן.
- הענקת הרשאות IAM או הרשאות מאגר (repo).
- שינוי תשתית משותפת.
- השמדה בלתי הפיכה של קבצים שהיו קיימים לפני ההפעלה.
- דחיפה בכוח (force push).
- ביצוע commit או push של שינוי שישלח סודות או נתונים רגישים מחוץ למאגר כאשר הוא ירוץ, או ירחיב את מה שפריסה חושפת. הדבר מכסה תהליך עבודה ב-CI או תצורת פריסה שמעבירים סוד ליעד שאינו מקבל אותו כבר, סקריפט או שלב התקנה שקוראים מאגר סודות ושולחים את הנתונים החוצה, ושינוי תצורה שמרחיב את מה שפריסה מפרסמת, כגון הגדרת registry, ניראות (visibility), תוצר (artifact) או מפת מקור (sourcemap). הבדיקה חלה על כל ענף, חלה גם כאשר המאגר ציבורי, ומופעלת כאשר השינוי מבוצע ב-commit או ב-push, בין אם אותו commit או push מפעיל את הצינור (pipeline) ובין אם לאו; ביטול החסימה דורש לציין את השפעת ההרצה, ולא רק את ה-commit או ה-push. לפני גרסה 2.1.211, בדיקה זו הייתה מוגבלת לענף ברירת המחדל במקום זאת: push לשם נחסם כאשר נשא תוכן רגיש, שינויים שהוסתרו או תוארו באופן שגוי ביחס למה שביקשת, תוכן שהובא מחוץ למאגר, או עקיפה של בדיקה שביקשת.
git reset --hard,git checkout -- .,git restore .,git clean -fd,git stash drop, אוgit stash clear, שהמסווג מניח שיבטלו שינויים שלא נשמרו ב-commit.git commit --amendכאשר ה-commit ב-HEAD לא נוצר בהפעלה זו.- החל מגרסה 2.1.198,
git commit --amendכאשר ה-commit ב-HEAD כבר נדחף (pushed). ניסוח מחדש של ההודעה בלבד אינו נחסם:--amend -mללא שום דבר שנוסף מחדש ל-staging, על commit שקלוד יצר במהלך הפעלה זו. terraform destroy,pulumi destroy,cdk destroy, אוterragrunt destroy, והחלת תוכנית שמשמידה משאבים.
גרסה 2.1.195 ומעלה חוסמות קטגוריות נוספות כברירת מחדל. כמה מהן תלויות בערכי סביבה (environment), כגון יעדים מרוחקים רגישים והיקפי IaC מוגנים, שבאפשרותך לצמצם לשמות קונקרטיים:
- כתיבה למנהל סודות (secret manager), או שינוי רשומות DNS או תעודות TLS.
- מיזוג של pull request שאף אדם לא אישר, אישור של pull request של קלוד עצמו, או השבתת בדיקות CI.
- פרסום תגובה שהיא בעצמה פקודה לאוטומציה, כגון
atlantis applyאו/deployאו/mergeשל בוט. - החלפה, הגדלה הדרגתית (ramping) או מחיקה של דגל תכונה בייצור (production feature flag).
- החלת שינויי תשתית על היקף IaC מוגן, או ניקוז והסרה (draining and removing) של צמתי אשכול (cluster nodes).
- כתיבות לאשכול מחשוב משותף שמגיעות מעבר למשאב שנקבת בשמו, כגון בורר תוויות (label selector) או
--allשתופס עבודות של משתמשים אחרים. - יצירת משאבי Kubernetes שרצים בכל צומת או מיירטים תעבורת אשכול, כגון DaemonSets ו-admission webhooks.
- מעטפות אינטראקטיביות או העברות פורטים (port-forwards) אל יעד מרוחק רגיש.
- פתיחת מנהרה (tunnel) או מעטפת הפוכה (reverse shell) שהופכות שירות מקומי לנגיש מהאינטרנט הציבורי.
- הדפסת פרטי אימות או טוקן פעיל לתוך התמליל (transcript) או לקובץ.
- גישה למיקום המופיע כמיקום נתונים רגישים ב-סביבה שלך, או העתקת נתונים מתוכו. החל מגרסה 2.1.198 הדבר חוסם גם שליחת נתונים מאחד כזה לקהל שהערך אינו כולל.
- ניתוב התקנת חבילה סביב מאגר החבילות הפנימי שלך אל מאגר ציבורי. החל מגרסה 2.1.198, הדבר חל גם כאשר אמרת לקלוד בשיחה שקיים מאגר פנימי או מראה (mirror), ולא רק כאשר הוא מופיע בסביבה שלך.
- הרצת פקודה עם דגל שמנטרל מנגנון הגנה, כמו
--insecure. - הפעלת לולאת סוכן אוטונומית שרצה ללא אישור אנושי או ללא ארגז חול, כגון לולאה שהופעלה עם
--dangerously-skip-permissionsאו--no-sandbox. החל מגרסה 2.1.198 הדבר מכסה גם הרצת סוכן צד שלישי או מסגרת הערכה (eval harness) כאשר הבידוד ואישור פר-פעולה מושבתים, כגון מריץ שהופעל עם--yes-always. - פעולות דפדפן של Claude in Chrome שעלולות לשלוח תוכן דף, קובצי cookie או פרטי אימות מחוץ למקור (off-origin).
גרסה 2.1.198 ומעלה חוסמות כברירת מחדל גם את אלה:
- מחיקת קבצים ב-
/tmp, ב-$TMPDIR, או בתיקיית עבודה או מטמון משותפת אחרת באמצעות תווים חופשיים (wildcard), גלוב (glob) או מסנן גיל ולא לפי נתיב ספציפי בעל שם. - הכללת פרטים רגישים בתוכן שנשלח, הועלה, פורסם או נכתב לאנשים אחרים או למערכות משותפות, כאשר הודעתך שלך לא אישרה פרטים אלה עבור אותו נמען. גופי PR ו-issue, הודעות commit ותגובות נחשבים לתוכן יוצא מסוג זה כאשר המאגר נמצא מחוץ לגבול האמון או שהוא ציבורי, כולל מאגרים ציבוריים של הארגון שלך עצמו; נתיבי קבצים פנימיים, שמות קוד, נתוני תגובת API פעילים כגון הודעות דוא"ל או מזהי חשבונות, ומזהי תשתית נחשבים לפרטים רגישים. תיחום ההיקף של PR, issue והודעות commit דורש את Claude Code בגרסה 2.1.200 ומעלה. נתונים אישיים פעילים מתגובת API בגוף PR או issue, כגון כתובת דוא"ל, מזהה חשבון או ארגון, או מדד שימוש, מחייבים אותך לציין פרטים אלה ואת הנמען ללא קשר לניראות המאגר או לגבול האמון. בדיקה זו דורשת את Claude Code בגרסה 2.1.203 ומעלה.
- שליחת הקשות מקלדת לחלונית ה-tmux של Claude Code עצמו כדי להפעיל את הממשק שלו, דבר שהמסווג מתייחס אליו כקלוד המשנה את ההרשאות או הפיקוח של עצמו.
גרסה 2.1.200 ומעלה חוסמות כברירת מחדל גם את אלה:
- הפיכת בדיקה או טענה (assertion) המגנה על התנהגות אבטחה להערה (commenting out), מחיקתה או העברתה בכוח (force-passing), כגון אימות (auth), בקרת גישה, אימות קלט או ארגז חול.
- מחיקה או פירוק של משאב בעל מצב (stateful resource) שקלוד לא יצר בהפעלה, כאשר לא חל כלל מחיקה ספציפי יותר ולא נקבת בשם אותו משאב.
- הפניה מחדש של כתובת בסיס של API, נקודת קצה של פרוקסי, מקבל webhook או מראת מאגר אל מארח צד שלישי שאינו מתאים למשימה, כולל בקובצי דוגמה כמו
.env.example. - שינוי היעד של דחיפות (pushes) באמצעות
git remote set-urlאוgit remote add, אלא אם ציינת את שם המאגר המרוחק החדש. - דחיפת סודות או נתונים אישיים או נתונים שנמסרו בנאמנות אל מאגר הידוע כציבורי, או דחיפת חומר סודי לשם שאינו חלק מהעבודה של אותו מאגר עצמו. נושא העבודה של מאגר dotfiles הוא החריג היחיד עבור נתונים אישיים או נתונים שנמסרו בנאמנות, ותוכן ממאגר פרטי שמגיע למשטח ציבורי כלשהו נחסם באותו אופן; שני הדיוקים הללו דורשים את Claude Code בגרסה 2.1.203 ומעלה. לפני גרסה 2.1.203, נתונים אישיים קובצו יחד עם חומר סודי ונחסמו רק כאשר לא היו חלק מהעבודה של אותו מאגר עצמו. כאשר הניראות של מאגר אינה ידועה, המסווג אינו חוסם על סמך עובדה זו בלבד; הוא שופט את התוכן מול שאר הכללים במקום זאת.
- פתיחת pull request כנגד מאגר או ארגון אחר, יצירת fork באמצעות
gh repo fork, או דחיפה למאגר של צד שלישי, אלא אם ציינת יעד חיצוני זה.
גרסה 2.1.203 ומעלה חוסמות כברירת מחדל גם את אלה:
- תוכן מאחסון מקומי רגיש, או מקובץ ששמו, נתיבו או סוגו מסמנים אותו כרגיש, הנכנס ל-commit, ל-push, לטקסט של PR או issue, ל-gist או paste, או לפרסום חבילה, אלא אם ציינת הן את המקור והן את היעד. תמלילי הפעלה ויומני שיחה, תיקיות נקודה של פרטי אימות ותצורה כגון מפתחות SSH, פרטי אימות ענן, פרופילי דפדפן והיסטוריית מעטפת, וייצוא נתוני משתמש נחשבים כולם, והעובדה שהמאגר פרטי אינה מבטלת את החסימה.
גרסה 2.1.205 ומעלה חוסמות כברירת מחדל גם את אלה:
- כתיבה לתמלילי הפעלות של Claude Code, קובצי ההיסטוריה מסוג
.jsonlתחת~/.claude/projects/או תיקיית התצורה שהגדרת, בין אם ישירות ובין אם באמצעות פקודת מעטפת. הכלל מכסה גם את שורות המטא-נתונים ש-Claude Code מוסיף לכל רשומת תמליל עבור הבדיקות שלו עצמו. קריאת תמליל אינה נחסמת. - מחיקה כפויה רקורסיבית כגון
rm -rf "$VAR"אוRemove-Item -Recurse -Force $dirשהיעד שלה הוא משתנה מעטפת, או גלוב המושרש באחד כזה, שאינו מוקצה בשום מקום בשיחה שהמסווג רואה. הערך הגיע רק מפלט פקודה קודמת, שהמסווג לעולם אינו מקבל, ולכן המסווג אינו יכול לאמת את יעד המחיקה מול שאר כללי המחיקה. החסימה מתבטלת כאשר אתה מציין את הנתיב המדויק שנמחק, או כאשר קלוד מריץ מחדש את המחיקה עם הנתיב המפורש המפוענח כתוב בתוך הפקודה. מחיקות שהמסווג יכול לפענח את היעד שלהן אינן מושפעות. יעדיRemove-Itemשהם*בלבד או מסתיימים ב-/*או ב-\*לעולם אינם מגיעים למסווג: Claude Code דוחה אותם לחלוטין.
גרסה 2.1.257 ומעלה חוסמות כברירת מחדל גם את אלה:
- בקשת פרטי אימות מנקודת הקצה של מטא-נתוני מופע ענן (instance-metadata endpoint), כגון
169.254.169.254, או אימות מפורש של קריאת ענן, אשכול או מאגר באמצעות זהות חשבון השירות או הצומת של המכונה עצמה. - הגעה למארח ציבורי בנתיב שאינו בקשה ישירה, כגון מנהרה, מעטפת הפוכה, או תצורת מפענח (resolver) או פרוקסי שנכתבה מחדש כדי להצביע החוצה.
- קריאת פרטי אימות השייכים למארח ולא למשימה שלך, כגון תעודות צומת או אימות מאגר המכולות של הצומת.
- התחברות או סריקה של מכולות, פודים (pods) או מכונות וירטואליות אחים שקלוד לא הפעיל, או הצומת שמתחת למכולה.
- אם Claude Code רץ במקום שנועד לאפשר אחד מאלה, תאר הגדרה זו ברשומת הכלת מארח (Host containment) ב-
autoMode.environment.
גרסה 2.1.261 ומעלה חוסמות כברירת מחדל גם את אלה:
- פרסום או כתיבה של קישור לשירות הדבקה (paste), תרשימים או שיתוף נתונים ציבורי בהודעה, בטקסט של PR או issue, במסמך, או בכל מקום אחר שבו הקישור ייפתח או יובא, כאשר כתובת ה-URL עצמה נושאת את התוכן המשותף, אלא אם ציינת שירות זה בשמו.
מורשה כברירת מחדל:
- פעולות קבצים מקומיות בתיקיית העבודה שלך.
- התקנת תלויות המוצהרות בקובצי הנעילה (lock files) או המנשרים (manifests) שלך.
- קריאת
.envושליחת פרטי אימות ל-API התואם שלהם. - בקשות HTTP לקריאה בלבד.
- דחיפה (push) לכל ענף במאגר שבו אתה עובד, כולל ענף ברירת המחדל. ענף שאינו ענף ברירת המחדל ששמו מסמן אותו כיעד פריסה או פרסום, כגון
productionאוgh-pages, אינו מכוסה: המסווג שופט דחיפה לשם בפני עצמה. תוכן הדחיפה עדיין נבדק מול שאר הכללים, כלליpermissions.denyעדיין יכולים לחסום פקודות push כפי שנכתבו בכל מצב, והגנת הענף של המאגר המרוחק עצמו עדיין חלה. לפני גרסה 2.1.211, רק דחיפות לענף שבו התחלת, לענפים שקלוד יצר, ודחיפות שגרתיות לענף ברירת המחדל הותרו כברירת מחדל, ולפני גרסה 2.1.203 כל דחיפה ישירה לענף ברירת המחדל נחסמה.
גרסה 2.1.195 ומעלה מתירות כברירת מחדל גם את אלה:
- מחיקת העבודות המדויקות שקלוד יצר קודם לכן באותה הפעלה.
- קריאה, בדיקה או כתיבה של קוד, תצורות ומודלי איומים הקשורים לאבטחה כחלק מהמשימה שלך.
- הודעות בין סוכנים שעובדים יחד באותה הפעלת ריבוי סוכנים.
- שליחת נתונים לדומיינים, דליים (buckets) ושירותים מהימנים שאתה מציין ב-
environment. הדבר מכסה זרימת נתונים בלבד, ולא פעולות הרסניות או פעולות הקשורות לפרטי אימות באותה תשתית. - ניווט של Claude in Chrome לדומיין פנימי מהימן, ל-localhost, או לכתובת URL שציינת בשמה.
פקודות בארגז חול אינן מקבלות גישה לרשת כברירת מחדל. קלוד מציין את המארחים שפקודה צריכה על גבי הפקודה עצמה, המסווג בודק אותם יחד עם הפקודה, ורשימה מאושרת פותחת את אותם מארחים עבור אותה פקודה בודדת בלבד. הסעיף דומיינים מורשים לפי פקודה מכסה מה רשימה יכולה ואינה יכולה לפתוח ומה קורה כאשר פקודה מנסה להגיע למארח שאינו ברשימה.
הרץ claude auto-mode defaults כדי להדפיס את רשימות הכללים המלאות כ-JSON. אם פעולות שגרתיות נחסמות, מנהל מערכת יכול להוסיף מאגרים, דליים ושירותים מהימנים דרך ההגדרה autoMode.environment: ראה הגדרת מצב auto.
דחיפה לכל ענף במאגר שבו אתה עובד ויצירת pull request התואם לבקשתך רצים ללא בקשת אישור, אלא אם הדחיפה או ה-pull request נופלים תחת הרשימה החסומה, כגון סודות או נתונים רגישים היוצאים מהמאגר, או pull request המכוון למאגר או לארגון אחר. כדי לדרוש נקודת ביקורת אנושית לפני פקודות אלה תוך שמירה על מצב auto, הוסף כללי permissions.ask, התואמים את הפקודה כפי שנכתבה: ראה גבולות נפוצים.
הקריאה הראשונה מחוץ לתיקיות העבודה
בזמן ש-permissions.blockReadsOutsideWorkingDirectories כבוי, קריאות קבצים רצות ללא בקשת אישור במצב auto, כולל קריאות מחוץ לתיקיות העבודה. בפעם הראשונה שקלוד משתמש בכלי Read, Grep או Glob בנתיב שמחוץ להן, Claude Code שואל אותך האם להמשיך להתיר קריאות אלו.
בקשת האישור אינה מופיעה בהרצות -p לא אינטראקטיביות או בהפעלות רקע; קריאות שם רצות כבעבר.
לא משנה מה תענה, קלוד ממשיך לעבוד:
- Keep allowing: הקריאה רצה, קריאות עתידיות מחוץ לתיקיות העבודה רצות כבעבר, ו-Claude Code מתעד את תשובתך כך שהבקשה לא תופיע שוב.
- Block from now on: הקריאה נדחית, ו-Claude Code מגדיר את
permissions.blockReadsOutsideWorkingDirectoriesל-trueבהגדרות המשתמש שלך, מה שגורם לכלי הקבצים לסרב לקריאות כאלה בכל הפעלה עתידית ובכל מצב הרשאות. כדי לאפשר לקלוד לקרוא נתיב כזה מאוחר יותר, הוסף את התיקייה שלו באמצעות/add-dirאו הסר את ההגדרה. - Ask again next time: הקריאה נדחית, והקריאה הבאה מחוץ לתיקיות העבודה תבקש אישור שוב.
גבולות שאתה מציין בשיחה
המסווג מתייחס לגבולות שאתה מציין בשיחה כאל אות חסימה. אם תאמר לקלוד "אל תעשה push" או "המתן עד שאבדוק לפני פריסה", המסווג חוסם פעולות תואמות גם כאשר כללי ברירת המחדל היו מתירים אותן. גבול נשאר בתוקף עד שאתה מסיר אותו בהודעה מאוחרת יותר. שיקול דעתו של קלוד עצמו שלפיו תנאי התקיים אינו מסיר אותו.
גבולות אינם נשמרים ככללים. המסווג קורא אותם מחדש מהתמליל בכל בדיקה, כך שגבול עלול ללכת לאיבוד אם דחיסת הקשר (context compaction) מסירה את ההודעה שציינה אותו. לקבלת ערובה קשיחה, הוסף כלל חסימה (deny rule) במקום זאת.
כאשר מצב auto נסוג לאחור
כאשר מצב auto אינו יכול לאשר את פעולות ההפעלה שלך, מה שקורה תלוי במקרה:
- פעולה חסומה: Claude Code מציג הודעה ומפרט את הפעולה ב-
/permissionsתחת הלשונית Recently denied, שבה תוכל ללחוץ עלrכדי לנסות אותה שוב עם אישור ידני. כאשר המסווג אינו מפיק שום פסיקה לגבי הפעולה, מכיוון שבדיקת בטיחות נפרדת ממצב auto סירבה לבקשת המסווג עצמו או שתשובתו לא פוענחה, Claude Code דוחה את הפעולה ללא ההודעה וללא הרשומה ב-Recently denied. - חסימות חוזרות: אם המסווג חוסם פעולה 3 פעמים ברציפות או 20 פעמים בסך הכל, מצב auto מושהה ו-Claude Code חוזר לבקש אישור. אישור הפעולה שביקשה אישור מחדש את מצב auto. ספים אלה אינם ניתנים להגדרה. כל פעולה שהותרה מאפסת את המונה הרציף, בעוד שהמונה הכולל נשמר לאורך ההפעלה ומתאפס רק כאשר המגבלה שלו עצמו מפעילה נסיגה. Claude Code אינו סופר דחייה לקראת אף אחד מהספים כאשר בדיקת בטיחות נפרדת ממצב auto מסרבת לבקשת המסווג עצמו; הרשומה המקושרת מכסה כיצד Claude Code מטפל בדחיות אלו.
- הפעלות שאינן יכולות לבקש אישור: הרצת
-pלא אינטראקטיבית ללא--permission-prompt-toolאינה כוללת בקשת אישור שאליה ניתן לסגת. כאשר חסימות חוזרות מגיעות לסף, הפעולה אינה רצה וקלוד ממשיך לעבוד. אותו הדבר חל כאשר בדיקת בטיחות נפרדת ממצב auto מסרבת לבקשת המסווג. Claude Code אינו עוצר את ההרצה באף אחד מהמקרים. - החלפת מצב במהלך בדיקה: אם אתה מחליף מצבי הרשאות בזמן שבדיקת מסווג תלויה ועומדת, Claude Code משליך פסיקה שהמצב החדש לא היה מבקש במקום להחיל אותה: אתה מתבקש לאשר במקום זאת, או שהפעולה נדחית אוטומטית במצב
dontAsk.
חסימות חוזרות מעידות בדרך כלל על כך שלמסווג חסר הקשר לגבי התשתית שלך. השתמש ב-/feedback כדי לדווח על זיהויים שגויים (false positives), או בקש ממנהל מערכת להגדיר תשתית מהימנה.
כיצד המסווג מעריך פעולות
כל פעולה עוברת סדר הכרעה קבוע. השלב הראשון שתואם מנצח:
- פעולות התואמות לכללי allow, ask או deny שלך מוכרעות מיד, עם החריגים הבאים:
- כתיבות אל נתיבים מוגנים מנותבות למסווג אפילו כאשר כלל allow תואם, וכך גם מחיקות
rmו-rmdirהמכוונות אל נתיב קריטי ב-Claude Code בגרסה 2.1.218 ומעלה. - כלי MCP המסומנים כ-
requiresUserInteractionמבקשים ממך אישור ישירות אפילו כאשר כלל allow תואם, וכך גם כלי קישור שהארגון שלך הגדיר ל-askבהפעלות שבהן הגדרה זו מגיעה ל-Claude Code. - פקודת מעטפת הנושאת דומיינים מורשים לפי פקודה מנותבת גם היא למסווג אפילו כאשר כלל allow תואם, מכיוון שכלל מאשר את הפקודה, לא את המארחים שלה.
- כללי ask שתואמים לתוכן של פקודה, כגון
Bash(git push *), נסוגים לבקשת אישור.
- כתיבות אל נתיבים מוגנים מנותבות למסווג אפילו כאשר כלל allow תואם, וכך גם מחיקות
- פעולות לקריאה בלבד ועריכות קבצים בתיקיית העבודה שלך מאושרות אוטומטית, למעט כתיבות אל נתיבים מוגנים והקריאה הראשונה מחוץ לתיקיות העבודה, שמבקשת ממך אישור.
- כל השאר עובר למסווג. כלי הקישור וכלי ה-MCP בעלי
requiresUserInteractionשמבקשים ממך אישור ישירות בשלב 1 לעולם אינם מגיעים למסווג, כך שאף אישור הנדרש על ידי הארגון ואף שלב הסכמה אינם מאושרים אוטומטית. - אם המסווג חוסם, קלוד מקבל את הסיבה ומנסה חלופה. ברוב ההפעלות הסיבה מציינת את הכלל שהמסווג התאים אליו, כגון
[Data Exfiltration], במקום לתת הסבר כתוב; ראה בדיקת דחיות.
בעת כניסה למצב auto, כללי allow רחבים המעניקים הרצת קוד שרירותית מושמטים:
Bash(*)אוPowerShell(*)גורף.- מפרשים בעלי תווים חופשיים כמו
Bash(python*). - פקודות הרצה של מנהל חבילות (package-manager run commands).
- כללי allow עבור
Agent. - כללי allow עבור
Monitor, מכיוון ש-Claude Code מריץ פקודות Monitor דרך המעטפת.
כללים צרים כמו Bash(npm test) נשארים בתוקף. Claude Code משחזר את הכללים שהושמטו כאשר אתה עוזב את מצב auto. לפני גרסה 2.1.236, Claude Code השאיר כללי allow של Monitor בתוקף במצב auto, כך שכלל שתאם לכלי כולו אישר פקודות Monitor ללא בדיקת מסווג.
Claude Code מריץ גם את git status בעצמו לפני פקודה שהייתה משליכה עבודה שלא נשמרה ב-commit, כגון git reset --hard או rm -rf, ומציג למסווג האם קיימת עבודה ב-staged, עבודה ששונתה (modified) או עבודה שאינה במעקב (untracked). Claude Code מדווח על קבצים שאינם במעקב באותה בדיקה גם כאשר תצורת ה-git של המאגר מגדירה status.showUntrackedFiles=no.
בבקשות המסווג שנשלחות על ידי Claude Code עצמו, המסווג רואה הודעות משתמש, קריאות לכלים מלבד בדיקות לקריאה בלבד כמו קריאות וחיפושי קבצים, ואת תוכן ה-CLAUDE.md שלך. תוצאות כלים מופשטות מבקשות אלו, כך שתוכן עוין בקובץ או בדף אינטרנט אינו יכול לבצע מניפולציה ישירה על המסווג.
באפשרותך להוסיף הערה לתוצאת קריאה באמצעות שדה classifierContext של הוק PostToolUse, שאותו המסווג קורא כהקשר שסופק על ידי האפליקציה. השדה דורש את Claude Code בגרסה 2.1.236 ומעלה.
גשושית (probe) נפרדת בצד השרת סורקת תוצאות כלים נכנסות ומסמנת תוכן חשוד לפני שקלוד קורא אותו. למידע נוסף על האופן שבו שכבות אלו פועלות יחד, ראה את הודעת מצב auto ואת הצלילה הטכנולוגית לעומק.
כיצד מצב auto מטפל בתת-סוכנים
המסווג בודק את עבודת תת-הסוכן (subagent) בשלוש נקודות:
- לפני שתת-סוכן מתחיל, תיאור המשימה שהואצלה מוערך, כך שמשימה שנראית מסוכנת נחסמת בזמן ההפעלה (spawn time).
- בזמן שתת-הסוכן רץ, כל אחת מפעולותיו עוברת דרך המסווג עם אותם כללים כמו בהפעלת ההורה, וכל
permissionModeב-frontmatter של תת-הסוכן זוכה להתעלמות. - כאשר תת-הסוכן מסיים, המסווג בודק את עבודתו ואת הדו"ח הסופי שלו לפני שההורה קורא את הדו"ח. כאשר המסווג מסמן את עבודת תת-הסוכן או את הדו"ח שלו, או שבדיקת בטיחות נפרדת של ה-API מסרבת לבדיקה, הדו"ח עדיין נמסר, בתוספת אזהרת אבטחה בראשו. כאשר המסווג אינו זמין לבדיקה, הדו"ח מגיע עם הערה לאמת את עבודת תת-הסוכן לפני שפועלים לפיה.
שלב 1 דורש את Claude Code בגרסה 2.1.178 ומעלה. גרסאות קודמות החילו את המסווג בשלבים 2 ו-3, אך לא העריכו את תיאור המשימה לפני שתת-הסוכן התחיל.
עלות והשהיה
המסווג רץ על Claude Sonnet 5 כברירת מחדל ולא על בחירת ה-/model שלך. מודל מסווג ש-Anthropic מגדירה בצד השרת גובר על ברירת מחדל זו. כאשר מודל ההפעלה שלך הוא Claude Sonnet 4.6, או כאשר availableModels אינו כולל את Sonnet 5, המסווג רץ על מודל ההפעלה במקום זאת, או על מודל Opus כאשר ההפעלה רצה על מודל Fable; בספקים שאינם Anthropic API, אותה נסיגה ל-Opus היא מודל ה-Opus המוגדר כברירת מחדל אצל הספק.
בקשת מצב auto הראשונה של ההפעלה מאמתת את ברירת המחדל של Sonnet 5: אם הבקשה מצליחה, Sonnet 5 נשאר מודל המסווג של ההפעלה, ואם היא נכשלת מכיוון שהמודל אינו זמין, ההפעלה משתמשת בנסיגה החלופית במקום זאת. לאחר שאימות זה נקבע, מודל המסווג אינו משתנה עבור אותה הפעלה.
בתוכניות Enterprise ובחשבונות המשתמשים ב-Claude API, ב-Claude Platform on AWS, ב-Amazon Bedrock, ב-Agent Platform של Google Cloud, או ב-Microsoft Foundry, קריאות למסווג נספרות לקראת צריכת הטוקנים שלך. כל בדיקה שולחת חלק מהתמליל בתוספת הפעולה הממתינה, מה שמוסיף סבב תקשורת (round-trip) לפני הביצוע. קריאות ועריכות בתיקיית העבודה מחוץ לנתיבים מוגנים מדלגות על המסווג, כך שהתקורה מגיעה בעיקר מפקודות מעטפת ומפעולות רשת. במקומות שבהם השרת בודק את הפעולות כחלק מבקשות המודל של ההפעלה, אין קריאות מסווג נפרדות לספירה; ראה בדיקת מסווג בצד השרת.
גישה מבוד דת לרשת (Sandboxed network access) אינה מוסיפה בקשות מסווג לכל חיבור. המסווג שופט את המארחים שפקודה מציינת יחד עם הפקודה בבדיקה אחת, ו-Claude Code בודק כל חיבור מול הרשימה המאושרת מבלי לקרוא למסווג שוב.
התרת כלים שאושרו מראש בלבד באמצעות מצב dontAsk
אם תגדיר מצב dontAsk, Claude Code ידחה אוטומטית כל קריאה לכלי שאחרת הייתה מבקשת ממך אישור. קלוד עדיין מריץ פעולות שאינן דורשות אישור במצב Manual, כגון קריאות קבצים בתוך תיקיות העבודה שלך ופקודות Bash לקריאה בלבד, בתוספת פעולות התואמות לכללי permissions.allow שלך וקריאות שאושרו על ידי הוק PreToolUse. השתמש במצב זה עבור צינורות CI או סביבות מוגבלות שבהן אתה מגדיר מראש מה מותר לקלוד לעשות; ההפעלה לעולם אינה ממתינה לקלט. שורת המצב מציגה ⏵⏵ don't ask on בזמן שמצב זה פעיל.
Claude Code דוחה קריאות התואמות לכללי ה-ask המפורשים שלך במקום לבקש אישור. הוא דוחה גם את הכלי המובנה AskUserQuestion אפילו אם כללי ה-allow שלך תואמים לו, ועושה את אותו הדבר לכלי קישור שהארגון שלך הגדיר ל-ask בהפעלות שבהן הגדרה זו מגיעה אל Claude Code. הוא דוחה כלי MCP המסומנים כ-_meta["anthropic/requiresUserInteraction"] באותו אופן, מכיוון שכרטיס האישור שלהם זקוק לתשובה שמצב זה לעולם אינו אוסף; הדבר דורש את Claude Code בגרסה 2.1.199 ומעלה.
מחיקות rm ו-rmdir המכוונות אל נתיב קריטי, כגון rm -rf / ו-rm -rf ~, נדחות אפילו כאשר כלל allow תואם להן או שהוק PreToolUse מתיר אותן.
הפעלות ענן מתעלמות מ-defaultMode: "dontAsk"; ראה bypassPermissions לפרטים.
הגדר אותו בעת ההפעלה באמצעות הדגל:
claude --permission-mode dontAskדילוג על כל הבדיקות באמצעות מצב bypassPermissions
מצב bypassPermissions משבית בקשות אישור ובדיקות בטיחות כך שקריאות לכלים מתבצעות באופן מיידי, כולל כתיבות אל נתיבים מוגנים.
הפעולות שאף מצב אינו מאשר אוטומטית עדיין מבקשות אישור במצב זה.
שני אמצעי הגנה של הודעות בין הפעלות (cross-session messaging) עדיין חלים במצב זה, ובהפעלות מסוף אינטראקטיביות במצב plan שבהן הרשאות עקיפה זמינות:
- בקשת האישור של
isolatePeerMachinesעבור הודעות להפעלות שלך מעבר למחשב זה עדיין מופיעה. - כאשר לא חל ערך
crossSessionInbound, Claude Code מעכב הודעה נכנסת מהפעלה אחרת שלך לאישורך, ומוסר ללא שאלה רק כאשר ההפעלה השולחת מזדהה ככזו שגם עוקפת בקשות אישור. אם תעזוב את מצב ההרשאות בזמן שהודעות מעוכבות, Claude Code יחיל מחדש את הכללים הנכנסים וימסור כל הודעה מעוכבת שהם מקבלים כעת.
בהפעלות מסוף אינטראקטיביות שבהן הרשאות עקיפה זמינות, Claude Code גם אינו אוכף את החסימות של מצב plan. לקלוד עדיין ניתנת הוראה לתכנן מבלי לערוך, אך עריכת קובץ או פקודת מעטפת שהוא מנסה לבצע במהלך התכנון רצות ללא בקשת אישור. כללי ask מפורשים ומחיקות rm ו-rmdir המכוונות אל נתיב קריטי עדיין מבקשים אישור.
מצב plan שומר על החסימות שלו בכל מקום שבו Claude Code רץ ללא מסוף אינטראקטיבי, כולל הרצות לא אינטראקטיביות עם -p, הפעלות של Agent SDK, ושיחות בחלונית הצ'אט של התוסף ל-VS Code. שם, --allow-dangerously-skip-permissions הופך את bypassPermissions לניתן לבחירה מאוחר יותר.
אזהרה: השתמש במצב זה רק בסביבות מבודדות כמו מכולות, מכונות וירטואליות, או dev containers ללא גישה לאינטרנט, שבהן Claude Code אינו יכול להזיק למערכת המארחת שלך.
אינך יכול להיכנס ל-bypassPermissions מתוך הפעלה שהתחלת מבלי שהוא הופעל בה. הפעל אותו בעת ההשקה באמצעות permissions.defaultMode: "bypassPermissions" או באמצעות דגל מאפשר:
claude --permission-mode bypassPermissionsהדגל --dangerously-skip-permissions שווה ערך.
Claude Code מסרב ל-bypassPermissions בהפעלה שאתה מתחיל עם --restricted. הדגל --restricted דורש את Claude Code בגרסה 2.1.248 ומעלה.
בפעם הראשונה שאתה מתחיל הפעלה אינטראקטיבית עם מצב זה מופעל, Claude Code מציג תיבת דו שיח של אזהרה המבקשת ממך לקבל אחריות על פעולות שננקטו ללא בדיקות הרשאה. Claude Code שומר את הסכמתך בהגדרות המשתמש, כך שתיבת הדו שיח מופיעה פעם אחת בלבד. אם תסרב, Claude Code יוצא. במצב לא אינטראקטיבי לא מוצגת שום תיבת דו שיח, והפעלת רקע שהופעלה עם --bg נדחית עד שתאשר את תיבת הדו שיח בהפעלה אינטראקטיבית.
ב-Linux וב-macOS, Claude Code מסרב להתחיל במצב זה כאשר הוא רץ כ-root או תחת sudo:
--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasonsהבדיקה מדולגת אוטומטית בתוך ארגז חול מוכר. כדי לרוץ באופן אוטונומי בתוך מכולה, השתמש בתצורת dev container, המריצה את Claude Code כמשתמש שאינו root.
הפעלות ענן אינן מכבדות את defaultMode: "bypassPermissions" או "dontAsk" מקובצי ההגדרות שלך, כך שהגדרות שנשמרו במאגר אינן יכולות להתחיל הפעלת ענן במצב עקיפת הרשאות. מתעלמים מההגדרה בשקט וההפעלה מתחילה במצב ההרשאות המוצג בתפריט הנפתח של המצב במקום זאת. ראה החלפת מצבי הרשאות לגבי המצבים שהפעלות ענן מציעות.
אזהרה:
bypassPermissionsאינו מציע שום הגנה מפני הזרקת הנחיות (prompt injection) או פעולות לא מכוונות. לבדיקות בטיחות ברקע עם הרבה פחות בקשות אישור, השתמש במצב auto במקום זאת. מנהלי מערכת יכולים לחסום מצב זה על ידי הגדרתpermissions.disableBypassPermissionsModeל-"disable"בהגדרות מנוהלות.
נתיבים מוגנים
כתיבות לקבוצה קטנה של נתיבים לעולם אינן מאושרות אוטומטית, למעט במצב bypassPermissions ובהפעלות מסוף אינטראקטיביות במצב plan שבהן הרשאות עקיפה זמינות. הדבר מונע השחתה מקרית של מצב המאגר ושל התצורה של קלוד עצמו.
| מצב | כתיבות לנתיב מוגן |
|---|---|
default, acceptEdits | מבקשות אישור |
plan | מורשות בהפעלות מסוף אינטראקטיביות שבהן הרשאות עקיפה זמינות. אחרת, מנותבות למסווג כאשר מצב auto זמין במהלך התכנון, ומבקשות אישור כאשר אינו זמין |
auto | מנותבות למסווג |
dontAsk | נדחות |
bypassPermissions | מורשות |
בהפעלה שהופעלה עם --restricted, הדורש את Claude Code בגרסה 2.1.248 ומעלה, המסווג אינו יכול לאשר כתיבות לנתיבים מוגנים.
כללי permissions.allow בקובצי הגדרות אינם מאשרים מראש כתיבות לנתיבים מוגנים. בדיקת הבטיחות רצה לפני ש-Claude Code מעריך כללי allow מההגדרות, ולכן רשומה כגון Edit(.claude/**) ב-~/.claude/settings.json או ב-.claude/settings.json אינה משנה את התוצאה לכל מצב בטבלה לעיל. במצבים שמבקשים אישור, בקשת האישור עבור כתיבה ל-.claude/ מציעה Yes, and allow Claude to edit its own settings for this session, פעולה המאשרת כתיבות מאוחרות יותר ל-.claude/ באותה הפעלה ללא בקשת אישור נוספת.
תיקיות מוגנות:
.git.config/git.vscode.idea.husky.cargo.devcontainer.yarn.mvn.claude, למעט.claude/worktreesשבו קלוד מאחסן את עצי העבודה (git worktrees) של עצמו
קבצים מוגנים:
.gitconfig,.gitmodules.bashrc,.bash_profile,.bash_login,.bash_aliases,.bash_logout,.zshrc,.zprofile,.zshenv,.zlogin,.zlogout,.profile,.envrc.npmrc,.yarnrc,.yarnrc.yml,.pnp.cjs,.pnp.loader.mjs,.pnpmfile.cjs,bunfig.toml,.bunfig.toml.bazelrc,.bazelversion,.bazeliskrc.pre-commit-config.yaml,lefthook.yml,lefthook.yaml,.lefthook.yml,.lefthook.yamlgradle-wrapper.properties,maven-wrapper.properties.devcontainer.json.ripgreprc,pyrightconfig.json.mcp.json,.claude.json
נתיבים קריטיים
Claude Code לעולם אינו מאפשר לכלל permissions.allow או להוק PreToolUse שמחזיר "allow" לאשר פקודת rm או rmdir המכוונת אל נתיב קריטי, אפילו במצבים שמדלגים על בקשות אישור אחרות. מפסק ביטחון זה מגן מפני שגיאת מודל. כלל חסימה (deny rule) תואם עדיין חוסם את הפקודה לחלוטין.
מה שקורה במקום זאת תלוי במצב ההרשאות שלך:
| מצב | מה Claude Code עושה עם מחיקת נתיב קריטי |
|---|---|
default, acceptEdits | מבקש ממך לאשר אותה |
plan | מבקש ממך לאשר אותה. כאשר מצב auto זמין במהלך התכנון וללא הרשאות עקיפה זמינות, שולח אותה למסווג במקום זאת |
auto | שולח אותה אל המסווג |
dontAsk | דוחה אותה |
bypassPermissions | מבקש ממך לאשר אותה |
אם כלל ask מפורש תואם לפקודה, Claude Code שואל אותך אפילו במצב auto. במצבים ששואלים, הוק PermissionRequest יכול לענות לבקשת האישור כפי שהוא עונה לכל בקשת אישור אחרת.
Claude Code מתייחס ליעד של rm או rmdir כאל נתיב קריטי כאשר הוא אחד מאלה:
- שורש מערכת הקבצים (filesystem root).
- תיקיות ברמה העליונה, כלומר כל צאצא ישיר של השורש, כגון
/usr,/etcאו/data. - תיקיית הבית שלך (home directory).
- שורשי כוננים ב-Windows והתיקיות ברמה העליונה שלהם, כגון
C:\ו-C:\Windows. - תיקיית העבודה שלך ותיקיות ההורים שלה.
- תיקיות העבודה הנוספות שלך וההורים שלהן, אך רק כאשר המחיקה היא גלוב (glob) תחת אחת מהן, כגון
rm -rf <dir>/*. הפקודהrm -rf <dir>על התיקייה עצמה אינה מפעילה בדיקה זו.
Claude Code מתייחס גם לגלוב או ללוכסן סוגר ישירות תחת משתנה מעטפת, כגון rm -rf "$DIR"/*, כמחיקת נתיב קריטי, מכיוון שהפקודה הופכת למחיקה משורש מערכת הקבצים כאשר המשתנה ריק.
הסתרת המחיקה בתוך תת-מעטפת עם (...), קבוצת סוגריים מסולסלים עם { ...; }, החלפת פקודה עם $(...) או backticks, או החלפת תהליך עם <(...), אינה מדלגת על הבדיקה. Claude Code מאתר מחיקת נתיב קריטי בין אם היא נמצאת בתוך המבנה המקונן, כמו ב-(rm -rf ~) או ב-echo "$(rm -rf ~)", ובין אם במקום אחר באותה פקודה.
Remove-Item ב-PowerShell
כאשר אתה מפעיל את כלי PowerShell, Claude Code מעניק ל-Remove-Item בדיקה משלו, בנפרד מרשימת הנתיבים הקריטיים של rm. התוצאה תלויה ביעד, והמקרה הראשון שתואם חל:
- נתיבי מערכת: שורש מערכת הקבצים והתיקיות ברמה העליונה שלו, שורשי כוננים והתיקיות ברמה העליונה שלהם, ותיקיית הבית שלך. Claude Code דוחה את הפקודה בכל מצב, מבלי לשאול אותך.
- תווים חופשיים (Wildcards): תו
*בודד, או כל יעד המסתיים ב-/*או ב-\*, כולל גלוב תחת משתנה מעטפת כגון$dir/*. Claude Code דוחה את הפקודה בכל מצב, מבלי לשאול אותך, לפני שהמסווג רואה אותה. - תיקיית העבודה שלך או אחד מהוריה, עם
-Recurse: Claude Code מתייחס לפקודה כמו לכל פקודה אחרת הזקוקה לאישור במצב ההרשאות שלך, כך שהוא שואל אותך במצבים ששואלים, שולח אותה למסווג במצבauto, ודוחה אותה במצבdontAsk. מצבbypassPermissionsמדלג על בדיקה זו.
ראה גם
- הרשאות: כללי allow, ask ו-deny; מדיניות מנוהלת.
- הגדרת מצב auto: הדרכת המסווג באיזו תשתית הארגון שלך נותן אמון.
- הוקים (Hooks): לוגיקת הרשאות מותאמת אישית דרך הוקים של
PreToolUseו-PermissionRequest. - אבטחה: אמצעי הגנה ושיטות עבודה מומלצות.
- ארגז חול (Sandboxing): בידוד מערכת קבצים ורשת עבור פקודות Bash.
- מצב לא אינטראקטיבי: הרצת Claude Code עם הדגל
-p.