תיעוד 92
מדריך פקודות תוספים
מדריך לפקודות המעטפת
claude plugin, לפקודות/pluginו-/reload-pluginsבתוך סשן, ולדגלים שטוענים תוסף לסשן אחד.
מריצים פקודות תוספים כ-claude plugin מהמעטפת או מסקריפט, או כ-/plugin ו-/reload-plugins בתוך סשן של Claude Code. המדריך הזה נותן את הדגלים, ברירות המחדל, הפלט וקודי היציאה של כל פקודה, יחד עם שני הדגלים שטוענים תוסף לסשן אחד.
הטבלאות למטה מפרטות את האפשרויות הנפוצות של כל תת-פקודה, לא כל אפשרות. הריצו claude plugin --help במעטפת כדי לראות אילו תת-פקודות יש בגרסה שלכם, ו-claude plugin <subcommand> --help לרשימת האפשרויות המלאה של תת-פקודה.
[!NOTE]
המקרים האלה מכוסים בדפים אחרים:
- שלבי התקנה וניהול, ואיפה
/pluginרץ: ראו התקנה וניהול של תוספים- מה פקודה משנה בדיסק ואיזה היקף קודם: ראו מדריך טעינת תוספים
- מה משמעות הודעת שגיאה: ראו פתרון בעיות בתוספים
#פקודות claude plugin
מריצים claude plugin <subcommand> מהמעטפת או מסקריפט, מחוץ לסשן של Claude Code. תת-הפקודות האלה מתקינות ומנהלות תוספים בלי לפתוח את לוח /plugin.
claude plugins הוא כינוי ל-claude plugin.
כל תת-פקודה חולקת את קודי היציאה, ארגומנטי התוסף וערכי ההיקף האלה:
- קודי יציאה:
0בהצלחה ו-1בכישלון.validateמוסיף יציאה2לשגיאה לא צפויה, ו-evalמוסיף את הקודים שמפורטים בסעיף שלו. - ארגומנטי תוסף: ארגומנט
<plugin>הואnameשל תוסף אוname@marketplace. כששני מרקטפלייסים מציעים אותו שם, השתמשו בצורה המלאה.configureמקבל רק את הצורה המלאה. - היקפים:
--scopeמקבלuser,projectאוlocal, ומציין את קובץ ההגדרות שהפקודה כותבת אליו.updateמקבל גםmanaged.
#plugin init
יצירת שלד לתוסף חדש ב-~/.claude/skills/<name>/. אלא אם מנהל המערכת חסם תוספים מספריית skills, הוא נטען בסשן הבא כ-<name>@skills-dir בלי שלב התקנה.
new הוא כינוי ל-init.
לתהליך היצירה, הבדיקה והעריכה שמתחיל בפקודה הזו, ראו יצירת תוסף.
claude plugin init <name> [options]<name> הופך לשם הספרייה תחת ~/.claude/skills/ ול-name של התוסף במניפסט שלו.
לפקודה אין דגל למיקום אחר. כדי ליצור שלד בתוך פרויקט, ראו יצירת תוסף.
| דגל | תיאור |
|---|---|
--description <text> | תיאור במניפסט |
--author <name> | שם המחבר. ברירת המחדל היא git config user.name |
--author-email <email> | אימייל המחבר. ברירת המחדל היא git config user.email |
--with <components...> | גם ליצור שלד לקובצי התחלה עבור skills, agents, hooks, mcp, lsp, output-style או channel |
-f, --force | לדרוס .claude-plugin/ קיים ביעד |
יצירת שלד לתוסף עם קובצי skill ו-hook התחלתיים:
claude plugin init my-helper --with skills hooksClaude Code מאמת את מה שכתב ומדפיס Created plugin "my-helper" at ~/.claude/skills/my-helper, ואחריו את המזהה שהוא נטען לפיו ואת פקודת claude plugin disable שמכבה אותו.
Claude Code יוצא עם 1 בלי לכתוב כשהוא לא יכול ליצור שלד בבטחה, וההודעה מציינת את הסיבה. אלה סיבות נפוצות:
- ערך
--withלא מוכר - שלד קיים ביעד בלי
--force - רשימת היתר של מרקטפלייס מנוהל בלי מקור
skills-dir, או רשימת חסימה שמציינת אותו. ההודעה היאPlugins from ~/.claude/skills/ are blocked by your organization's managed settings.
#plugin install
התקנת תוסף מאחד המרקטפלייסים שלכם. i הוא כינוי ל-install.
claude plugin install <plugin> [options]רוב התוספים מותקנים בלי הנחיה. לתוסף שרשומת המרקטפלייס שלו מריצה פקודה כדי להתקין אותו או מגדירה headersHelper להורדה שלו, Claude Code קודם מדפיס את הפקודה ושואל Run this command now? [y/N].
| דגל | תיאור |
|---|---|
-s, --scope <scope> | היקף התקנה: user, project או local. ברירת המחדל היא user |
--config <key=value> | הגדרת אפשרות userConfig שהמניפסט של התוסף מצהיר עליה. חזרו על הדגל לכל אפשרות. מפתח שנכתב <server>.<key> מגדיר הגדרה ששרת MCP ארוז מצהיר עליה ב-user_config שלו, לקובץ bundle שנשלח בתוך התוסף. הצורה <server>.<key> דורשת Claude Code v2.1.285 או חדש יותר |
-y, --yes | לאשר את פקודת ההתקנה המוצגת בלי ההנחיה Run this command now?. מתעלמים ממנו כשהפקודה רצה בתוך סשן של Claude Code, למשל מכלי Bash או מ-hook. דורש Claude Code v2.1.229 או חדש יותר |
--accept-command <sha256> | לאשר את פקודת ההתקנה המוצגת שה-sha256 שלה דווח בהרצת --json קודמת ב-shownCommand, במקום -y. אי אפשר לשלב עם -y. ראו אישור פקודת התקנה מוצגת. דורש Claude Code v2.1.271 או חדש יותר |
--json | להדפיס את התוצאה כאובייקט JSON אחד בשורה האחרונה של stdout במקום ההודעה הקריאה, לשימוש בסקריפטים. ראו פורמט תוצאת JSON. דורש Claude Code v2.1.268 או חדש יותר |
--marketplace <source> | להתקין את <plugin>, לפי השם החשוף שלו, מהמרקטפלייס ב-<source>, ולהוסיף את המרקטפלייס קודם אם עדיין לא הוספתם אותו. ראו הוספת מרקטפלייס והתקנה בפקודה אחת. דורש Claude Code v2.1.292 או חדש יותר |
הריצו claude plugin install --help במעטפת כדי לראות כל אפשרות שהגרסה שלכם תומכת בה.
העבירו -y מהמסוף שלכם כדי לאשר את הפקודה המוצגת בלי ההנחיה. זה מה שקורה בלי TTY וכש-Claude מריץ את הפקודה:
stdinאוstdoutאינו TTY, ולא מעבירים-yולא--accept-command: ההתקנה נדחית. הפלט אומר שהפקודה רק הוצגה, וקוד היציאה הוא1- Claude מריץ את הפקודה דרך כלי Bash: מתעלמים מ-
-y. הריצו את הפקודה מהמסוף שלכם
התקנת תוסף לכל מי שמשכפל את הפרויקט:
claude plugin install formatter@my-marketplace --scope projectClaude Code מדפיס Successfully installed plugin: formatter@my-marketplace (scope: project). כשלא מותקן שום דבר חדש, הפלט אומר למה:
- כבר מותקן בהיקף הזה: הפלט הוא
Plugin "formatter@my-marketplace" is already installed (scope: project)וקוד היציאה הוא0 - מסרבים להנחיה של מקור פקודה: הפלט הוא
Aborted.וקוד היציאה הוא1 - מסרבים להנחיית
headersHelper, או שאי אפשר לאשר אותה בלי TTY: הפלט הואAborted , the command was not run.וקוד היציאה הוא1
#פורמט תוצאת JSON
כשמעבירים --json ל-plugin install, השורה האחרונה של stdout היא אובייקט JSON אחד. נתחו רק את השורה הזו, כי Claude Code מדפיס לפניה כל פקודה שהמרקטפלייס מצהיר עליה.
שלושה שדות תמיד נוכחים:
command: תת-הפקודה שרצה, למשלinstalloutcome:okאוfailedmessage: תיאור קריא של התוצאה
שדות אחרים, כמו pluginId, scope ו-failureCode, מופיעים רק כשהם חלים.
האפשרות --json ב-plugin uninstall, plugin update, plugin enable ו-plugin disable מדפיסה את אותו אובייקט עם השדות של אותה תת-פקודה.
שגיאת שימוש, כמו --scope לא תקין, לא מדפיסה שורת תוצאה ויוצאת עם 1 כשהסיבה ב-stderr.
#תוצאת JSON לפקודות מרקטפלייס
ב-plugin marketplace add, plugin marketplace remove ו-plugin marketplace update, --json מדפיס אובייקט JSON אחד בשורה האחרונה של stdout עם השדות command, outcome ו-message. זו התוצאה של claude plugin marketplace remove your-marketplace --json:
{"command":"marketplace-remove","outcome":"ok","marketplace":"your-marketplace","message":"Successfully removed marketplace: your-marketplace"}ערך command הוא marketplace-add, marketplace-remove או marketplace-update. השדות למטה מופיעים רק כשהם חלים:
marketplace: שם המרקטפלייס שהפקודה פעלה עליוfailureCode: קוד לסיבת הכישלון, למשלinvalid_source
plugin marketplace add ו-plugin marketplace remove יכולים לא להדפיס שורת תוצאה כשהארגומנט הוא השם השמור anthropic-plugin-directory, אז בדקו את קוד היציאה לשם הזה.
#אישור פקודת התקנה מוצגת
כשהרצה עם --json מציגה פקודה שהמרקטפלייס הכריז עליה ולא מריצה אותה, תוצאת failed נושאת גם אובייקט shownCommand. השדות שלו כוללים את הפקודה כפי שהוצגה, את התוסף שהיא שייכת אליו, ואת sha256 של הפקודה.
כדי לאשר בדיוק את הפקודה הזו, הריצו שוב עם ה-sha256 הזה כ---accept-command מהמסוף שלכם, כי לדגל אין השפעה בתוך סשן של Claude Code. נדרש Claude Code v2.1.271 או חדש יותר.
ה-sha256 נחשב לאישור בדיוק לפקודה, לתוסף ולקטלוג המרקטפלייס האלה. אם אחד מהם השתנה מאז שהפקודה הוצגה, Claude Code לא מקבל את ה-sha256 ומציג את הפקודה שוב. שינוי שרענון המרקטפלייס של אותה הרצה מביא גם נחשב לשינוי כזה.
אם shownCommand.acceptCommandMatched הוא false, ה-sha256 שהעברתם לא תואם לפקודה שמוצגת עכשיו. עיינו בפקודה הזו לפני הרצה חוזרת עם ה-sha256 שלה.
#plugin uninstall
הסרת תוסף מותקן מהיקף אחד. remove ו-rm הם כינויים ל-uninstall.
claude plugin uninstall <plugin> [options]| דגל | תיאור |
|---|---|
-s, --scope <scope> | הסרה מההיקף: user, project או local. ברירת המחדל היא user |
--keep-data | לשמור את ספריית הנתונים הקבועה של התוסף, ~/.claude/plugins/data/<id>/ |
--prune | גם להסיר תלויות שהותקנו אוטומטית ואף תוסף שנותר לא צריך אותן |
-y, --yes | לדלג על הנחיית האישור של --prune. נדרש עם --prune כש-stdin או stdout אינו TTY |
--json | להדפיס את התוצאה כאובייקט JSON אחד בשורה האחרונה של stdout, באותו פורמט כמו plugin install --json. אי אפשר לשלב עם --prune. דורש Claude Code v2.1.268 או חדש יותר |
הסרת תוסף מהיקף הפרויקט:
claude plugin uninstall formatter@my-marketplace --scope projectClaude Code מדפיס Successfully uninstalled plugin: formatter (scope: project). כשהתוסף לא מותקן בהיקף הזה, הפקודה מדפיסה שורה שמתחילה ב-Failed to uninstall plugin "formatter@my-marketplace": ויוצאת עם 1.
אם שורת הכישלון ממשיכה עם "formatter" was not uninstalled: ומציינת קובץ הגדרות, Claude Code לא הצליח לאשר שההגדרות של ההיקף כבר לא מפעילות את התוסף, ולכן התוסף נשאר מותקן עם כל מה ששמר. עם --json, התוצאה נושאת failureCode: "settings_still_on". בדיקת ההגדרות הזו דורשת Claude Code v2.1.282 או חדש יותר.
#מה הסרה מוחקת ומה היא שומרת
כשמסירים תוסף מההיקף האחרון שבו הוא מותקן, Claude Code מוחק גם את האפשרויות והסודות השמורים של התוסף ואת ספריית הנתונים שלו, ~/.claude/plugins/data/<id>/. יש שלושה חריגים:
- עם
--keep-data, ספריית הנתונים נשארת - כשתוסף מותקן אחר משתמש באותה תיקייה, למשל תוסף שהמזהה שלו שונה מזה רק ברישיות האותיות, ספריית הנתונים נשארת
- כש-Claude Code לא יכול לקרוא בחזרה את רשימת התוספים המותקנים אחרי שהוא מסיר את התוסף מההיקף הזה, האפשרויות, הסודות וספריית הנתונים כולם נשארים, כי התוסף אולי עדיין מותקן בהיקף אחר. ההסרה עדיין מצליחה. ההודעה מפרטת מה נשאר ואיך למחוק אותו, ועם
--jsonהתוצאה נושאתsavedKept: "install_records_unreadable"
עם --json, keptData מדווח אם הספרייה נשארה, ו-/plugin מציג · data preserved כשזה קרה. לספרייה שנשארת בלי --keep-data, הדיווח הזה דורש Claude Code v2.1.281 או חדש יותר. השדה savedKept דורש Claude Code v2.1.282 או חדש יותר.
#plugin enable
הפעלת תוסף מושבת. לתוסף שמסונכרן מ-claude.ai, העבירו <name>@synced כתוסף.
claude plugin enable <plugin> [options]| דגל | תיאור |
|---|---|
-s, --scope <scope> | ההיקף שבו מפעילים: user, project או local. מזוהה אוטומטית כשמשמיטים |
--json | להדפיס את התוצאה כאובייקט JSON אחד בשורה האחרונה של stdout, באותו פורמט כמו plugin install --json. דורש Claude Code v2.1.268 או חדש יותר |
בלי --scope, הפקודה בודקת את קובצי ההגדרות בסדר local, project, user, ומשתמשת בהיקף הראשון שמזכיר את התוסף.
אם מעבירים --scope שבו התוסף לא מוצהר, הפקודה כותבת עקיפה או נכשלת:
- היקף שקודם להיקף המצהיר: Claude Code כותב עקיפה בהיקף שהעברתם. לדוגמה,
claude plugin disable formatter --scope localמכבה תוסף שמופעל בפרויקט עבורכם בלבד - כל היקף אחר: הפקודה נכשלת עם
Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.
אם התוסף כבר מופעל בהיקף שנפתר, הפקודה מדפיסה Plugin "formatter" is already enabled ויוצאת עם 1. עם --json, לתוצאה יש "failureCode": "already_in_goal_state" ו-"alreadyInGoalState": true, כך שסקריפט יכול להתייחס למקרה הזה כהצלחה.
כשהתוסף מצהיר על תלויות, Claude Code מפעיל גם אותן. הפקודה נכשלת במקרים האלה:
- תלות לא מותקנת: ההפעלה נכשלת ומדפיסה את פקודת
claude plugin installלכל תלות חסרה - תלות חסומה במדיניות התוספים של הארגון: ההפעלה נכשלת ומציינת את התלות החסומה
- תלות מוגדרת ל-
falseבהיקף עם קדימות גבוהה יותר מהיקף היעד: ההפעלה נכשלת. הפעילו את התלות בהיקף הזה, או העבירו--scopeכדי לכתוב שם
הפעלה מחדש של תוסף בכל מקום שבו הוא מוצהר:
claude plugin enable formatterClaude Code מדפיס Successfully enabled plugin: formatter (scope: project), ומציין את ההיקף שזיהה.
#plugin disable
השבתת תוסף בלי להסיר אותו. לתוסף שמסונכרן מ-claude.ai, העבירו <name>@synced כתוסף.
claude plugin disable [plugin] [options]| דגל | תיאור |
|---|---|
-a, --all | להשבית כל תוסף מופעל. אי אפשר לשלב עם שם תוסף או עם --scope |
-s, --scope <scope> | ההיקף שבו משביתים: user, project או local. מזוהה אוטומטית כשמשמיטים |
--json | להדפיס את התוצאה כאובייקט JSON אחד בשורה האחרונה של stdout, באותו פורמט כמו plugin install --json. דורש Claude Code v2.1.268 או חדש יותר |
בלי --scope, ההיקף מזוהה אוטומטית באותו סדר local, project, user כמו ב-plugin enable.
אם לא מעבירים שם תוסף ולא --all, Claude Code מדפיס Please specify a plugin name or use --all to disable all plugins ויוצא עם 1. השבתת תוסף שכבר מושבת מדפיסה Plugin "formatter" is already disabled ויוצאת עם 1, כמו ש-plugin enable עושה לתוסף שכבר מופעל.
הפקודה נכשלת לתוסף שעדיין נדרש:
- תוסף מופעל אחר תלוי בו: הפקודה נכשלת ומציינת את התלויים שיש להשבית קודם
- הארגון דורש אותו כתוסף מסונכרן: הפקודה נכשלת ולא שומרת כלום
השבתת תוסף אחד:
claude plugin disable formatterClaude Code מדפיס Successfully disabled plugin: formatter (scope: project).
#plugin update
עדכון תוסף לגרסה האחרונה שה-marketplace שלו מציע. הגרסה החדשה נטענת בסשן הבא, או אחרי הרצה של /reload-plugins בסשן שכבר רץ.
claude plugin update <plugin> [options]| דגל | תיאור |
|---|---|
-s, --scope <scope> | היקף העדכון: user, project, local או managed. מזוהה אוטומטית כשמשמיטים אותו |
-y, --yes | קבלת פקודת התקנה שהשתנתה מתוסף command-source, בלי ההנחיה. נדרש כש-stdin או stdout אינו TTY, אלא אם מעבירים --accept-command. דורש Claude Code בגרסה v2.1.229 או חדשה יותר |
--accept-command <sha256> | קבלת הפקודה שה-marketplace הצהיר עליה, שה-sha256 שלה דווח בהרצת --json קודמת בשדה shownCommand, במקום -y. אי אפשר לשלב עם -y. דורש Claude Code בגרסה v2.1.271 או חדשה יותר |
--json | הדפסת התוצאה כאובייקט JSON אחד בשורה האחרונה של stdout, באותו פורמט כמו plugin install --json. דורש Claude Code בגרסה v2.1.268 או חדשה יותר |
עדכון תוסף:
claude plugin update formatter@my-marketplaceClaude Code מדפיס Checking for updates for plugin "formatter@my-marketplace"…, ואז את התוצאה. כשאין גרסה חדשה יותר, הוא מדפיס formatter is already at the latest version (1.0.0). ויוצא עם קוד 0, אלא אם הוא מנסה שוב את התקנת התלות של התוסף וההתקנה הזו נכשלת.
#איזה היקף הפקודה מעדכנת
אם משמיטים את --scope, הפקודה מעדכנת את התוסף בהיקף הספציפי ביותר שבו הוא מותקן עבור הפרויקט הנוכחי, ובודקת לפי הסדר local, project, user, ואז managed.
לפני v2.1.281, הפקודה השתמשה ב-user כשהשמטתם את --scope, ולכן עדכון תוסף שהותקן רק בהיקף project או local נכשל עם Plugin "<name>" is not installed at scope user. בגרסאות האלה, העבירו --scope.
managed הוא ההיקף היחיד שאפשר לעדכן, אבל אי אפשר להתקין אליו. לתוספים שהתקין מנהל, ראו ניהול תוספים לארגון.
#עדכון לפי שם בלבד
אפשר להעביר שם תוסף בלבד, והפקודה מתאימה אותו מול התוספים המותקנים. כשתוספים מותקנים מ-marketplaces שונים חולקים את אותו שם, הפקודה מסרבת לעדכון ומפרטת את הפקודות המלאות plugin-name@marketplace-name להרצה במקום. עדכון לפי שם בלבד דורש Claude Code בגרסה v2.1.246 או חדשה יותר.
#ניסיון חוזר של התקנת תלות שלא הושלמה
כשהתוסף כבר בגרסה האחרונה שלו, הפקודה יכולה גם לנסות שוב התקנת תלות שלא הושלמה בעותק השמור במטמון שלו. למקרים שבהם הניסיון החוזר רץ או שמדלגים עליו, ראו החבילות שהיא מפרטת אינן מותקנות. אם הניסיון החוזר נכשל, הפלט הוא Failed to update plugin "formatter@my-marketplace" עם הסיבה, וקוד היציאה הוא 1. לפני v2.1.287, הפקודה דיווחה שהתוסף בגרסה האחרונה שלו בלי לנסות שוב את ההתקנה.
#plugin list
הצגת תוספים מותקנים עם הגרסה, ההיקף והסטטוס שלהם.
claude plugin list [options]| דגל | תיאור |
|---|---|
--json | הדפסת הרשימה כ-JSON |
--available | גם הצגת תוספים שה-marketplaces מציעים ושעדיין לא התקנתם. אין השפעה בלי --json |
--data-size [plugin] | מדידת ספריית הנתונים השמורה של כל תוסף מותקן, או רק של התוסף ששמו, שניתן כ-name@marketplace. אין השפעה בלי --json. אם לשם אין רשומת התקנה, הפקודה מדפיסה --data-size names a plugin that is not installed ויוצאת עם קוד 1 במקום להדפיס את הרשימה. דורש Claude Code בגרסה v2.1.285 או חדשה יותר |
Claude Code מקבץ את הפלט הקריא לבני אדם לפי אופן הטעינה של כל תוסף:
Installed plugins:: תוספים שהתקנתם מ-marketplaceSession-only plugins (--plugin-dir / --plugin-url):: תוספים שנטענים באמצעות הדגלים האלה באותה פקודה, כמו ב-claude --plugin-dir ./my-plugin plugin listSkills-directory plugins (.claude/skills/*):: תוספים ש-Claude Code מצא בספריית skillsSynced from claude.ai: תוספים שסונכרנו מחשבון claude.ai
כשאין פריטים באף קבוצה, Claude Code מדפיס No plugins installed. Use `claude plugin install` to install a plugin.
#פלט JSON
עם --json, Claude Code מדפיס מערך עם אובייקט אחד לכל התקנה. כל אובייקט נושא את השדות שלמטה. id, version, scope, enabled ו-installPath תמיד נוכחים, והאחרים מופיעים רק כשהם חלים.
| שדה | סוג | תיאור |
|---|---|---|
id | string | name@marketplace להתקנות, name@inline לתוספים של סשן בלבד, name@skills-dir לתוספי ספריית skills, name@synced לתוספים שסונכרנו מ-claude.ai |
version | string | בהתקנת marketplace, הגרסה ש-Claude Code חישב בזמן ההתקנה. לתוסף של סשן בלבד, של ספריית skills, או מסונכרן, ה-version של המניפסט, או unknown כשהוא לא מצהיר על גרסה |
scope | string | user, project, local או managed להתקנות. user או project לתוספי ספריית skills. session לתוספים של סשן בלבד. synced לתוספים שסונכרנו מ-claude.ai |
enabled | boolean | האם התוסף מופעל בהגדרות הממוזגות |
installPath | string | הספרייה שממנה התוסף נטען, חוץ מתוסף שסשנים טוענים במקום מתיקיית ה-marketplace שלו |
readFromFolder | string | לתוסף שסשנים טוענים במקום מתיקיית ה-marketplace שלו, ספריית המקור של התוסף בתוך התיקייה הזו. דורש Claude Code בגרסה v2.1.289 או חדשה יותר |
folderVersion | string | עם readFromFolder, ה-version של התוסף כפי ש-Claude Code טען אותו מהתיקייה הזו, והוא יכול להיות שונה משדה version שלמעלה. נעדר כשהתוסף לא נטען או לא מצהיר על גרסה. דורש Claude Code בגרסה v2.1.289 או חדשה יותר |
installedAt | string | חותמת זמן ISO של ההתקנה. התקנות marketplace בלבד |
lastUpdated | string | חותמת זמן ISO של העדכון האחרון. התקנות marketplace בלבד |
projectPath | string | הפרויקט שההתקנה שייכת אליו. היקפי project ו-local בלבד |
mcpServers | object | הגדרות שרתי ה-MCP של התוסף, כשלתוסף שהותקן מ-marketplace יש כאלה |
errors | array of strings | שגיאות טעינה, כשהתוסף נכשל בטעינה |
notes | array of strings | אזהרות שאינן שגיאות טעינה, כמו בעיות authoring או חבילות שאינן מותקנות |
errorDetails | array of objects | אובייקט אחד לכל רשומה ב-errors, שנותן את ה-type האבחוני ואת השמות שהוא מתייחס אליהם, כמו התוסף, ה-marketplace, השרת או הקובץ. דורש Claude Code בגרסה v2.1.268 או חדשה יותר |
noteDetails | array of objects | אותם אובייקטי פירוט לכל רשומה ב-notes. דורש Claude Code בגרסה v2.1.268 או חדשה יותר |
hasUserConfig | boolean | נוכח ושווה true כשהתוסף נטען והמניפסט שלו מצהיר על אפשרויות userConfig. נעדר עבור תוסף שנכשל בטעינה, בלי תלות במה שהמניפסט מצהיר. ערכים שמורים אף פעם לא נכללים. דורש Claude Code בגרסה v2.1.285 או חדשה יותר |
projectEnabled | boolean | האם קובץ .claude/settings.json המשותף של הפרויקט מפעיל את התוסף. התקנות marketplace בלבד. דורש Claude Code בגרסה v2.1.285 או חדשה יותר |
dataDirSize | object | עם --data-size, הגודל של ספריית הנתונים השמורה של התוסף כ-bytes ו-human. נעדר כשהספרייה חסרה או ריקה. התקנות marketplace בלבד. דורש Claude Code בגרסה v2.1.285 או חדשה יותר |
dataDirUnreadable | boolean | עם --data-size, true כשספריית הנתונים השמורה קיימת אבל לא ניתן היה למדוד אותה. התקנות marketplace בלבד. דורש Claude Code בגרסה v2.1.285 או חדשה יותר |
עם --json --available, Claude Code מדפיס אובייקט אחד במקום מערך. השדה installed שלו מחזיק את מערך האובייקטים של התוספים המותקנים, והשדה available שלו מחזיק אובייקט אחד לכל תוסף marketplace שלא הותקן, עם השדות שלמטה.
| שדה | סוג | תיאור |
|---|---|---|
pluginId | string | name@marketplace |
name | string | שם התוסף ב-marketplace |
marketplaceName | string | ה-marketplace שמציע אותו |
source | string or object | ה-source של רשומת ה-marketplace: מחרוזת לנתיב יחסי, אובייקט בכל מקרה אחר |
description | string | תיאור הרשומה, כשיש לה תיאור |
version | string | גרסת הרשומה, כשהיא מצהירה על גרסה |
installCount | number | מספר התקנות, כש-Claude Code מחזיק מספר כזה עבור התוסף |
#plugin details
הצגת מלאי הרכיבים של תוסף ועלות הטוקנים החזויה שלו.
התוסף חייב להיות טעון: מותקן, נמצא בספריית skills, או מועבר עם --plugin-dir או --plugin-url באותה פקודה. <name> הוא name של תוסף או name@marketplace.
claude plugin details <name>הפקודה לא מקבלת דגלים מלבד --help.
הצגה של מה שתוסף מותקן תורם:
claude plugin details formatterClaude Code מדפיס את השם, הגרסה, התיאור והמקור של התוסף, ואז את הסעיפים האלה:
Component inventory: ה-skills, הסוכנים, ה-hooks, שרתי ה-MCP ושרתי ה-LSP של התוסףProjected token cost: הטוקנים שפועלים תמיד, שהתוסף מוסיף לכל סשןPer-component (rounded): הערכות always-on ו-on-invoke לכל skill, סוכן ופקודה. מושמט כשאין לתוסף אף אחד מאלה
למשמעות של שני נתוני העלות, ראו מדידת עלות ושימוש של תוסף.
עבור תוסף שאינו טעון, Claude Code מדפיס את ההודעה הזו ויוצא עם קוד 1:
Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk.מזהה שמסתיים ב-@builtin מציין אחד מהתוספים המובנים ב-Claude Code. אם מעבירים מזהה כזה ו-Claude Code לא מוצא את התוסף הזה, ההודעה היא במקום זאת:
Plugin "<name>@builtin" not found. Built-in plugins don't appear in `claude plugin list`. To see the ones available in a session, run /plugin in Claude Code and open the Installed tab.#plugin configure
הצגת אפשרויות userConfig של תוסף מותקן ואילו מהן מוגדרות, או שמירת ערכים שמועברים בצינור אל stdin. דורש Claude Code בגרסה v2.1.285 או חדשה יותר.
claude plugin configure <plugin>| דגל | תיאור |
|---|---|
--values-stdin | קריאת ערכי אפשרויות מ-stdin כאובייקט JSON של מחרוזות של שורה אחת, ושמירתן. אפשרויות שמשאירים בחוץ שומרות על הערכים השמורים שלהן |
--json | הדפסת התוצאה כאובייקט JSON אחד ב-stdout. בלי --values-stdin, האובייקט נושא את schema ואת choices של האפשרויות, את inputs ההתחלתיים שלהן, ואת שמות האפשרויות ב-configured וב-unconfigured. עם --values-stdin, הוא נושא את שמות האפשרויות ב-saved, וכשאפשר לקרוא אותן בחזרה, את אלה שב-unconfigured |
בלי דגלים, הפקודה מפרטת כל אפשרות עם עד שלוש תוויות: required או optional, אחר כך sensitive עבור אפשרות שהמניפסט מצהיר עליה כרגישה, אחר כך set או not set. היא לא מדפיסה ערכים שמורים. עם --json, הפלט כולל את הערכים השמורים של אפשרויות שאינן רגישות, ולעולם לא את הטקסט של אפשרות רגישה.
כדי לשמור ערכים, כתבו אותם לקובץ כאובייקט JSON שממפה מפתחות אפשרויות לערכי מחרוזת, ואחר כך העבירו את הקובץ ב-stdin. החליפו את formatter@my-marketplace במזהה של התוסף שלכם, כפי ש-claude plugin list מציג אותו. הדוגמה הזו מגדירה אפשרות אחת בשם api_url מתוך קובץ values.json שמכיל {"api_url": "https://example.com"}:
claude plugin configure formatter@my-marketplace --values-stdin < values.jsonClaude Code מאמת כל ערך מול הסוג המוצהר של האפשרות ומדפיס Configuration saved. Restart Claude Code to apply it. אם מעבירים מפתח שהמניפסט לא מצהיר עליו, או ערך שנכשל באימות, הפקודה לא שומרת דבר, מדפיסה Failed to save configuration: עם הסיבה, ויוצאת עם קוד 1. עם --json, ערך שנדחה מדפיס גם אובייקט ב-stdout, שהשדה refused שלו נושא את message, וכשאפשרות אחת אשמה, את מפתח option שלה.
העבירו את המזהה המלא name@marketplace של התוסף, כפי ש-claude plugin list מציג אותו. configure לא מקבל name בלבד. כשאף תוסף טעון לא נושא את המזהה הזה, הפקודה מדפיסה No installed plugin has the id "<plugin>". ויוצאת עם קוד 1.
להגדרות של שרת MCP שמצורף, ראו plugin install --config או את הפריט Configure ב-/plugin.
#plugin prune
הסרת תלויות שהותקנו אוטומטית ושאין עוד תוסף מותקן שזקוק להן. הפקודה לעולם לא מסירה תוסף שהתקנתם בעצמכם. autoremove הוא כינוי ל-prune.
claude plugin prune [options]| דגל | תיאור |
|---|---|
-s, --scope <scope> | גיזום בהיקף: user, project או local. ברירת המחדל היא user |
--dry-run | הצגת מה היה מוסר, בלי להסיר אותו |
-y, --yes | דילוג על הנחיית האישור. נדרש כש-stdin או stdout אינו TTY |
תצוגה מקדימה של מה שגיזום היה מסיר:
claude plugin prune --dry-runClaude Code מפרט את התלויות היתומות ומסיים ב-(dry run , nothing removed). כשאין מה להסיר, הוא מדפיס שורה שמתחילה ב-Nothing to prune.
בלי --dry-run, הפקודה מסירה את התלויות היתומות רק אחרי שאתם מאשרים בהנחיה או מעבירים -y.
קוד היציאה הוא 0 בכל תשובה שנותנים בהנחיה.
מה ש-prune עושה תלוי בכך אם מחובר מסוף ואם מעבירים -y:
| מסוף ודגלים | מה קורה |
|---|---|
מסוף אינטראקטיבי, בלי -y | מפרט את התלויות היתומות ושואל Remove? [y/N] |
כל מסוף, -y | מסיר אותן ומדפיס Removed N auto-installed plugins: <names> |
stdin או stdout שאינו TTY, בלי -y | מדפיס את הרשימה ואת Not a TTY , run `claude plugin prune -y` to remove., ולא מסיר דבר |
#plugin eval
הריצו את מקרי ה-eval של תוסף ודווחו תוצאות עם ציון. דורש Claude Code v2.1.269 או מאוחר יותר.
כל מקרה הוא prompt בתוספת graders. Claude Code מריץ אותו כמה פעמים בסשן מבודד שבו טעון רק תוסף היעד, וכברירת מחדל גם בלי התוסף כדי שהדוח יציג את ההבדל.
ראו בדיקת תוספים עם evals לפורמט המקרה, ל-graders, לתוצאות ולשימוש ב-CI.
claude plugin eval [target] [options]ה-target האופציונלי, שברירת המחדל שלו היא התיקייה הנוכחית, מקבל כל אחת מהצורות האלה:
- תיקיית תוסף
- קובץ
prompt.mdאוcase.yamlיחיד - תוסף מותקן כ-
nameאוname@marketplace name@skills-dir
שימו את ה-target לפני --tag, --allow-tools ו---json. כל אחת מהאפשרויות האלה לוקחת את המילים שאחריה כערך שלה, ולכן target שנכתב אחרי אחת מהן נקרא כתג, כשם כלי, או כנתיב פלט ה-JSON במקום כ-target.
הטבלה הזו מפרטת את האפשרויות שרוב ההרצות משתמשות בהן. הריצו claude plugin eval --help לסט המלא, כולל --case, --tag, --output-dir, --report, --allow-real-servers, --keep-temp ו---verbose.
| אפשרות | תיאור | ברירת מחדל |
|---|---|---|
--runs <n> | הרצות לכל מקרה בכל arm | ה-runs של כל מקרה, אחרת 3 |
-j, --concurrency <n> | סשני agent להרצה בו זמנית, 1 עד 8. הם חולקים את מגבלת הקצב שלכם | 1 |
--model <model> | מודל ל-agent הנבדק | ה-model של כל מקרה, אחרת ANTHROPIC_MODEL אם הוא מוגדר, אחרת ברירת המחדל של Claude Code |
--judge-model <model> | מודל ל-graders מסוג llm ו-baseline | המודל למשימות רקע |
--ablation <mode> | none או with-without. ראו ציון מול baseline בלי תוסף | מוכרע לכל מקרה, כפי שהסעיף הזה מתאר |
--threshold <0..1> | יציאה 1 אם מקרה כלשהו מקבל ציון מתחת לזה | 1.0 |
--max-cost-usd <usd> | עצירה לפני ההרצה הבאה ברגע שההוצאה מגיעה לסכום הזה, יציאה 2, ודיווח תוצאות חלקיות | אין מגבלה |
--allow-tools <tools...> | הענקת כלים מעבר לקבוצה לקריאה בלבד, כגון Bash, Write, Edit, או "mcp__plugin_<plugin>_<server>__*". ראו הענקת כלים | |
--scaffold | הרצת scaffold_script של כל מקרה | כבוי |
--trust-plugin | דילוג על בקשת האמון בהרצה הראשונה, ל-CI. ראו למה להרצה יש גישה | כבוי |
--mocks <mode> | record או off. ראו שרתי MCP מדומים | record |
--eval-dir <dir> | תיקייה מתחת לתוסף שמחזיקה את המקרים | ה-experimental.evals של המניפסט, אחרת evals |
--json [path] | הדפסת מסמך התוצאה ל-stdout, או כתיבתו לנתיב .json | |
--no-publish | השארת דוח ה-HTML מקומי |
קוד היציאה מדווח איך ההרצה הסתיימה. כדי לפעול לפיו ב-pipeline, ראו הרצת evals ב-CI.
| קוד יציאה | משמעות |
|---|---|
0 | הסוויטה עברה: כל מקרה עומד בסף ושום דבר אחר לא הכשיל את ההרצה |
1 | מקרה כושל, שגיאת טעינה, תיקיית תוסף לא מהימנה, הרצה שהסתיימה בשגיאת API, או סיבה אחרת שמפורטת תחת הרצת evals ב-CI |
2 | הרצה חלקית |
130 | הופרעה |
143 | הופסקה (Terminated) |
#plugin eval init
צרו סוויטת eval לתוסף בתיקייה הנוכחית. דורש Claude Code v2.1.269 או מאוחר יותר. ראו יצירת סוויטת ה-eval הראשונה.
claude plugin eval init [name] [options]הריצו את הפקודה מתיקיית השורש של התוסף, התיקייה שמחזיקה את .claude-plugin/plugin.json או את SKILL.md של ה-skill. כדי לבנות את שלד הסוויטה בתיקייה אחרת בכוונה, העבירו --eval-dir.
בטרמינל, הפקודה פותחת סשן Claude Code אינטראקטיבי לראיון כתיבה. בראיון, Claude עושה את הדברים הבאים:
- קורא את התוסף
- שואל אתכם במה הוא אמור להצליח
- מציע מקרים ו-graders
- כותב את קבצי המקרה
- מריץ את המקרים וסוקר את הציונים איתכם כדי לבדוק שה-graders נותנים ציון כמו שאתם הייתם נותנים
עם --bare, או בלי טרמינל, הפקודה כותבת תבנית ריקה של מקרה יחיד במקום זאת. כש-Claude מריץ את הפקודה מתוך סשן Claude Code, הפקודה מדפיסה את הוראות הראיון כדי שהסשן הזה יפעל לפיהן, במקום לכתוב תבנית.
ה-name האופציונלי הוא שם מקרה. הוא נדרש עם --bare או בלי טרמינל, כי הפקודה כותבת את התבנית הריקה למקרה הזה. שם מקרה מתחיל באות או בספרה ומכיל רק אותיות, ספרות, ., _ ו--. בכל פלטפורמה, הפקודה גם מסרבת לשמות ש-Windows לא יכול לאחסן, כגון con או שם שמסתיים ב-..
הפקודה מקבלת את האפשרויות האלה:
| אפשרות | תיאור | ברירת מחדל |
|---|---|---|
--bare | כתיבת prompt.md ו-graders/criteria.md ריקים עבור <name> במקום הרצת הראיון | |
-i, --interactive | דרישת הראיון. נכשלת בלי טרמינל במקום לכתוב תבנית | |
--eval-dir <dir> | תיקייה מתחת לתיקייה הנוכחית לכתיבת המקרים לתוכה | ה-experimental.evals של המניפסט, אחרת evals |
#plugin tag
צרו תג git מוער (annotated) בשם <name>--v<version> לשחרור תוסף. לפני התיוג, הפקודה בודקת ש-plugin.json של התוסף וכל רשומת marketplace שמפרטת אותו מסכימים על הגרסה.
למתי לתייג שחרור, ראו פרסום תוסף.
claude plugin tag [path] [options]ה-[path] הוא תיקיית התוסף, וברירת המחדל היא התיקייה הנוכחית. הפקודה מוצאת את רשומת ה-marketplace על ידי עלייה מהתיקייה הזו אל .claude-plugin/marketplace.json שמפרט את התוסף.
| דגל | תיאור |
|---|---|
--push | דחיפת התג אל --remote אחרי יצירתו |
--dry-run | הדפסת מה היה מתויג בלי יצירת התג |
-f, --force | דילוג על בדיקות עץ העבודה המלוכלך ותג שכבר קיים |
-m, --message <msg> | הודעת ההערה של התג. %s מייצג את הגרסה. ברירת המחדל היא <name> <version> |
--remote <name> | remote לדחיפה עם --push. ברירת המחדל היא origin |
תצוגה מקדימה של התג לתוסף ב-checkout של marketplace:
claude plugin tag plugins/formatter --dry-runClaude Code מדפיס את התוכנית:
- שם התוסף
- הגרסה ומאיזה קובץ היא הגיעה
- רשומת ה-marketplace התואמת, כשיש אחת
- שם התג
- פקודות
git tagו-git pushשהיה מריץ
בלי --dry-run, Claude Code מדפיס Created tag formatter--v1.0.0 וגם Pushed to origin או את פקודת הדחיפה להרצה בעצמכם. אם הדחיפה נכשלת, התג עדיין נוצר מקומית והפקודה יוצאת עם שגיאה.
הפקודה יוצאת 1 ומדפיסה את הסיבה כשהיא לא יכולה לתייג בבטחה. סיבות נפוצות הן:
- אין
versionב-plugin.jsonאו ברשומת ה-marketplace - התג כבר קיים
- עץ העבודה מלוכלך
#plugin test
הריצו את הבדיקות ל-mod, תוסף שהקוד שלו רושם מטפלי אירועים. הפקודה לא צריכה סשן, התחברות, או רשת. לאיך לכתוב בדיקה, ראו בדיקת mod.
claude plugin test [directory]ה-[directory] הוא תיקיית ה-mod, וברירת המחדל היא התיקייה הנוכחית. הפקודה מריצה כל קובץ תחתיה ששמו מסתיים ב-.test.ts או .test.tsx, ויוצאת עם סטטוס 1 כשבדיקה נכשלת.
הריצו את הבדיקות ל-mod ב-./first-mod:
claude plugin test ./first-mod#plugin validate
אמתו מניפסט תוסף, מניפסט marketplace, או את ה-skills, ה-agents והפקודות בתיקייה, וצאו עם קוד שמשימת CI יכולה לפעול לפיו. לזרימת העבודה של יצירה, בדיקה ועריכה, ראו יצירת תוסף. למה ה-validator בודק בכל מניפסט, ראו את הפניה למניפסט התוסף ואת הפניה ל-marketplace.
claude plugin validate <path> [options]| דגל | תיאור |
|---|---|
--strict | התייחסות לאזהרות כשגיאות, כך ששדות לא מזוהים ומטא-דאטה חסר שה-runtime סובל מכשילים את ההרצה |
--json | פלט דוח האימות כאובייקט JSON אחד עם אותם קודי יציאה. דורש Claude Code v2.1.259 או מאוחר יותר |
אמתו תוסף לפני commit שלו:
claude plugin validate ./my-plugin --strict#אימות תיקייה
ה-<path> הוא קובץ מניפסט או תיקייה. כשניתנת תיקייה, Claude Code בוחר מה לאמת לפי מה שהוא מוצא שם:
.claude-plugin/marketplace.json, כשהוא קיים- אחרת
.claude-plugin/plugin.json - אחרת קבצי הרכיבים, שנבחרים לפי שם התיקייה. אימות קבצי רכיבים בלי מניפסט דורש Claude Code v2.1.233 או מאוחר יותר:
- תיקייה בשם
skills,agents, אוcommands: הקבצים שבתוכה - תיקייה בשם
.claude: תיקיותskills,agentsו-commandsשבתוכה - כל תיקייה אחרת: שלוש התיקיות האלה תחת ה-
.claudeשלה
- תיקייה בשם
כשהתיקייה מחזיקה גם .claude-plugin/marketplace.json וגם .claude-plugin/plugin.json, Claude Code מאמת את ה-marketplace וגם את המניפסט של התוסף ואת קבצי הרכיבים. זה דורש Claude Code v2.1.289 או מאוחר יותר.
Claude Code לא עוקב אחרי symlinks בתוך התיקייה שאתם מציינים. מה שהוא עושה תלוי במיקום הקישור:
- תיקיית
skills,agents, אוcommandsמקושרת תחת שורש התוסף או.claude: Claude Code מזהיר ששום דבר בתוכה לא נקרא. - רשומה מקושרת בתוך תיקיית
skills,agents, אוcommands: Claude Code מדלג עליה ומזהיר, לכל תיקייה, כמה רשומות הוא דילג שסשן היה טוען. - תיקיית
skills,agents, אוcommandsשאתם מציינים היא בעצמה symlink, או שתיקיית האב.claudeשלה היא symlink: Claude Code מדווח על שגיאה ולא בודק דבר בתוכה. ציינו את התיקייה האמיתית.
כמה קבצים לא נקראים בהרצת אימות:
SKILL.mdבשורש התוסף: כשמריציםclaude plugin validateעל תיקיית תוסף, Claude Code לא בודקSKILL.mdבשורש התוסףCLAUDE.mdבשורש התוסף: בהרצת תוסף, Claude Code גם מזהיר עלCLAUDE.mdבשורש התוסף- קבצי תוסף בהרצת marketplace: מתיקיית marketplace, Claude Code לא פותח את קבצי ה-skill, ה-agent, הפקודה או ה-hook של תוספים שה-marketplace מפרט בתיקיות אחרות, או את קבצי שרת ה-MCP שהם אורזים. כדי למצוא שגיאות בקבצים האלה, אמתו כל תיקיית תוסף
#פלט וקודי יציאה
Claude Code מדפיס את הקובץ שאימת, שגיאות ואזהרות עם הנתיבים שלהן, ושורת פסק דין. קוד היציאה עוקב אחרי פסק הדין:
| קוד יציאה | שורת פסק דין | משמעות |
|---|---|---|
0 | Validation passed או Validation passed with warnings | המניפסט נטען. עם --strict, גם אין אזהרות |
1 | Validation failed או Validation failed (--strict treats warnings as errors) | שגיאה, או אזהרה תחת --strict. עצה לא נספרת, עם או בלי --strict |
2 | Unexpected error during validation: <reason> | ה-validator עצמו נכשל, למשל בנתיב שלא ניתן לקריאה |
עם --json, Claude Code כותב את הדוח ל-stdout כאובייקט JSON אחד עם שדות הרמה העליונה האלה:
success: אותו פסק דין שקוד היציאה נותןstrict: האם ההרצה התייחסה לאזהרות כשגיאותtarget: הנתיב שנפתר ש-Claude Code אימתmanifest: התוצאה של המניפסט עצמו, אוnullלהרצה בלי מניפסטcontents: תוצאות לכל קובץ, כל אחת מציינת את ה-fileשלה ונושאת מערכיerrors,warningsו-notes. קבצים בלי שגיאה, אזהרה או הערה לא מקבלים רשומה, כך ש-contentsריק כשאין מה לדווח. עבור תיקייה עםmarketplace.jsonו-plugin.json,manifestהוא תוצאתmarketplace.jsonותוצאותplugin.jsonנכנסות ל-contentsgatingHooks: האם לכל hook של mod שיכול לסרב לפעולה, כגון hook שלtool.call, יש מטפל.catch. כל פריט נותןmodule,pattern,hookו-hasCatch. דורש Claude Code v2.1.290 או מאוחר יותר
advice: העצה של ההרצה, כל רשומה מציינת את ה-README כ-fileונושאתmessageואת ה-installLineלהדבקה. ריק כשאין. דורש Claude Code v2.1.295 או מאוחר יותר
ביציאה 2, הפקודה לא כותבת דבר ל-stdout. הודעת השגיאה הולכת ל-stderr.
#עצה על ה-README
בלוק Advice בפלט של claude plugin validate אומר של-README של תוסף אין שורה שמתקינה את התוסף מ-marketplace, והוא נותן לכם שורה להוסיף. עצה אינה שגיאה או אזהרה. היא לא משנה את שורת פסק הדין או את קוד היציאה, עם או בלי --strict. היא דורשת Claude Code v2.1.295 או מאוחר יותר.
לדוגמה, אימות התיקייה של marketplace בשם acme-tools מדפיס את העצה הזו לתוסף deploy-helper שלו:
Validating marketplace manifest: /path/to/acme-tools/.claude-plugin/marketplace.json
ℹ Advice (does not change the verdict):
❯ /path/to/acme-tools/plugins/deploy-helper/README.md: This README has no line that installs "deploy-helper" from a marketplace. Add the install line, which works in one step on Claude Code 2.1.275 or later.
/plugin install deploy-helper --marketplace acme/tools
✔ Validation passedכדי לנקות את העצה, הדביקו את השורה המוצעת לתוך ה-README שהיא מציינת, ואז הריצו claude plugin validate שוב ב-shell שלכם. בלוק ה-Advice נעלם.
אם השורה המוצעת מחזיקה את מציין המקום <owner>/<repo>, הדבקה שלה בלי שינוי לא מנקה את העצה. קבלו קודם את המקור האמיתי:
- אימתתם את התיקייה של התוסף עצמו: כשה-marketplace מפרט את התוסף מתיקייה בתוך עצמו, אמתו את התיקייה הזו במקום. כשהוא מפרט את התוסף ממקום אחר, כגון מאגר GitHub, מלאו את
<owner>/<repo>בעצמכם - אימתתם את תיקיית ה-marketplace: Claude Code ממלא את המקור מה-remote בשם
originשל תיקיית.gitבראש התיקייה הזו. כשהוא לא יכול להשתמש ב-remote הזה, כגון כשאין אחד, החליפו את<owner>/<repo>במקור ה-marketplace שלכם בעצמכם
שורת התקנה שכבר כתבתם נספרת כש-plugin install, או הצורה הקצרה שלו plugin i, מופיעים באותה שורה ואחריהם אחד מאלה. האיותים /plugin ו-claude plugin שניהם נספרים:
<plugin>@<marketplace>, כגון/plugin install deploy-helper@acme-tools- שם התוסף ו-
--marketplace <source>, כגון/plugin install deploy-helper --marketplace acme/tools
#פקודות claude plugin marketplace
הריצו claude plugin marketplace <subcommand> מהמעטפת כדי להוסיף, להציג, לרענן ולהסיר את החנויות שמהן מתקינים תוספים.
- קודי יציאה: תת הפקודות האלה עוקבות אחרי מוסכמת קודי היציאה של פקודות התוספים
- היקפים: לדגל
--scopeשלהן אין צורה קצרה-s
למהות של חנות ולאופן שבו Claude Code שומר אותה במטמון, ראו הפניה לטעינת תוספים.
#plugin marketplace add
הוסיפו חנות ממאגר GitHub, מכתובת git, מקובץ marketplace.json מתארח, או מנתיב מקומי, והצהירו עליה בקובץ הגדרות.
אחרי שמוסיפים אותה, Claude Code מתקין כל תלויות שחסרו לתוספים שהותקנו.
claude plugin marketplace add <source> [options]| דגל | תיאור |
|---|---|
--scope <scope> | קובץ ההגדרות שבו מצהירים על החנות: user, project, או local. ברירת המחדל היא user |
--sparse <paths...> | מגביל את ה checkout של git לספריות האלה, עבור monorepos. מקורות github ו git בלבד |
--claudeai | קורא את הארגומנט כשם של חנות שמתארחת ב claude.ai במקום מקור. דורש Claude Code v2.1.273 או חדש יותר |
--json | מדפיס אם הפקודה הצליחה, ואת ההודעה שלה, כאובייקט JSON אחד בשורה האחרונה של stdout, בפורמט תוצאת JSON. אין לו השפעה עם --claudeai. דורש Claude Code v2.1.287 או חדש יותר |
<source> מקבל כל אחת מהצורות בטבלה למטה, והצורה שלו קובעת את סוג המקור ואת האופן שבו Claude Code מביא את החנות. לאובייקט המקור שמתקבל, ראו את הפניה לחנויות.
| מה מקלידים | סוג המקור | איך Claude Code מביא אותו |
|---|---|---|
owner/repo, owner/repo#ref, או owner/repo@ref | github | משכפל את מאגר GitHub, נעוץ ל ref כשמוסרים אותו. הבעלים והמאגר חייבים לעמוד בכללי השמות של GitHub |
user@host:path[.git][#ref] | git | משכפל דרך SSH |
כתובת http:// או https:// שמסתיימת ב .git[#ref] או מכילה /_git/, כגון https://example.com/repo.git | git | משכפל את הכתובת, כולל כתובות Azure DevOps |
https://github.com/owner/repo או https://gitlab.com/namespace/project, או אותו דבר דרך http:// | git | משכפל את הכתובת אחרי צירוף .git |
כל כתובת http:// או https:// אחרת, כולל מארח git עצמאי בלי .git | url | מביא את הכתובת כ marketplace.json. כדי לשכפל שם מאגר במקום זאת, צרפו .git |
./path, ../path, /path, או ~/path לספריה | directory | קורא את הספריה במקומה. ב Windows גם הצורות .\, ..\, ו C:\ עובדות |
אותן צורות נתיב, לקובץ .json | file | קורא את הקובץ במקומו |
עבור מארח שכתובות השכפול שלו לא נושאות את הסיומת .git, כגון AWS CodeCommit, הוסיפו את החנות כרשומת git ב extraKnownMarketplaces במקום זאת. Claude Code משכפל רשומת git בין אם הכתובת שלה מסתיימת ב .git ובין אם לא.
Claude Code גם משכפל כתובת gitlab.com עם תת קבוצות מקוננות, כגון https://gitlab.com/group/subgroup/project.
הוסיפו חנות ושתפו אותה עם הפרויקט:
claude plugin marketplace add your-org/your-marketplace --scope projectClaude Code מדפיס Successfully added marketplace: your-marketplace (declared in project settings), תוך שימוש ב name מהמניפסט של החנות עצמה. הוספה חוזרת או מקור לא תקין מדפיסים אחת מהתוצאות האלה במקום:
- חנות שכבר על הדיסק: הפלט הוא
Marketplace 'your-marketplace' already on disk , declared in project settingsוקוד היציאה הוא0 - מקור לא מזוהה: הפלט הוא
Invalid marketplace source format. Try: owner/repo, https://..., or ./pathוקוד היציאה הוא1 - מארח חשוף כגון
gitlab.example.com/team/plugins: ההוספה נכשלת כקיצורowner/repoלא תקין, וההודעה אומרת להוסיףhttps://או להשתמש בנתיב מקומי
הוסיפו חנות שמתארחת ב claude.ai לפי השם שמודפס במקטע From claude.ai: של claude plugin marketplace list:
claude plugin marketplace add --claudeai claudeai-organization-libraryעם --claudeai, הפקודה מסרבת ל --scope ול --sparse. החנות מתארחת עבור החשבון, והיא לא מוצהרת בקובץ הגדרות, ולכן אי אפשר לשתף אותה דרך .claude/settings.json של פרויקט.
#plugin marketplace list
מציג כל חנות שהוספתם, עם המקור שלה.
claude plugin marketplace list [options]| דגל | תיאור |
|---|---|
--json | מדפיס את הרשימה כ JSON |
Claude Code מדפיס Configured marketplaces: ושורה אחת של Source: לכל חנות, או No marketplaces configured.
עם --json, Claude Code מדפיס מערך עם אובייקט אחד לכל חנות, שנושא את השדות למטה. כל שדה הוא מחרוזת.
| שדה | תיאור |
|---|---|
name | שם החנות |
source | github, git, url, directory, file, או claudeai |
repo | owner/repo. מקורות github בלבד |
url | כתובת השכפול או הבאה. מקורות git ו url בלבד |
path | הנתיב המקומי. מקורות directory ו file בלבד |
ref | הענף או התג הנעוץ. מקורות github ו git, רק כשיש נעיצה |
installLocation | המקום שבו Claude Code שמר את החנות במטמון |
לחנות claude.ai שנוספה אין שכפול מקומי, ולכן הרשומה שלה נושאת את מזהי claude.ai שלה, marketplaceId ו organizationUuid, במקום installLocation. היא גם נושאת scope כשאחד נרשם, ו status.
אם סשני המסוף שלכם מסנכרנים תוספים מחשבון claude.ai, רשימת הטקסט מסתיימת במקטע From claude.ai:. המקטע הזה מציין את החנויות ש claude.ai מציג עבור החשבון ושעדיין לא הוספתם, גם מבוססות git וגם מתארחות. זה דורש Claude Code v2.1.273 או חדש יותר.
כדי להוסיף חנות מהמקטע הזה, ראו הוספת חנות מ claude.ai.
פלט --json מכסה חנויות מוגדרות בלבד ומשמיט את המקטע.
#plugin marketplace remove
הסירו את ההצהרה על חנות מההגדרות. rm הוא כינוי עבור remove.
[!WARNING]
כשמסירים חנות מההיקף האחרון שמצהיר עליה, Claude Code גם מוחק את המטמון שלה ומסיר את כל התוספים שהתקנתם ממנה. הוא גם מוחק את האפשרויות והסודות ואת הנתונים השמורים שלהם, במקומות שבהם הוא יכול.
כדי לרענן חנות בלי לאבד את התוספים שלה, הריצו
plugin marketplace updateבמקום זאת.
claude plugin marketplace remove <name> [options]ה <name> הוא שם החנות ש plugin marketplace list מציג, לא המקור שהעברתם ל add.
| דגל | תיאור |
|---|---|
--scope <scope> | מסיר את ההצהרה מהיקף הגדרות אחד: user, project, או local. בלי הדגל, Claude Code מסיר את ההצהרה מכל היקף |
--json | מדפיס אם הפקודה הצליחה, ואת ההודעה שלה, כאובייקט JSON אחד בשורה האחרונה של stdout, בפורמט תוצאת JSON. דורש Claude Code v2.1.287 או חדש יותר |
הסירו חנות מכל היקף:
claude plugin marketplace remove your-marketplaceClaude Code מדפיס Successfully removed marketplace: your-marketplace. כשהפקודה מסירה תוספים, הפלט מציג אותם מתחת לשורה כגון Also uninstalled 2 plugins from this marketplace:. כדי להשתמש שוב באחד מהם, הוסיפו את החנות בחזרה והתקינו מחדש את התוסף.
אם מגבילים לקובץ הגדרות שלא מצהיר על החנות, הפקודה נכשלת עם Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.
#plugin marketplace update
רעננו חנות אחת, או כל חנות, מהמקור שלה כדי להביא תוספים וגרסאות חדשים. חנות שהוספה עם ענף או תג ref מתעדכנת ל commit האחרון של אותו ref, ולא לענף ברירת המחדל של המאגר.
claude plugin marketplace update [name] [options]| דגל | תיאור |
|---|---|
--json | מדפיס אם הפקודה הצליחה, ואת ההודעה שלה, כאובייקט JSON אחד בשורה האחרונה של stdout, בפורמט תוצאת JSON. בלי שם, הפקודה מסרבת ל --json ויוצאת עם 1. דורש Claude Code v2.1.287 או חדש יותר |
רעננו חנות אחת:
claude plugin marketplace update your-marketplaceClaude Code מדפיס Successfully updated marketplace: your-marketplace. כשמשמיטים את השם, הוא מדפיס ספירה כגון Successfully updated 2 marketplaces.
#/plugin בתוך סשן
בתוך סשן אינטראקטיבי, /plugin פותח את לוח התוספים. כל תת פקודה פותחת את הלוח על לשונית, מריצה שם פעולה, או מדפיסה תוצאה ישירות. /plugins ו /marketplace הם כינויים עבור /plugin.
אפשר להריץ את הפקודות האלה רק בסשן מסוף אינטראקטיבי. בהרצה לא אינטראקטיבית כגון claude -p, Claude Code משיב ש /plugin לא זמין בסביבה הזו.
לגבי המשטחים שבהם יש /plugin, איך להתקין בלעדיו, ומה כל לשונית בלוח מציגה, ראו התקנה וניהול של תוספים.
<plugin> הוא name של תוסף או name@marketplace.
הטבלה למטה מפרטת כל צורה בסשן. לתת פקודות המעטפת init, update, details, prune, eval, eval init, ו test אין צורה בסשן.
| פקודה | כינויים | מה זה עושה |
|---|---|---|
/plugin | פותח את הלוח בלשונית Discover. כל מילה ראשונה שלא מזוהה אחרי /plugin עושה אותו דבר | |
/plugin help | /plugin --help, /plugin -h | מציג את רשימת השימוש של תת הפקודות של /plugin |
/plugin list [--enabled|--disabled] | ls | מדפיס ישירות את התוספים שהותקנו מחנויות, עם גרסה, היקף וסטטוס. דגל סינון מציג רק את המצב הזה. תוסף שמצב ההפעלה שלו עדיין לא הוחל מסומן , run /reload-plugins to apply |
/plugin install | i | פותח את לשונית Discover |
/plugin install <plugin> | i | פותח את פרטי התוסף בלשונית Discover. עם name@marketplace, פותח אותם ברשימה של החנות הזו |
/plugin install <source> | i | מדווח על שגיאת חנות לא נמצאה ולא מתקין דבר כשהיעד הוא נתיב, כתובת URL, או owner/repo, גם מקור שכבר הוספתם. כדי להתקין ממקור, ראו הוספת חנות והתקנה בפקודה אחת |
/plugin install <plugin> --marketplace <source> | i | מוסיף את החנות ב <source> כשעדיין לא הוספתם אותה, ומבקש אישור קודם, ואז פותח את פרטי התוסף. ראו הוספת חנות והתקנה בפקודה אחת. דורש Claude Code v2.1.275 או חדש יותר |
/plugin manage | פותח את לשונית Installed | |
/plugin stats | פותח את לשונית Stats, בסשנים שבהם /skill-doctor זמין. בכל מקום אחר הוא פותח את הלוח בלשונית Discover | |
/plugin enable <plugin> | פותח את לשונית Installed על התוסף ומפעיל אותו | |
/plugin disable <plugin> | פותח את לשונית Installed על התוסף ומכבה אותו | |
/plugin uninstall <plugin> | פותח את לשונית Installed על התוסף ומסיר אותו | |
/plugin configure <plugin> | config | פותח את תיבת הדו שיח userConfig של התוסף, או מדווח שהתוסף לא מצהיר על כזו |
/plugin validate <path> | מדפיס ישירות את אותו דוח כמו claude plugin validate | |
/plugin tag [path] [--push] [--dry-run] [--force] | יוצר את תג השחרור כמו ש claude plugin tag עושה. מקבל את --push, --dry-run, ואת --force או -f. עם כל דגל אחר או ארגומנט נוסף, Claude Code מדפיס שימוש במקום | |
/plugin marketplace | market | לא עושה דבר שנראה לעין. העבירו add, list, update, או remove |
/plugin marketplace add [source] | market add | עם מקור, מוסיף אותו ומדווח על התוצאה. בלי מקור, פותח את שדה הקלט Add marketplace |
/plugin marketplace list | market list | מדפיס ישירות את שמות החנויות |
/plugin marketplace update [name] | market update | פותח את לשונית Marketplaces. עם שם, מרענן את החנות הזו שם |
/plugin marketplace remove [name] | market remove, market rm, marketplace rm | פותח את לשונית Marketplaces. עם שם, מסיר את החנות הזו שם |
אם מציינים תוסף שלא מותקן בפרויקט הנוכחי ב /plugin enable, disable, uninstall, או configure, Claude Code מדפיס Plugin "<plugin>" is not installed in this project במקום לפעול.
#/reload-plugins
החילו שינויי תוספים ממתינים על הסשן הרץ בלי להפעיל אותו מחדש. שינויים ממתינים הם תוספים שהתקנתם, עדכנתם, הפעלתם, כיביתם, או ערכתם על הדיסק מאז שהסשן התחיל.
כשסוגרים את לוח /plugin עם שינויים ממתינים שעשיתם בו, Claude Code מריץ עבורכם את /reload-plugins. הריצו אותו בעצמכם אחרי שינויי תוספים שקורים מחוץ ללוח, כגון פקודת claude plugin שהרצתם במסוף אחר.
/reload-plugins [--force]| דגל | תיאור |
|---|---|
--force | מחיל את הטעינה מחדש גם כשהיא תבטל את מטמון הפרומפט. גם force בלי מקפים עובד |
#סיכום טעינה מחדש
Claude Code טוען מחדש כל תוסף פעיל ומדפיס שורת סיכום אחת, Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers, ומשמיט את ספירת שרתי ה MCP של תוספים בסשן בלי מסוף אינטראקטיבי. כשתוסף כלשהו נכשל, הסיכום מוסיף N errors during load. Run /plugin for details.
ספירת ה skills מכסה כל skill שתוסף מספק, גם את רשומות commands/ שלו וגם את ה skills של SKILL.md. ספירת ה agents היא מספר ה agents שנטענו בסשן, כולל כאלה שלא מגיעים מתוספים.
כשתלויות של תוסף שנטען מחדש חסרות, Claude Code מתקין אותן, טוען מחדש שוב, ומצרף (+ N dependencies: <names>) resolved לסיכום.
#טעינות מחדש שמשנות כלי MCP
כשהטעינה מחדש תוסיף או תסיר שרת MCP של תוסף או את הכלי LSP, והשינוי הזה יבטל את מטמון הפרומפט, Claude Code לא מחיל את הטעינה מחדש. הוא מדפיס שורה כגון This reload changes MCP tools (<server>) , your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply. העבירו --force כדי להחיל אותה בכל זאת.
#סשנים בלי מסוף אינטראקטיבי
/reload-plugins רץ גם בסשנים בלי מסוף אינטראקטיבי, כגון אפליקציית שולחן העבודה, ה Agent SDK, ומצב לא אינטראקטיבי עם -p. דורש Claude Code v2.1.260 או חדש יותר.
בסשנים האלה, הפקודה רצה רק כשמקלידים אותה לסשן בעצמכם, כגון בפרומפט של -p או בתיבת הפרומפט של אפליקציית שולחן העבודה. כשהיא מגיעה בדרך אחרת, כגון דרך Remote Control או הודעה שהועברה מ Slack, הפקודה משיבה /reload-plugins isn't available over a remote connection in this session. ולא טוענת דבר מחדש.
הטעינה מחדש בסשנים האלה לא מחברת ולא מנתקת שרתי MCP של תוספים. השינויים האלה נכנסים לתוקף בסשן הבא.
#דגלים שטוענים תוסף לסשן אחד
שני דגלי claude טוענים תוסף לסשן אחד בלבד, בלי להתקין אותו. שניהם ניתנים לחזרה.
מחברי תוספים משתמשים בהם כדי לבדוק תוסף לפני פרסום. לתהליך העבודה של טעינה, עריכה וטעינה מחדש, ראו פיתוח בלי מרקטפלייס.
| דגל | תיאור | דוגמה |
|---|---|---|
--plugin-dir <path> | טוען תוסף מתיקייה או מארכיון .zip של תוסף. תיקייה של תוספים טוענת כל תיקיית בת שמכילה .claude-plugin/plugin.json. כל דגל מקבל נתיב אחד | claude --plugin-dir ./my-plugin --plugin-dir ./other.zip |
--plugin-url <url> | מביא ארכיון .zip של תוסף מכתובת URL. חזרו על הדגל, או העבירו כמה כתובות URL מופרדות ברווח בערך אחד עם מרכאות | claude --plugin-url "https://example.com/a.zip https://example.com/b.zip" |
תוסף שאחד מהדגלים האלה טוען הוא תוסף לסשן בלבד. claude plugin list מציג אותו רק כשאותו דגל מופיע לפני פקודת המשנה, כמו ב-claude --plugin-dir ./my-plugin plugin list. התוסף מופיע כ-<name>@inline תחת כותרת שמתחילה ב-Session-only plugins, ו---json מדווח על scope שלו כ-session.
כשתוסף לסשן בלבד חולק שם עם תוסף מותקן, Claude Code טוען את העותק לסשן בלבד לאותו סשן ומדלג על העותק המותקן. העותק המותקן נטען אם השבתם את העותק לסשן בלבד באמצעות claude plugin disable <name>@inline, או אם הגדרות מנוהלות נועלות את שם התוסף הזה. לקדימות, ראו הפניה לטעינת תוספים.
מנהל יכול לדחות את שני הדגלים, וגם תיקיות ששמן מופיע במשתנה CLAUDE_CODE_PLUGIN_DIRS, באמצעות ההגדרה המנוהלת disableSideloadFlags. Claude Code מדפיס אז שהדגל מושבת על ידי ההגדרות המנוהלות של הארגון שלכם ויוצא עם 1 בלי להתחיל.
מתוך Agent SDK, האפשרות plugins שקולה ל---plugin-dir.
#הצעדים הבאים
- התקנה וניהול של תוספים: אותן פעולות כשלבים, עם מה שרואים בכל אחד
- הפניה לטעינת תוספים: מה כל פקודה משנה בדיסק ואיזה scope נכנס לתוקף
- פתרון בעיות בתוספים: הודעות שגיאה של התקנה, מרקטפלייס, טעינה ואימות, עם התיקונים שלהן
- הפניה למניפסט של תוסף: השדות ש-
claude plugin validateבודק