תיעוד 74
סקירת מודים
הוסיפו חלוניות, פקודות וכללי קריאות כלים ל-Claude Code באמצעות מוד. ראו מה מוד יכול לעשות, איך ליצור או להתקין אחד, ואיפה מודים רצים.
מוד הוא תוסף שמשנה איך Claude Code נראה ומתנהג. הוא מורכב ממטפלי אירועים ב-JavaScript או ב-TypeScript: Claude Code קורא לאחד כשמתרחש אירוע, כמו קריאת כלי, פרומפט שנשלח, או חלק מהממשק שמצויר, והמטפל יכול לצפות באירוע, לשנות אותו, או לקחת אותו. השתמשו במוד כדי להוסיף תכונה משלכם ל-Claude Code, כמו חלונית שמשרטטת כמה חלון ההקשר מלא אחרי כל בקשה. לקבצים במוד ולדוגמה מלאה, ראו איך מוד עובד.
[!NOTE]
גם ההוקים הקיימים של Claude Code רצים על אירועים, כפקודת מעטפת, בקשת HTTP, או פרומפט שאתם מגדירים בקובץ הגדרות. המטפלים של מוד הם פונקציות שרצות בתוך Claude Code. Claude Code קורא לשני סוגי ההוקים: בדפים האלה, "הוק" הוא המטפל של מוד, והסוג שבקובץ ההגדרות הוא "הוק הגדרות".
#מה מוד יכול לעשות
הוקי הגדרות, skills, שורות סטטוס ושרתי MCP עובדים מחוץ ל-Claude Code: כל אחד מריץ סקריפט, או נותן ל-Claude טקסט או כלים. מוד רץ בתוך Claude Code, ולכן הוא יכול לעשות דברים שהם לא יכולים:
- לצייר ממשק שאפשר להשתמש בו: חלונית ליד התמליל או פס מעל הפרומפט, עם לשוניות, כפתורים ושדות טקסט. ראו ציור בממשק.
- לצייר מחדש את הממשק של Claude Code עצמו: להחליף או לעצב מחדש חלקים ש-Claude Code מצייר בעצמו, כמו שורה של קריאת כלי, הספינר, או תיבת הדו-שיח שבה Claude שואל שאלות. ראו שינוי מה ש-Claude Code כבר מצייר.
- להיכנס לקריאת כלי או לבקשה: לדוגמה, להחזיק קריאת כלי בזמן שאתם שואלים את המשתמש שאלה, לענות עליה בלי להריץ את הכלי, או לשלוח בקשה אחת למודל אחר. ראו שמירה על קריאת כלי או שינוי שלה ומעקב אחרי תור.
- להריץ קוד משלכם על פקודה:
/commandשמריץ את הפונקציה שלכם מיד, בלי תור של Claude, גם בזמן ש-Claude עובד. ראו הוספת פקודה או כלי. - לשתף נתונים בין הוקים: ההוקים של מוד חולקים את המשתנים בקובץ שלו, כך שמה שהוק אחד רושם, הוק אחר יכול להציג. לדוגמה, הוק אחד יכול לספור קריאות כלים בזמן שהוק אחר מציג את הספירה ליד הספינר, או אחד יכול לקרוא את שימוש הטוקנים של כל בקשה בזמן שאחר משרטט אותו בחלונית. ראו תגובה לאירועים.
מודים עובדים ב-CLI של Claude Code, בלשונית Code של אפליקציית Claude Desktop, ובתוסף VS Code. ראו איפה מודים רצים לגבי איך הם מתנהגים במקומות אחרים, כמו ב-claude -p ובסשנים בענן. אם הוק הגדרות, skill, או שרת MCP כבר עושה את מה שאתם צריכים, השוו אותם לפני שאתם כותבים מוד. כדי לנהל מודים לארגון, ראו ניהול מודים לארגון שלכם.
#קבלו מוד
כדי להתחיל עם מוד:
- השתמשו באחד שכבר יש לכם: חלק מהתכונות של Claude Code עצמו הן מודים, כמו
/diff. ראו מודים מובנים ב-Claude Code. - צרו אחד: תארו מה אתם רוצים בסשן של Claude Code, ו-Claude כותב את המוד. ראו בקשו מ-Claude מוד. כדי ללמוד איך הקוד של מוד עובד, כתבו אחד בעצמכם.
- התקינו אחד: ראו התקנה או עדכון של מוד, או נסו מוד לדוגמה
#התקנה או עדכון של מוד
[!WARNING]
מוד הוא קוד שרץ עם ההרשאות שלכם. הוא יכול לקרוא ולכתוב את הקבצים שלכם, להפעיל תהליכים, ולבצע בקשות רשת. התקינו מודים רק ממחברים וממרקטפלייסים שאתם סומכים עליהם. ראו החליטו אם לסמוך על מוד.
מוד מותקן כתוסף, ממרקטפלייס. תנו את שם התוסף, @, ואת שם המרקטפלייס. הדוגמאות האלה מתקינות תוסף בשם token-chart ממרקטפלייס בשם your-org:
- בסשן של Claude Code, הריצו
/plugin install token-chart@your-org. - במעטפת שלכם, הריצו
claude plugin install token-chart@your-org.
התקנת תוספים מכסה מרקטפלייסים, היקפים, את התוסף של VS Code ואת אפליקציית Desktop, ושמירה על תוספים מעודכנים, וכל אלה חלים על תוסף שמכיל מוד בלי שינויים.
אם אתם מתקינים או מעדכנים מוד מהמעטפת בזמן שסשן פתוח, הריצו /reload-plugins באותו סשן כדי לטעון אותו. אחרת הוא נטען בפעם הבאה שאתם מפעילים את Claude Code.
#נסו מוד לדוגמה
Anthropic משתפת מודים לדוגמה בספריית claude-code/mods במאגר claude-code-playground. כל אחד הוא תוסף מלא, וה-README שלו אומר איך הוא נבנה. המאגר משתף אותם כפי שהם, בלי תמיכה.
token-weather: מצייר תחזית של חלון ההקשר שלכם מעל הפרומפטblast-radius: מחזיק פקודת מעטפת מסוכנת, כמוrm -rfאו force push, ומציג מה היא תשנה, עם כפתורים להמשיך או לבטלreplay-theater: מוסיף פקודת/replayשעוברת צעד אחר צעד על עריכות הקבצים ש-Claude עשה בתור האחרון
מוד לדוגמה רץ עם ההרשאות שלכם. כדי לראות מה אחד עושה לפני שאתם טוענים אותו, רשמו את ההוקים והקריאות שלו.
כדי לנסות אחד, שכפלו את המאגר וטענו את ספריית המוד לסשן אחד עם --plugin-dir. כדי לאשר שהמוד נטען, בדקו אילו מודים הסשן טען.
כדי להשאיר אחד, הוסיפו את ספריית claude-code/mods של השכפול כמרקטפלייס, ואז התקינו את המוד מ-claude-code-playground-mods. המרקטפלייס מצביע על השכפול שלכם, ולכן המוד מפסיק להיטען אם אתם מזיזים או מוחקים אותו.
#החליטו אם לסמוך על מוד
מוד הוא קוד שרץ עם ההרשאות שלכם, בתוך Claude Code. התקינו מודים רק ממחברים וממרקטפלייסים שאתם סומכים עליהם.
#למה מוד יכול להגיע
מוד רץ עם ההרשאות שלכם, אז לפני שאתם מתקינים אחד, דעו למה יש לו גישה. אחרי שהוא נטען, מוד יכול:
- לפעול על המחשב שלכם כמוכם: לקרוא ולכתוב קבצים בכל מקום שחשבון המשתמש שלכם יכול, להפעיל תוכניות, ולבצע בקשות רשת
- לקרוא את הסודות שלכם: משתני סביבה וקבצי הגדרות, כולל מפתח API שאתם שומרים באחד מהם
- לראות את הסשן שלכם: כל פרומפט שאתם שולחים וכל קריאת כלי ש-Claude עושה
- לשנות את הסשן שלכם: לשכתב פרומפט או קריאת כלי, לשלוח פרומפט כאילו הקלדתם אותו, או לשלוח הודעה לסשן אחר שלכם
- לפעול בלי לשאול אתכם: לאשר קריאת כלי לפני ששואלים אתכם
- להוציא את השימוש שלכם: לקרוא למודל בתוכנית שלכם או במפתח ה-API שלכם
מודים אינם בארגז חול. אם אתם מפעילים ארגז חול, ארגז החול מבודד את פקודות Bash ש-Claude מריץ, ותהליך שמוד מפעיל רץ מחוץ לו.
עם הגדרות מנוהלות או /login של Team או Enterprise כאישור של הסשן, כברירת מחדל אישור של מוד לא מעביר קריאה מעבר לכללי ask שלכם או להוקי PreToolUse. בלי אחד מהם, מוד יכול לאשר קריאה שכלל ask היה מבקש עליה אישור, או שהוק PreToolUse שלכם חסם. כדי לבדוק מתי מוד יכול גם לאשר קריאה שכלל deny מסרב לה, ראו הרחבת הרשאות עם הוקים.
מוד יכול לעצב מחדש חלק גדול מהממשק של Claude Code, אבל לא את בקשת ההרשאה. הוא לא יכול לשנות מה שפרומפט מציג לכם.
#רשמו מה מוד עושה לפני שאתם מתקינים אחד
לפני שאתם מתקינים מוד, אתם יכולים לרשום אילו אירועים הוא מטפל ומה הוא מבקש מ-Claude Code לעשות, כמו לקרוא קובץ או לבצע בקשת רשת, בלי להריץ אותו. קבלו קודם את קבצי התוסף, לדוגמה על ידי שכפול המאגר שלו. אחר כך, במעטפת שלכם, הריצו claude plugin validate על ספריית התוסף:
claude plugin validate ./some-modהשורות hooks: ו-calls: בפלט מפרטות את האירועים שהמוד מטפל ומה הוא מבקש מ-Claude Code לעשות. סקירה של מה מוד יכול לעשות מציגה את הפלט ואילו קריאות לחפש.
#הפעילו או כבו מודים
מודים מופעלים כברירת מחדל. בטרמינל, השתמשו ב-Claude Code גרסה v2.1.287 או חדשה יותר. אפליקציית Desktop כוללת עותק משלה של Claude Code, ומודים עובדים שם מגרסה v2.1.286. בדקו את הגרסה במקום שבו אתם משתמשים במודים:
- טרמינל: במעטפת שלכם, הריצו
claude --version. אם הגרסה שלכם ישנה יותר, עדכנו את Claude Code. - אפליקציית Desktop: בסשן מקומי בלשונית Code, הזינו
/statusוקראו את שורת Claude Code, שמציגה גרסה כמו2.1.286. אם הגרסה שלכם ישנה יותר, עדכנו את אפליקציית Desktop.
כדי לכבות מודים, בחרו כמה לעצור, ולכמה זמן. כדי להפעיל אותם בחזרה, בטלו את אותו שינוי:
- מוד אחד: השביתו או הסירו את התוסף שלו מלשונית Installed ב-
/plugin - כל מוד מותקן, לסשן אחד: הפעילו את Claude Code עם
--safe-mode, שמשבית גם את ההתאמות האחרות שלכם - כל מוד שהתקנתם, בכל סשן: הגדירו
"disableAllHooks": trueב-~/.claude/settings.json. גם הוקי ההגדרות שלכם ושורת הסטטוס המותאמת נעצרים. מה שהארגון שלכם מנהל ממשיך לרוץ.
אם אתם משתמשים ב-Claude Code דרך ארגון, מנהל יכול גם להגביל אילו מודים נטענים. מנהלים מתחילים בעצירת טעינה של מודים שהמשתמש התקין.
disableAllHooks ו-allowManagedModsOnly של הארגון שלכם עוצרים מוד ומשאירים את שאר התוסף שלו במקום: התוסף נשאר מותקן, וה-skills, הפקודות, הסוכנים ושרתי ה-MCP שלו נטענים. הגדרות ודגלים אחרים מגיעים רחוק יותר. disableAllHooks ומה רץ תחת allowManagedHooksOnly מפרטים מה כל אחד עושה לתוסף ולהוקי ההגדרות שלו.
כדי לברר אם מודים יכולים להיטען אצלכם, ראו בדקו אם מודים יכולים להיטען.
[!NOTE]
אם הגדרתם
CLAUDE_CODE_ENABLE_FUNCTION_HOOKSבמהלך הגישה המוקדמת, הסירו אותו. Claude Code מגרסה v2.1.287 ואילך מתעלם ממנו, ולכן הגדרה שלו ל-0לא משאירה מודים כבויים.
#ראו אילו מודים סשן טען
כדי לראות אילו מודים סשן טרמינל טען, הריצו /plugin בפרומפט של Claude Code. שורה עמומה מתחת ללשוניות נותנת את הספירה ואת השמות, כמו 1 mod active · first-mod. אם מוד שהתקנתם לא נקרא שם בשמו, ראו גלו למה מוד לא עושה כלום.
#איך מוד עובד
מוד הוא תוסף שהקוד שלו רושם מטפלי אירועים, שנקראים hooks. Claude Code מריץ hook כשהאירוע שלו קורה, למשל כש Claude קורא לכלי או כשהספינר מצויר. למוד קטן יש שלושה קבצים:
first-mod/
├── .claude-plugin/
│ └── plugin.json
└── hooks/
├── hooks.json
└── register.jsplugin.json: המניפסט של התוסףhooks.json: מצביע על קובץ הקודregister.js: הקוד שלכם, שנקרא מודול ה hooks. הוא אומר ל Claude Code על אילו אירועים להריץ את הפונקציות שלכם.
זה register.js שלם. הוא סופר את קריאות הכלים ש Claude מבצע ומציג את הספירה ליד הספינר בזמן ש Claude עובד, כמו ב Thinking · tool calls: 3….
// The count, shared by the two hooks below
let calls = 0
// Claude Code calls this once when the mod loads
export function register(on) {
// Runs each time Claude is about to use a tool
on('tool.call', async ($, e, next) => {
calls += 1
// Ask Claude Code to draw the interface again, so the new count shows
$.ui.invalidate('ui.render')
// Let the tool run as usual
return next(e)
})
// Runs each time Claude Code draws the spinner
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
// Keep Claude Code's spinner, with the count added after its word
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}הקובץ רושם שני hooks, ושניהם משתמשים במשתנה calls שבראש:
- ה hook
tool.callרץ בכל פעם ש Claude עומד להשתמש בכלי. הוא מוסיף אחד לcalls, מבקש מ Claude Code לצייר את הממשק שוב, ונותן לכלי לרוץ כרגיל. - ה hook
ui.renderרץ בכל פעם ש Claude Code מצייר את הספינר. הוא שומר את הספינר של Claude Code עצמו ומוסיף את הספירה אחרי המילה.
ההקלטה הזו מראה את המוד בעבודה. הסתכלו על שורת הספינר מעל תיבת הפרומפט: בזמן ש Claude מפרט תיקייה וקורא שני קבצים, היא מציגה Thinking · tool calls: 1…, אחר כך 2…, ואחר כך 3….
#מה hook יכול לעשות עם אירוע
Claude Code מריץ את ה hook שלכם לפני שהוא פועל על האירוע, ולכן ה hook מחליט מה קורה אחר כך. הוא יכול:
- לצפות: לרשום מה קורה ולתת לזה להמשיך בלי שינוי, כמו ש hook של
tool.callבדוגמה עושה - לשכתב: לשנות את האירוע לפני שהוא ממשיך, כמו ש hook של
ui.renderעושה כשהוא מוסיף את הספירה לספינר - לענות: לטפל באירוע בעצמו, כך שההתנהגות הרגילה לא רצה, למשל סירוב לפקודה
כדי לעשות משהו מחוץ לקוד שלו, כמו לצייר, להוסיף פקודה, לקרוא למודל, לקרוא קובץ, להפעיל תהליך, או לבצע בקשת רשת, hook קורא ל API של המודים. ל hook אין דרך אחרת לעשות את הדברים האלה, וזו הסיבה ש Claude Code יכול לפרט מה מוד עושה לפני שמתקינים אותו.
לקוד שמאחורי כל בחירה, ראו תגובה לאירועים. למה ש hook יכול לקרוא, ראו שימוש ב API של המודים.
#איפה מודים רצים
ה hooks של מוד רצים בכל סוג של סשן שטוען את התוסף, בלי תלות בספק שמגיש את המודל, כולל Amazon Bedrock, Google Cloud's Agent Platform ו Microsoft Foundry. הציור צר יותר: מה שמוד מצייר מופיע בטרמינל, באפליקציית Desktop, ובתוסף VS Code. הטבלה הזו מפרטת כל מקום שבו אפשר להריץ את Claude Code:
| איפה מריצים את Claude Code | hooks רצים | מה שהמוד מצייר מופיע |
|---|---|---|
claude בטרמינל, כולל טרמינל משולב של עורך והתוסף של JetBrains | כן | כן |
| לשונית Code של אפליקציית Desktop, למעט בסשן WSL | כן | כן, חוץ מרכיבים שטבלת הרכיבים מסמנת כטרמינל בלבד |
| סשן WSL באפליקציית Desktop | לא, כי תוספים אינם זמינים בסשני WSL | לא |
| לוח הצ'אט של תוסף VS Code | כן | כן, עם גרסת תוסף 2.1.299 או מאוחר יותר. סשן שלא מושך דגלי תכונות, כמו סשן ב Amazon Bedrock, צריך 2.1.304 או מאוחר יותר. טבלאות אתרי הרינדור והרכיבים מסמנות מה הלוח מצייר. |
claude -p וAgent SDK | כן | לא |
| Remote Control מ claude.ai או מהאפליקציה לנייד | כן, בסשן על המכונה שלכם | בטרמינל על המכונה שלכם |
| סשן ענן | כן, לתוסף שמגיע לסשן הענן | לא |
מוד שמצייר יכול לבדוק באיזו אפליקציה הוא רץ, ובמקום שבו שום דבר לא מצויר לחזור לשורה בתמליל או לתשובת טקסט של פקודה.
#שליטה במודים עבור הארגון
מנהלים מחליטים אם מודים רצים ואילו מהם, דרך הגדרות מנוהלות. ניהול מודים עבור הארגון מכסה מה קורה כברירת מחדל, איך לסקור מוד, ואיך לאכוף מדיניות עם מוד משלכם.
#השוואה בין מודים, hooks של הגדרות, skills ושרתי MCP
מודים, hooks של הגדרות, skills ושרתי MCP חופפים. הטבלה הזו מראה מה כל אחד הוא ומתי לבחור בו.
| מוד | hook של הגדרות | Skill | שרת MCP | |
|---|---|---|---|---|
| מה זה | פונקציות בתוסף ש Claude Code קורא להן בתהליך שלו | פקודת shell, בקשת HTTP, או פרומפט ש Claude Code מריץ על אירוע של מחזור חיים | קובץ SKILL.md של הוראות ש Claude קורא | תהליך או שירות חיצוני שנותן ל Claude כלים |
| מה הוא יכול לשנות | קריאות כלים, פרומפטים, פקודות, תורות, ומה שהממשק מצייר | אם קריאת כלי או פרומפט ממשיכים, הארגומנטים והתוצאה של קריאת כלי, והקשר שנוסף עבור Claude | מה Claude יודע ועושה | אילו כלים יש ל Claude |
| האם הוא יכול לצייר בממשק | כן | לא | לא | לא |
| מה כותבים | JavaScript או TypeScript | סקריפט ורשומה ב settings.json | Markdown | שרת בכל שפה |
| בוחרים בו כאשר | רוצים חלונית, פס מעל הפרומפט, פקודה מותאמת, או לשכתב אירוע | רוצים לחסום, לאפשר, או לתעד אירוע עם סקריפט שכבר יש | ממשיכים להדביק את אותן הוראות לצ'אט | Claude צריך להגיע למערכת חיצונית |
לכל אחד מהאחרים יש דף משלו: Hooks, Skills וMCP. תוסף יכול להכיל את כולם, כך שמוד יכול להישלח באותו תוסף יחד עם skill ושרת MCP.
#מודים מובנים ב Claude Code
חלק מהיכולות של Claude Code עצמו הן מודים. כדי לראות את אלה שיש בסשן, הריצו /plugin בפרומפט של Claude Code ועברו ללשונית Installed, שמפרטת אותם תחת Built-in. אי אפשר לעדכן או להסיר מוד מובנה, והעמודה האחרונה בטבלה אומרת איך לכבות כל אחד. שורת mods active משמיטה מודים מובנים.
הטבלה הזו מפרטת כל רשומה לפי השם ש /plugin מציג:
השם ב /plugin | מה הוא עושה | איפה הוא פעיל | איך לכבות |
|---|---|---|---|
cc-plugin-agents-md | טוען את AGENTS.md כהוראות פרויקט | כל סשן, מלבד אלה שלא יכולים לקרוא את AGENTS.md | השביתו אותו ב /plugin, או בחרו אילו קבצי הוראות נטענים |
cc-plugin-diff | משתלט על /diff ומצייר את החלונית שלו | סשני טרמינל אינטראקטיביים | השביתו אותו ב /plugin. /diff נשאר, והגרסה המובנית של Claude Code לפקודה עונה עליו. |
cc-plugin-plugin-authoring | נותן ל Claude את ה skill plugin-authoring לכתיבת מודים. הוא מחזיק skill ואין בו קוד של מוד. | אלא אם Anthropic כיבתה מרחוק מודים מותקנים | השביתו אותו ב /plugin |
cc-plugin-sec-default | מגן על מה שהארגון מנהל מפני המודים שמשתמש מתקין | איפה השומר נטען | אי אפשר. מנהל קובע את הסדר בהגדרות מנוהלות |
cc-plugin-telemetry | שולח את רשומות האנליטיקה ש Claude Code והמודים המובנים שלו רושמים | בכל מקום שבו האנליטיקה של Claude Code עצמו פעילה | השביתו אותו ב /plugin, או כבו אנליטיקה, למשל עם DISABLE_TELEMETRY |
cc-plugin-you-should-know | You should know: סוכן צד מציג הערה מעל הפרומפט כשהוא מוצא משהו שאולי פספסתם | כבוי עד שמפעילים אותו | השביתו אותו ב /plugin |
ההגדרות והדגלים שעוצרים מודים מותקנים, כמו disableAllHooks, --bare ו --safe-mode, לא עוצרים מודים מובנים.
#קריאת המקור של מודים מובנים
המקור של חלק מהמודים האלה פומבי בתיקיית mods של מאגר Claude Code. כל אחד הוא תוסף שלם עם מודול ה hooks שלו ועם בדיקות:
diff: חלונית/diff, עם כפתורים קשורים לפעולות מקלדת וגלילה שהמוד מטפל בהן בעצמוagents-md: טוען אתAGENTS.mdכהוראות פרויקט, עם אפשרותuserConfigsec-default: השומר המתואר בדעו מה קורה כברירת מחדל, דגם למוד שאוכף מדיניותtelemetry: מוסיף מתודות שמודים אחרים יכולים לקרוא, ומצרף את הטיפוסים שלהן
#הצעדים הבאים
- יצירת מוד: בנו אחד שסופר קריאות כלים, מציג את הספירה ליד הספינר, ומוסיף פקודה, ולמדו את לולאת העריכה והטעינה מחדש
- ציור בממשק: חלוניות, הפס מעל הפרומפט, כפתורים, שדות טקסט, ומצב
- תגובה לאירועים: קריאות כלים, פרומפטים, תורות, והסדר שבו המודים רצים
- שימוש ב API של המודים: פקודות, כלים, קריאות למודל, טיימרים, וקבצים
- בדיקת מוד: בדיקות אוטומטיות שרצות בלי סשן
- איתור תקלות במוד: הסיבות לכך שמוד לא עושה דבר, ויומן הדיבוג
- ניהול מודים עבור הארגון: ברירות מחדל, הגדרות מנוהלות, סקירת מוד, ומודים של מדיניות
- מדריך העזר של מודים: אירועים, מתודות, רכיבים, ומגבלות