נושא 1
מה זה Mod ב-Claude Code?
Mod הוא תוסף קטן שמשנה איך Claude Code עובד ואיך הוא נראה. בשלב הזה תבינו מה זה, ממה הוא מורכב ומה ההבדל בינו לבין Claude Code רגיל.
Claude Code הוא כלי של Anthropic שבו כותבים ל-Claude בקשות בשיחה, והוא עושה עבודה על הקבצים ועל הפקודות שבמחשב שלכם. הלומדה הזו מיועדת לאפליקציית שולחן העבודה של Claude (Desktop app), שבה Claude Code נמצא בלשונית שנקראת Code. כל ההוראות בהמשך מתארות מה לוחצים ומה כותבים באפליקציה הזו. לפי הבלוג, Mods פועלים באפליקציה וגם בגרסה של Claude Code שפועלת בחלון טקסט (מסוף), שאותה אנחנו לא מלמדים כאן.

Plugin
מה זה Plugin? לחצו להסברMod
מה זה Mod? לחצו להסברTypeScript
מה זה TypeScript? לחצו להסבר
Thinking…
ליד האנימציה של Claude (הספינר) מופיעה רק מילה אחת. לא רואים כמה פעולות Claude כבר ביצע.
Thinking · tool calls: 2…
ה-Mod first-mod מהתיעוד הרשמי סופר את הפעולות של Claude ומוסיף את המספר אחרי המילה.
tool call (קריאה לכלי) הוא כל פעם ש-Claude משתמש בכלי, למשל כדי להציג רשימת קבצים או לקרוא קובץ. בדוגמה של התיעוד, הבקשה list the files here and read the README גורמת לכמה קריאות כאלה. כש-Claude מסיים, ההקלדה /tally מדפיסה את הסכום.
למה Mods קיימים ומה אפשר לעשות איתם
Anthropic הוסיפה Mods כדי שאפשר יהיה לשנות את Claude Code בלי לחכות שהיא תפרסם יכולת חדשה. כאן רואים את הסיבות ואת רשימת היכולות.
ב-Claude Code כבר היה מנגנון שנקרא Hook (בעברית: וו), שמאפשר להגדיר פעולה שתתבצע כשקורה אירוע מסוים. הבלוג הרשמי כותב ש-Hooks נתנו למשתמשים קצת שליטה, אבל Hooks לא יכולים לשכתב אירועים, לצייר ממשק חדש או להחליף יכולות. Mods יכולים.
איך Mod עובד מבפנים
Claude Code מכריז על כל דבר שהוא עושה, ו-Mod מתחבר להכרזה. כאן רואים אילו דברים מוכרזים, איך הם עוברים בדרך, ומה Mod יכול לעשות בהם.
מה קורה: אתם פותחים שיחה חדשה בלשונית Code, לפני שכתבתם את הבקשה הראשונה.
מה Mod יכול לעשות: להכין דברים מראש, למשל להוסיף יכולת חדשה שתוכלו להפעיל בהמשך מתיבת הבקשה.
דוגמה מהיום יום: כמו שמדליקים אור כשנכנסים לחדר: ה-Mod מכין את הכול לפני שמתחילים לעבוד.
מה קורה: כתבתם בקשה ל-Claude והקשתם Enter. Claude Code מכריז «נשלחה בקשה» לפני שהיא מגיעה ל-Claude.
מה Mod יכול לעשות: לקרוא את הבקשה, ואפילו לשכתב אותה לפני ש-Claude רואה אותה.
דוגמה מהיום יום: Mod שמוסיף לסוף כל בקשה שלכם את הנהלים של הצוות, כדי שלא תכתבו אותם בכל פעם.
מה קורה: כלי הוא יכולת ש-Claude משתמש בה כדי לפעול במחשב, למשל לקרוא קובץ, לערוך קובץ או להפעיל פקודה. ממש לפני שהוא משתמש בכלי, Claude Code מכריז על כך.
מה Mod יכול לעשות: להעביר את הפעולה כמו שהיא, לשנות אותה, לחסום אותה או לספור אותה.
דוגמה מהיום יום: Mod שעוצר מחיקה של קבצים, מראה לכם מה עומד להימחק, ושואל אם להמשיך.
מה קורה: Claude Code שואל אתכם «מותר לעשות את זה?» לפני פעולה שדורשת אישור.
מה Mod יכול לעשות: לאשר או לדחות את הבקשה במקומכם, לפי כללים שהגדרתם.
דוגמה מהיום יום: Mod שמאשר לבד קריאה של קבצים בפרויקט, ודוחה כל מחיקה. שימו לב: Mod שמאשר בלי לשאול חזק מאוד, ולכן מתקינים רק ממקור שסומכים עליו.
מה קורה: הקלדתם בתיבת הבקשה של האפליקציה סימן / ובחרתם פקודה מהרשימה שנפתחת.
מה Mod יכול לעשות: לענות בעצמו לפקודה, או להוסיף פקודה חדשה לגמרי.
דוגמה מהיום יום: Mod שמוסיף פקודה משלו לרשימה הזו. אתם בוחרים אותה, והוא עונה בשיחה כמה פעולות Claude ביצע.
מה קורה: Claude Code מצייר רכיב על המסך, למשל את האנימציה שמופיעה כש-Claude עובד, עם המילה Thinking.
מה Mod יכול לעשות: לערוך את מה שמצויר או להחליף אותו.
דוגמה מהיום יום: Mod לדוגמה מהתיעוד מוסיף ליד המילה Thinking את מספר הפעולות שכבר בוצעו, כדי שתראו מה Claude עושה.

- tool.callהאירוע: Claude עומד להשתמש בכלי.
- your hookה-Mod שלכם. הוא הראשון שרואה את האירוע.
- other pluginsתוספים אחרים שמחוברים לאותו אירוע. הם רואים אותו אחרי ה-Mod שלכם, לפי סדר הטעינה.
- Claude Codeההתנהגות הרגילה: הכלי באמת מתבצע.
- nextהוראה שאומרת «תעביר את האירוע לתחנה הבאה». בלי העברה, האירוע לא ממשיך.
- resultהתוצאה של הכלי חוזרת אחורה באותה דרך, ובסוף אתם רואים אותה.
- denyהחץ הכתום: ה-Mod עונה בעצמו «סירוב» ולא מעביר הלאה, ולכן הכלי לא מתבצע בכלל.
אתם כותבים ל-Claude בלשונית Code בקשה, למשל «הצג לי את הקבצים בתיקייה וקרא את קובץ ה-README».
Claude עומד להשתמש בכלי כדי לקרוא קובץ, ו-Claude Code יוצר אירוע «Claude רוצה להשתמש בכלי».
כשכמה Mods מחוברים לאותו אירוע, הם פועלים לפי הסדר שבו נטענו. ה-Mod שנטען ראשון רואה את האירוע ראשון ואת התוצאה אחרון.
הוא יכול להסתכל ולהעביר הלאה, לשנות ולהעביר הלאה, או לענות בעצמו. שלוש האפשרויות מוסברות בלשוניות שמתחת לציר.
ההעברה הלאה שולחת את האירוע ל-Mods הבאים בתור, ובסוף אל ההתנהגות הרגילה של Claude Code, שמבצעת את הכלי.
התוצאה חוזרת דרך אותה שרשרת, ובסוף אתם רואים אותה על המסך, אולי אחרי ש-Mod שינה אותה.
Observe: להסתכל ולהעביר הלאה
בפשטות: ה-Mod רק מציץ במה שקורה, רושם לעצמו, ואז מעביר את האירוע הלאה בלי לשנות כלום.
דוגמה מהיום יום: שומר בכניסה לבניין שרושם מי נכנס ופותח את הדלת לכולם.
דוגמה מהתיעוד: ב-Mod לדוגמה מהתיעוד, כל פעם ש-Claude משתמש בכלי ה-Mod מוסיף אחד למונה, ומעביר את האירוע הלאה, כך שהכלי ממשיך לעבוד כרגיל.
Rewrite: לשנות ולהעביר הלאה
בפשטות: ה-Mod משנה את האירוע לפני שהוא ממשיך, וכל מי שבא אחריו רואה את הגרסה החדשה.
דוגמה מהיום יום: מזכירה שמתקנת שגיאת כתיב בפתק לפני שהוא מגיע למנהל.
דוגמה מהתיעוד: ב-Mod לדוגמה, כשמציירים את האנימציה, ה-Mod מוסיף אחרי המילה Thinking את המספר, ו-Claude Code מצייר את הגרסה המעודכנת.
Answer: לענות בעצמו
בפשטות: ה-Mod מטפל באירוע בעצמו ולא מעביר אותו הלאה, ולכן ההתנהגות הרגילה לא מתבצעת.
דוגמה מהיום יום: מזכירה שעונה לשולח «המנהל לא זמין» בלי להטריד את המנהל.
דוגמה מהתיעוד: ב-Mod לדוגמה, כשאתם בוחרים את הפקודה שהוא הוסיף, ה-Mod עונה בעצמו עם מספר הפעולות. דוגמה נוספת: Mod יכול לסרב לשימוש בכלי.
- מתי: עכשיו, אחרי שקראתם את הכרטיסיםפתחו את אפליקציית שולחן העבודה של Claude, עברו ללשונית Code ופתחו שיחה חדשה בתיקייה שאתם רוצים לנסות בה.
- מתי: כשהשיחה פתוחה ותיבת הבקשה ריקהלחצו על «העתק» בבקשה שמתחת, הדביקו אותה בתיבת הבקשה והקישו Enter.
- מתי: כש-Claude שואל אם מותר לו ליצור קובץקראו את שם הקובץ ואשרו. הקבצים נכתבים בתיקיית ה-Mods של השיחה.
- מתי: כש-Claude שואל אם להפעיל טעינה מחדש אוטומטיתבחרו Enable for this session, ואז שלחו בקשה פשוטה כמו «הצג את הקבצים כאן». ליד האנימציה של Claude אמור להופיע מספר פעולות.
הצעדים לפי העמוד Create a mod בתיעוד, שמתאר את התהליך בלי להפריד בין המסוף לאפליקציה. אם משהו נראה אחרת באפליקציה שלכם, שאלו את Claude בצ'אט מה אתם רואים.
ארבע דוגמאות אמיתיות של Mods
המקורות מציגים שלושה Mods לדוגמה ועוד Mod אחד מובנה. כאן רואים מה כל אחד עושה, ואיך מנסים כל אחד באפליקציה.
המדריך Getting started with Claude Code mods נכתב על ידי Addy Osmani ופורסם באתר claude.dev ב-1 באוקטובר 2026. הוא מציג שלושה Mods, ולכל אחד מהם שאלה אחת שהוא עונה עליה: כמה מלא ההקשר שלי? מה הפקודה הזו עומדת למחוק? מה Claude בדיוק שינה?
Token Weather
שורה מעל תיבת הבקשה שמראה כמה מלא ההקשר של השיחה: סמל מזג אוויר, אחוזים, מספר הטוקנים, גרף של התורים האחרונים וכמה התוספת האחרונה.
Blast Radius
עוצר פעולות מסוכנות, כמו מחיקת קבצים רבים, ומראה מה הן עומדות לשנות. אתם לוחצים 1 להמשיך או 2 לבטל.
Replay Theater
מקליט כל עריכת קובץ בתור אחד, ובסופו מאפשר לעבור על העריכות אחת אחת עם הכפתורים Prev ו-Next.
/diff המובנה
הפקודה /diff של Claude Code כבר מגיעה כ-Mod. אפשר לכבות אותה בניהול ה-Plugins, ו-Anthropic מתכננת להעביר עוד יכולות מובנות להיות Mods.
Token Weather
מה זה: מד קטן מעל תיבת הבקשה, כמו חיווי מזג אוויר לשיחה.
מה זה נותן לכם: אתם רואים בכל רגע כמה מהשיחה כבר מלא, ויודעים מתי להתחיל שיחה חדשה לפני שנגמר המקום. טוקן (token) הוא יחידת טקסט קטנה, בערך חלק ממילה. חלון ההקשר (context window) הוא כל כמות הטקסט ש-Claude יכול להחזיק בשיחה אחת.
Blast Radius
מה זה: שומר סף שעוצר פקודות מסוכנות לפני שהן מתבצעות.
מה זה נותן לכם: לפני שמשהו נמחק, אתם רואים מה הוא עומד לשנות, ומחליטים: 1 להמשיך או 2 לבטל. לפי המדריך זו רשת ביטחון ולא מערכת הרשאות, ופקודות שמוסתרות בתוך $(…), בכינויים או בתסריטים יכולות לעבור אותה. לחסימה מוחלטת משתמשים בכללי הרשאות (permission rules).
Replay Theater
מה זה: מקליט את כל העריכות ש-Claude עשה בבקשה אחת.
מה זה נותן לכם: אחרי שהבקשה מסתיימת אתם עוברים על העריכות אחת אחת עם Prev ו-Next, ורואים מה בדיוק השתנה. תור (turn) הוא בקשה אחת שלכם והתשובה של Claude עליה.
/diff המובנה
מה זה: פקודה שמגיעה עם Claude Code, ולפי הבלוג היא כבר Mod.
מה זה נותן לכם: שליטה: אפשר לכבות אותה או להחליף אותה בגרסה שלכם. מה הפקודה מציגה בדיוק לא מוסבר במקורות שהלומדה מבוססת עליהם.
שלושת ה-Mods הראשונים מהמדריך של claude.dev. אתם לא מתקינים אותם מקבצים. אתם מבקשים מ-Claude בצ'אט של האפליקציה ליצור Mod דומה, כפי שלמדתם בנושא 3.
- מתי: לפני שמתחיליםפתחו את אפליקציית Claude ועברו ללשונית Code. מומלץ לפתוח שיחה חדשה בתיקיית ניסוי, לא בפרויקט חשוב.
- מתי: אחרי שבחרתם Mod מהלשוניות שמתחתלחצו על «העתק», הדביקו את הבקשה בתיבת הבקשה והקישו Enter.
- מתי: כש-Claude שואל אם מותר לו ליצור קובץאשרו כל קובץ. כשנשאלים אם להפעיל טעינה מחדש אוטומטית, בחרו Enable for this session.
- מתי: כש-Claude מסיים לכתובבצעו את «מה לעשות אחר כך» שמופיע בלשונית, ובדקו שאתם רואים את מה שהיא מתארת.
שלוש הבקשות כאן הן ניסוח של Letsai בעברית שמבוסס על התיאור של כל Mod במדריך של claude.dev. ה-Mods שייווצרו יהיו גרסה דומה, לא הקבצים המקוריים של המדריך. המקורות לא מתארים לחיצות ייעודיות באפליקציה לשימוש בהם, ולכן אם משהו לא מופיע, שאלו את Claude בצ'אט.
נושא 5
איך מוצאים ומתקינים Mod באפליקציה
Mod מתקינים כמו כל Plugin. באפליקציית שולחן העבודה עושים זאת בכמה לחיצות מתיבת הבקשה, ואפשר גם לבקש מ-Claude בצ'אט.
Code tab
הלשונית Code באפליקציית Claude, שבה עובדים עם Claude Code.
Plugin
חבילה של קבצים שמוסיפה יכולות. Mod הוא סוג של Plugin.
Marketplace
קטלוג של Plugins. מתקינים ממנו, כמו מחנות אפליקציות.
Scope
היקף: למי ההתקנה חלה. רק לכם, לפרויקט הזה, או לחשבון כולו.
הצעדים האלה כתובים בעמוד ההתקנה הרשמי (Discover and install plugins) ובעמוד של האפליקציה (Install plugins). לא מצאנו צילום מסך רשמי של דפדפן ה-Plugins באפליקציה, ולכן אין כאן תמונה שלו.
מתי: כשאתם רוצים לראות אילו Plugins קיימים לפני שאתם מתקינים. מה עושים: פותחים בדפדפן את האתר claude.com/marketplace/plugins ולוחצים על הנקודות המסומנות. ההתקנה עצמה נעשית באפליקציה, לפי הצעדים למעלה.
הערה על המקור: הבלוג מפנה לדף claude.ai/directory, אבל הדף הזה חוסם גישה אוטומטית (בדיקת אבטחה של Cloudflare), ולכן לא ניתן היה לצלם אותו. הצילום הוא מהדף הציבורי הקרוב אליו, Claude Marketplace. אין בו מסנן נפרד בשם Mods, ולכן הוא מראה Plugins בכלל. בדף כזה יש גם כפתור Claude Code שמעתיק פקודת התקנה למסוף, ואין צורך להשתמש בו כשעובדים באפליקציה.
לפי הבלוג הרשמי, אפשר להתקין Plugins שכוללים Mods מהספרייה של Claude. באפליקציה עושים זאת בדפדפן ה-Plugins: + ליד תיבת הבקשה, אחר כך Plugins, אחר כך Add plugin (חמשת הצעדים שלמעלה). הדפדפן מציג Plugins מה-Marketplaces שהוגדרו אצלכם, כולל ה-Marketplace הרשמי של Anthropic. מתי להשתמש: כשה-Plugin נמצא באחד ה-Marketplaces שלכם.
מי שכתב Mod יכול לשים אותו במאגר ב-GitHub עם קובץ marketplace, והמאגר הופך ל-Marketplace. המקורות מתארים את ההוספה וההתקנה רק בפקודות של Claude Code במסוף, ולא כותבים איפה לוחצים באפליקציה. לכן הדרך הבטוחה היא לבקש מ-Claude בצ'אט, עם הבונה שמתחת. מתי להשתמש: כשיש לכם שם של מאגר מאדם שאתם סומכים עליו. הערה: זו הצעה כללית של Letsai ולא לחיצות שמתועדות במקורות.
מתי: מיד אחרי ההתקנה. מה עושים: לוחצים על + ליד תיבת הבקשה ובוחרים Plugins. לפי האפליקציה, שם רואים את ה-Plugins המותקנים ואת היכולות שלהם. לפי עמוד ההתקנה הרשמי, Plugin שמתקינים נטען בהתחלה של שיחה חדשה, ואם השיחה כבר פתוחה אפשר להקליד בתיבת הבקשה /reload-plugins. אם אתם לא רואים שה-Mod פועל, כתבו ל-Claude בצ'אט: «האם ה-Plugin שהתקנתי נטען בשיחה הזו, ומה אני צריך לעשות אם לא?». הערה: במקורות אין תיאור של שורת סטטוס ספציפית באפליקציה.
מתי: רק כשאתם מקבלים מאדם מהימן שם של מאגר. מה עושים: ממלאים את שני השדות ובוחרים היקף, מעתיקים את הבקשה, מדביקים אותה בצ'אט של לשונית Code ומקישים Enter. הבקשה מורה ל-Claude להציג לכם מה ה-Plugin מכיל לפני ההתקנה. השדות מקבלים רק אותיות באנגלית, ספרות, נקודה, מקף וקו נטוי. הדוגמה your-org/my-mods לקוחה מהמדריך של claude.dev.
לפני שמתקינים: Mod הוא קוד שפועל במחשב שלכם עם אותה גישה ש-Claude Code יש. המדריך כותב: קראו את המאגר קודם והתקינו רק ממי שאתם סומכים עליו. פרטים בנושא 10.
ליצור Mod בעזרת Claude
הדרך הקלה ביותר: מתארים ל-Claude בצ'אט של האפליקציה, במילים שלכם, איזה Mod אתם רוצים, והוא כותב אותו. לא צריך לדעת לתכנת.
לפי התיעוד הרשמי (העמוד Create a mod), יש שתי דרכים ליצור Mod: לבקש מ-Claude שיכתוב אותו, או לכתוב אותו בעצמכם. בלומדה הזו אנחנו הולכים בדרך הראשונה. כדי ש-Claude ידע איך, יש לו מיומנות מובנית (skill) בשם plugin-authoring. מיומנות היא הוראות מוכנות ש-Claude טוען כשצריך. Claude יכול לטעון אותה לבד כשאתם מבקשים Mod. אפשר גם להקליד / בתיבת הבקשה ולבחור אותה מרשימת הפקודות.
דרישה: Mods דורשים Claude Code בגרסה 2.1.287 ומעלה. המקורות לא מראים באיזה מקום באפליקציה רואים את מספר הגרסה, ולכן כתבו ל-Claude בצ'אט:
אם הגרסה נמוכה מ-2.1.287, עדכנו את האפליקציה לפני שממשיכים.
- מתי: בתחילת העבודהפתחו את אפליקציית Claude, עברו ללשונית Code ופתחו שיחה מקומית חדשה. כתוב במקורות
- מתי: כשהשיחה ריקהבנו בקשה בבונה שמתחת, לחצו «העתק», הדביקו בתיבת הבקשה והקישו Enter. הצעה של Letsai
- מתי: בכל פעם ש-Claude שואל אם מותר לו ליצור קובץקראו את שם הקובץ ואשרו. זה קורה בכל קובץ, כי התיקייה ~/.claude מוגנת. כתוב במקורות
- מתי: אחרי שהקובץ הראשון נשמרClaude שואל אם להפעיל טעינה מחדש אוטומטית. בחרו Enable for this session. כתוב במקורות
- מתי: כש-Claude מסייםלחצו על + ליד תיבת הבקשה, בחרו Plugins ובדקו שה-Mod מופיע. התפריט כתוב במקורות
- מתי: אחרי שה-Mod נטעןנסו אותו. אם הוא לא עושה מה שרציתם, כתבו ל-Claude מה לשנות. הצעה של Letsai
מתי: לפני צעד 2 שלמעלה. מה עושים: בוחרים מה ה-Mod יעשה, איפה הוא יוצג ואילו גבולות הוא צריך לכבד. הטקסט בעברית נבנה למטה. מעתיקים ומדביקים בצ'אט. הדוגמה הראשונה לקוחה מהתיעוד, והשלישית והרביעית מבוססות על דוגמאות לצוותים מהבלוג הרשמי.
למה לשמור: Mod ש-Claude כתב נטען רק בשיחה שיצרה אותו, ו-Claude Code מוחק את התיקייה של השיחה אחרי תקופה שנקבעת בהגדרה cleanupPeriodDays. התיעוד מראה טעינה של תיקייה מקומית בדגל של גרסת המסוף. המקורות לא מתארים מקבילה בלחיצות באפליקציה, ולכן שאלו את Claude, ואם צריך תכינו Marketplace מקומי כמו שמוסבר בנושא 8.
איך נראה Mod מבפנים: first-mod
הקבצים כאן הם דוגמה לקריאה בלבד, מהתיעוד הרשמי. אתם לא מקלידים אותם: אתם מבקשים מ-Claude בצ'אט של האפליקציה ליצור אותם.
ה-Mod בשם first-mod סופר פעולות של Claude, מציג את המספר ליד האנימציה ומוסיף פקודה /tally. הוא בנוי משלושה קבצים בלבד, והתיעוד מסביר שלא צריך להתקין Node.js, כלי אריזה או לבצע שלב בנייה, כי Claude Code טוען קבצי .js ו-.ts ישירות. המטרה של הנושא הזה היא להבין מה כתוב בכל קובץ, כדי שתדעו לבדוק ש-Claude כתב מה שביקשתם. לחצו על קובץ בעץ כדי לקרוא מה הוא עושה.
שלב 1: מבקשים מ-Claude ליצור את הקבצים
לא מקלידים קבצים ולא פותחים חלון טקסט. עושים כך:
- מתי: בשיחה מקומית חדשה בלשונית Codeלחצו על «העתק» בבקשה שמתחת והדביקו אותה בתיבת הבקשה.
- מתי: מיד אחרי ההדבקההקישו Enter ואשרו כל קובץ ש-Claude מבקש ליצור.
בשלבים הבאים רואים את שלושת הקבצים כפי שהם בתיעוד. ה-Mod ש-Claude ייצור עשוי להיראות קצת אחרת, וזה בסדר, כל עוד הוא עושה את אותו הדבר.
שלב 2: plugin.json, כרטיס הזיהוי של ה-Plugin
הקובץ הזה מציג את ה-Plugin: שם, גרסה ותיאור. Mod הוא Plugin, ולכן הוא צריך אותו. הוא נשמר בנתיב first-mod/.claude-plugin/plugin.json. זו דוגמה לקריאה בלבד: אתם לא צריכים להקליד אותה.
{
"name": "first-mod",
"version": "0.1.0",
"description": "Counts Claude's tool calls, shows the count beside the spinner, and adds a /tally command",
"author": { "name": "Your Name" }
}- "name": "first-mod"שם ה-Plugin. אותו שם יופיע לפני טקסט הפקודה בשיחה.
- "version": "0.1.0"מספר הגרסה. כדי לעדכן Mod מותקן מעלים את המספר הזה.
- "description": "…"משפט שמתאר מה ה-Mod עושה. הוא באנגלית כמו בתיעוד.
- "author": { "name": "Your Name" }שם היוצר. Your Name הוא מקום שמור לשם שלכם.
שלב 3: hooks.json, מצביע לקוד
כש-Claude Code טוען Plugin, הוא קורא את הקובץ hooks/hooks.json. המפתח modules בקובץ נותן את הנתיב לקוד, והוא מה שהופך את ה-Plugin ל-Mod. גם זו דוגמה לקריאה בלבד.
{
"description": "The first-mod hooks module",
"modules": ["./register.js"]
}- "description": "…"תיאור קצר של קובץ הקוד.
- "modules": ["./register.js"]רשימה עם נתיב אחד לקובץ הקוד, יחסית למיקום של hooks.json. הנתיב מצביע על register.js, הקובץ הבא.
שלב 4: register.js, הקוד של ה-Mod
זה הקוד עצמו ("hooks module"). כש-Mod נטען, Claude Code קורא לפונקציה register שהקובץ מייצא, ומעביר לה פונקציה בשם on. כל קריאה ל-on רושמת Hook לאירוע ששמו כתוב. לקריאה בלבד: Claude כותב את הקוד הזה בשבילכם.
// The count, shared by the hooks below
let calls = 0
// Claude Code calls this once when the mod loads
export function register(on) {
// Runs when the session starts, before your first prompt
on('session.start', async ($, e, next) => {
// Add the /tally command
await $.command.register({
name: 'tally',
description: 'Show how many tool calls Claude has made',
})
// Let the session start as usual
return next(e)
})
// 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 when you type /tally, and only then, because of the matcher
on('command.run', { command: 'tally' }, async () => {
// The text to print in the transcript
return { text: 'Claude has made ' + calls + ' tool calls since this mod loaded' }
})
// 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 + '…' } })
})- let calls = 0משתנה שמחזיק את הספירה. הוא מתחיל באפס ומשותף לכל ארבעת ה-Hooks.
- on('session.start', …)מופעל כשהשיחה מתחילה, לפני הבקשה הראשונה, ושוב בכל פעם שה-Mod נטען מחדש. הוא מוסיף את הפקודה /tally ומעביר את האירוע הלאה (next(e)), כדי שהשיחה תתחיל כרגיל.
- on('tool.call', …)מופעל בכל פעם ש-Claude עומד להשתמש בכלי. הוא מוסיף אחד לספירה, מבקש מ-Claude Code לצייר את המסך מחדש כדי שהמספר החדש יופיע, ומעביר הלאה, כדי שהכלי ימשיך כרגיל.
- on('command.run', { command: 'tally' }, …)מופעל כשאתם מקלידים /tally, ורק אז, בגלל הסינון { command: 'tally' } (בשם matcher). הוא מחזיר טקסט להדפסה בשיחה, ולא מעביר הלאה.
- on('ui.render', { component: 'Spinner' }, …)מופעל בכל פעם ש-Claude Code מצייר את האנימציה (הספינר). הוא משאיר את האנימציה הרגילה ומוסיף אחרי המילה את הטקסט · tool calls: ואת המספר.
שלב 5: מנסים את ה-Mod באפליקציה
- מתי: אחרי ש-Claude סיים ליצור את הקבציםאם נשאלתם על טעינה מחדש אוטומטית, בחרו Enable for this session. ואז בדקו ב-+ > Plugins שה-Mod מופיע.
- מתי: כשה-Mod נטעןשלחו ל-Claude בקשה שלוקחת כמה פעולות, למשל «הצג את הקבצים כאן וקרא את ה-README». בזמן שהוא עובד, אחרי המילה Thinking אמור להופיע מספר שעולה, כמו Thinking · tool calls: 2….
- מתי: כש-Claude מסייםהקלידו /tally בתיבת הבקשה והקישו Enter. בשיחה יופיע first-mod: Claude has made 2 tool calls since this mod loaded, עם המספר שלכם.
אם הפקודה /tally לא מופיעה כשמקלידים /, הקוד לא נטען. התיעוד מצולם במסוף, ולכן המראה באפליקציה עשוי להיות שונה. אם משהו לא תואם, שאלו את Claude בצ'אט.
שלב 6: משנים את הקוד בזמן שהשיחה פתוחה
Mod נטען מחדש אוטומטית כשהוא משתנה. כדי לראות זאת, מבקשים מ-Claude לשנות טקסט, בלי לגעת בקובץ בעצמכם.
- מתי: כשהשיחה פתוחה וה-Mod פועלהעתקו את הבקשה שמתחת והדביקו אותה בצ'אט.
- מתי: כש-Claude מסיים ושומר את הקובץחפשו בשיחה שורה שאומרת ש-first-mod נטען מחדש, ושלחו בקשה חדשה. הספינר ישתמש בטקסט החדש.
לפי התיעוד, האנימציה הבאה תציג Thinking · tools used: 1…. כל טעינה מחדש קוראת ל-register שוב, ולכן הספירה חוזרת לאפס.
1. מה הופך Plugin ל-Mod?
2. צריך להקליד בעצמכם את הקוד של register.js כדי לקבל Mod?
3. מה קורה אם שם האירוע בקוד נכתב עם שגיאה, למשל tool.calls במקום tool.call?
לבדוק את ה-Mod ולשתף אחרים
לפני שמשתפים, מבקשים מ-Claude לבדוק את ה-Mod. אחר כך בוחרים איך לשתף: לכמה אנשים, לצוות, לארגון או לכולם.
בתיעוד הבדיקות מופעלות כפקודות. באפליקציה אתם לא מקלידים פקודות: אתם מבקשים מ-Claude בצ'אט, והוא מפעיל את הבדיקה בשבילכם ומסביר לכם את התוצאה. בכל לשונית כתוב מתי לבקש ומה לומר.
מתי: אחרי ש-Claude כתב Mod, ובכל פעם לפני שאתם מתקינים Mod שקיבלתם מאדם אחר. הבדיקה קוראת את המניפסט ומנתחת את הקוד כמו ש-Claude Code עושה כשהוא טוען אותו, בלי להפעיל את הקוד ובלי שיחה.
מה אומרים ל-Claude בצ'אט:
עבור first-mod הפלט שהתיעוד מציג כולל את השורות האלה (התיעוד מסמן כל שורה בסימן קטן, שהושמט כאן):
./register.js hooks: session.start, tool.call, command.run{command=tally}, ui.render{component=Spinner}
./register.js calls: $.command.register, $.ui.invalidate
Validation passed- hooks:האירועים שהקוד מתחבר אליהם, ולצד כל אחד הסינון שלו בסוגריים מסולסלים.
- calls:כל הפעולות של ה-mods API שהקוד קורא להן. ה-mods API הוא רשימת הדברים שמותר ל-Mod לבקש מ-Claude Code.
- Validation passedהבדיקה עברה.
אם אירוע שהתכוונתם לטפל בו חסר בשורה הראשונה, Claude Code לא יקרא ל-Hook הזה. הסיבה הנפוצה היא שגיאת כתיב בשם האירוע, והבדיקה מדווחת עליה כשגיאה כמו "tool.calls" is not an event.
מתי: כשה-Mod שלכם חשוב לכם ואתם רוצים לוודא שהוא ממשיך לעבוד גם אחרי שינויים. הבדיקה משגרת אירועים מדומים ובודקת מה ה-Hooks עשו, בלי שיחה, בלי התחברות ובלי רשת.
מה אומרים ל-Claude בצ'אט:
בדוגמה מהתיעוד הבדיקה משגרת שתי קריאות לכלי, מקלידה /tally ובודקת שהתשובה סופרת את שתיהן. זה הקובץ שהתיעוד מציג, לקריאה בלבד:
import { expect, test } from 'claude-code/testing'
test('/tally reports the tool calls the mod has seen', async ($, on) => {
// Answer each tool call in Claude Code's place, so no tool runs
on('tool.call', () => ({ result: 'ok' }))
// Fire two tool calls, which the mod's tool.call hook counts
await $.tool.call({ tool: 'Bash', command: 'ls' })
await $.tool.call({ tool: 'Read', file_path: 'README.md' })
// Run /tally and check the text its hook returns
const answer = await $.command.run({ command: 'tally', args: '' })
expect(answer.text).toBe('Claude has made 2 tool calls since this mod loaded')
})התוצאה שהתיעוד מראה: הבדיקה עברה (1 pass, 0 fail).
זה מידע בלבד, אין מה לעשות. בכל פעם ש-Claude Code טוען מחדש Mod ש-Claude כתב, הוא כותב קבצי הצהרות של TypeScript (קבצים שנגמרים ב-.d.ts) לתיקייה .claude-plugin/types/ בתוך ה-Mod. הקבצים מתארים את האירועים והשיטות המדויקים בגרסת Claude Code שמותקנת אצלכם, כדי שעורך קוד ישלים אוטומטית ויבדוק את ה-Hooks.
- claude-code/index.d.tsכל אירוע והקלט והתוצאה שלו, כל namespace ושיטה ב-mods API, והאלמנטים שכל משטח יכול לצייר.
- claude-code-tools/index.d.tsהקלטים והתוצאות של הכלים המובנים.
- claude-code-mcp/index.d.tsהקלטים של כלי MCP שהיו מחוברים בפעם האחרונה שנשמר קובץ ב-Mod.
- tsconfig.jsonהגדרות מהדר שמתאימות לקובץ hooks module.
התיעוד מדגיש: האירועים והשיטות יכולים להשתנות בין גרסאות, ולכן אם הקבצים האלה והעמודים בתיעוד לא מסכימים, סומכים על הקבצים.
Mod הוא Plugin, ולכן שיתוף שלו נעשה כמו של כל Plugin. הגרסה נקבעת במניפסט, ואנשים מתקינים ומעדכנים אותו כמו כל Plugin, בדפדפן ה-Plugins באפליקציה. הדרך תלויה במי שאתם רוצים שיקבל אותו:
כמה אנשים
שולחים להם את התיקייה של ה-Plugin או קובץ .zip שלה.
הצוות
מוסיפים אותו ל-Marketplace של הצוות, למשל מאגר פרטי עם תיקייה לכל Plugin.
כל הארגון
מנהל מערכת יכול להתקין את ה-Mods של הארגון דרך הגדרות מנוהלות (managed settings).
כל אחד
הופכים את המאגר של ה-Marketplace לציבורי, או שולחים את ה-Plugin לספרייה של Anthropic.
פרטים מהתיעוד: לשליחת קבצים בלי Marketplace יש עמוד בשם Share a plugin without a marketplace. לפי המדריך של claude.dev, שולחים Plugin עם Mods לספרייה של Claude בכתובת claude.ai/directory/manage. את הכתובת הזו לא הצלחנו לפתוח, כי הדף חוסם גישה אוטומטית.
Marketplace בפשטות: לפי המדריך של claude.dev, Marketplace יכול להיות תיקייה עם קובץ .claude-plugin/marketplace.json. הנה הקובץ מהמדריך, לקריאה בלבד:
{
"name": "my-mods",
"owner": { "name": "You" },
"plugins": [{ "name": "token-weather", "source": "./token-weather" }]
}- "name": "my-mods"שם ה-Marketplace.
- "owner": { "name": "You" }מי הבעלים של ה-Marketplace.
- "plugins": [{ … }]רשימת ה-Plugins. כל פריט מכיל את השם של ה-Plugin ואת התיקייה שלו (source).
מה עושים כדי שיהיה לכם Marketplace משלכם:
- מתי: כשיש לכם Mod שנבדק ואתם רוצים לשתף אותוהעתקו את הבקשה שמתחת והדביקו אותה בצ'אט של לשונית Code.
- מתי: כש-Claude מסיים ליצור את הקובץפתחו את הקובץ שהוא יצר, או בקשו ממנו להציג אותו, וקראו שהשמות נכונים.
- מתי: כשרוצים להתקין ממנולחצו על + > Plugins > Add plugin ובדקו אם ה-Marketplace החדש מופיע בדפדפן. אם לא, בקשו מ-Claude להוסיף אותו. המקורות מתארים את ההוספה רק בפקודות מסוף
שני כללים מהתיעוד: שם ה-Plugin (name) לא יכול להיראות כמו שם של Anthropic, למשל שם שמתחיל ב-claude-, והבדיקה תיכשל עליו. ואם תיקנתם Mod שכבר מותקן, Claude Code שומר את ההתקנה לפי מספר הגרסה, ולכן צריך להעלות את הגרסה ולהתקין שוב כדי שהשינוי יגיע.
נושא 9
להפעיל, לכבות, לעדכן ולהסיר
ניהול של Mod הוא ניהול של Plugin, והוא נעשה באפליקציה מהכפתור + ליד תיבת הבקשה. כאן כתוב מה לוחצים ומתי, בכל פעולה.
מה נאמר במקורות ומה כללי: האפליקציה מתארת את מסלול הניהול: + > Plugins > Manage plugins, ושם מפעילים, מכבים ומסירים. עדכון באפליקציה לא מתואר שם, ולכן בעדכון אנחנו מבקשים מ-Claude בצ'אט. פעולות שהמקורות לא מראים בלחיצות מסומנות כאן כ«הצעה כללית».
להפעיל Mod שכבוי
- מתי: כשיש Mod מותקן שכבוי ואתם רוצים אותו שובלחצו על + ליד תיבת הבקשה, בחרו Plugins ואז Manage plugins. כתוב במקורות
- מתי: כשמסך הניהול פתוחמצאו את ה-Plugin של ה-Mod והפעילו אותו. את שמות הכפתורים המדויקים במסך המקורות לא מפרטים, ולכן עקבו אחרי האפשרויות שמופיעות שם. פירוט כללי
- מתי: אחרי ההפעלהפתחו שיחה חדשה, או אם השיחה פתוחה הקלידו בתיבת הבקשה /reload-plugins, כדי שהשינוי ייכנס לתוקף.
לכבות Mod
- מתי: כש-Mod מפריע, מאט או שאתם לא סומכים עליולחצו על +, בחרו Plugins ואז Manage plugins, ובחרו לכבות את ה-Plugin של ה-Mod. כיבוי לא מוחק אותו, ואפשר להפעיל אותו שוב. כתוב במקורות
- מתי: לכבות פקודה מובנית שהיא Mod, כמו /diffאותו מסלול. זה כתוב בבלוג.
לכבות את כל ה-Mods: לפי הדף Mods overview, ההגדרה "disableAllHooks": true בקובץ ~/.claude/settings.json מכבה את כולם תמיד. האפליקציה קוראת את אותם קבצי הגדרות. מתי: רק אם משהו לא תקין ואינכם יודעים איזה Mod אשם. ההגדרה עוצרת גם Hooks אחרים שלכם.
לעדכן Mod
- מתי: כשמי שכתב את ה-Mod פרסם גרסה חדשההעתקו את הבקשה שמתחת והדביקו אותה בצ'אט של לשונית Code. הצעה כללית: המקורות לא מתארים כפתור עדכון באפליקציה
- מתי: אחרי שהעדכון הסתייםפתחו שיחה חדשה, או הקלידו /reload-plugins בשיחה פתוחה, כדי לטעון את הגרסה החדשה.
לפי העמוד Install and manage plugins, עדכון אוטומטי פועל כברירת מחדל רק ב-Marketplaces הרשמיים של Anthropic, וכבוי בכל Marketplace אחר. אין פקודה שמעדכנת את כל ה-Plugins בבת אחת. אם אתם בעלי ה-Mod, העלו את מספר הגרסה במניפסט כדי שהעדכון יגיע (נושא 8).
להסיר Mod
- מתי: כשאתם לא צריכים את ה-Mod יותרלחצו על +, בחרו Plugins ואז Manage plugins, ובחרו להסיר (uninstall) את ה-Plugin. כתוב במקורות
- מתי: אם התקנתם אותו בכמה היקפיםהסירו אותו מכל היקף שבו הוא מותקן. היקף (scope) קובע למי ההתקנה חלה: החשבון שלכם, הפרויקט, או רק אצלכם בפרויקט הזה.
- מתי: Mod ש-Claude כתב לכם בשיחה ואתם לא רוצים שייטען שובמוחקים את התיקייה שלו. בקשו מ-Claude להראות לכם איפה היא ולמחוק אותה רק אחרי שאישרתם. הכלל כתוב בתיעוד, הבקשה היא הצעה
| מקור | מה כתוב |
|---|---|
| ארבעת המקורות | הבלוג: מתקינים Plugins שכוללים Mods מהספרייה של Claude, ו-Mod משותף כמו כל Plugin. הבלוג כותב גם שהפקודה המובנית /diff היא Mod שאפשר לכבות. |
| ארבעת המקורות | הבלוג והתיעוד: Mods פועלים בלשונית Code של אפליקציית שולחן העבודה וגם בגרסת המסוף. |
| ארבעת המקורות | התיעוד Create a mod: Mod ש-Claude כתב אפשר לראות ולכבות במסך ניהול ה-Plugins. כדי שלא ייטען לעולם, מוחקים את התיקייה שלו. |
| ארבעת המקורות | התיעוד: כדי לעדכן Mod מותקן מעלים את הגרסה במניפסט ומתקינים שוב. ההגדרה disableAllHooks מכבה Mods. |
| עמוד מקושר | Install plugins in the desktop app: + ליד תיבת הבקשה, אז Plugins, אז Add plugin לדפדפן, ו-Manage plugins להפעלה, כיבוי והסרה. אפשר לבחור היקף: חשבון, פרויקט או מקומי. |
| עמוד מקושר | אותו עמוד: דפדפן ה-Plugins לא זמין בשיחות ענן, ו-Plugins לא זמינים בשיחות WSL. |
| עמוד מקושר | Install and manage plugins: עדכון אוטומטי פועל כברירת מחדל רק ב-Marketplaces הרשמיים. |
| עמוד מקושר | Mods overview: ציור של חלקי מסך על ידי Mod עובד במסוף ובאפליקציה, חוץ מאלמנטים שמסומנים כ«מסוף בלבד». |
בטיחות ואמון, והתוכנית שלכם להתחיל
Mod הוא קוד שפועל במחשב שלכם עם ההרשאות שלכם. לכן מתקינים רק ממקור שסומכים עליו, יודעים איך לכבות, ומתחילים בצעד קטן.
הרשימה לקוחה מהעמוד הרשמי Mods overview, בפרק «Decide whether to trust a mod» (להחליט אם לסמוך על Mod).
לפעול בשמכם
לחצו להסברלקרוא סודות
לחצו להסברלראות את השיחה
לחצו להסברלשנות את השיחה
לחצו להסברלאשר בלי לשאול
לחצו להסברלהשתמש בחבילה שלכם
לחצו להסברבארגונים (Team ו-Enterprise) יש גם בקרה של מנהל המערכת. כך הבלוג הרשמי מתאר אותה.
מה מתקינים ממי
אתם מחליטים אילו Mods להתקין, ומבקשים מ-Claude לבדוק אותם לפני ההתקנה.
מה מכבים ומתי
Mod אחד ב-Manage plugins, וכולם תמיד עם disableAllHooks.
אילו Marketplaces מותרים
מנהלים מאפשרים או חוסמים Marketplaces בבקרות הקיימות של Plugins: ב-Team וב-Enterprise מקונסולת הניהול, וב-Claude API ובשירותים של צד שלישי דרך הגדרות מנוהלות (managed settings).
Mods של הארגון
מנהלים יכולים לטעון Mods משלהם ראשונים. דוגמאות מהבלוג: חלונית סטטוס של CI/CD, הגנות על סביבת הייצור (אישור לפני פקודות שנוגעות בהגדרות ייצור), ויומן ביקורת (Mod שנטען ראשון ורושם כל קריאה).
הגנה מובנית sec-default
ב-Team וב-Enterprise, ובמכונות עם הגדרות מנוהלות, Mod מובנה בשם sec-default נטען ראשון. הוא מונע מ-Mods שהמשתמש התקין לעשות דברים מסוכנים, כמו לעקוף כללי הרשאה מסוג deny. מנהל שטוען Mods משלו ראשונים צריך להוסיף את sec-default כדי לשמור עליו.
הבהרה על מקורות שאינם מסכימים: המדריך של claude.dev כותב שהמודול פועל בסביבה מבודדת משלו, בלי DOM ובלי Node. הבלוג הרשמי והתיעוד כותבים ש-Mods אינם בסביבה מבודדת. הלומדה פועלת לפי המקורות הרשמיים של Anthropic, ולכן מתייחסים ל-Mod כקוד עם גישה מלאה. ועוד תזכורת: Blast Radius מנושא 4 הוא «רשת ביטחון» ולא מערכת הרשאות, ו-Mod לא יכול לשנות את מה שחלון בקשת ההרשאה מראה לכם.
התוכנית שלכם ל-Mod הראשון
מה עושים עכשיו ואיפה חכם להתחיל. שישה צעדים קצרים, לפי הסדר.- מתי: היום, בתחילת העבודהמתחילים ממקור מהימן. או שמבקשים מ-Claude לכתוב לכם Mod קטן ופשוט (נושא 6), או שמתקינים רק Plugin מאדם או ארגון שאתם מכירים (נושא 5). לא מתחילים מ-Mod אקראי מהאינטרנט.
- מתי: לפני שמתקינים משהוקוראים מה הוא עושה. העתיקו את הבקשה שמתחת לצ'אט בלשונית Code, וקראו את ההסבר ש-Claude נותן.
- מתי: אחרי שההסבר הגיוני לכםמתקינים בהיקף קטן. לחצו על + > Plugins > Add plugin ובחרו local-only, כך שהוא פועל רק אצלכם ובפרויקט הזה.
- מתי: מיד אחרי ההתקנהבודקים שהוא נטען. לחצו על + > Plugins ובדקו שהוא ברשימה.
- מתי: בפעם הראשונה שמשתמשיםמנסים בתיקיית ניסוי. לא בפרויקט חשוב. ראו שהוא עושה מה שהובטח, ושום דבר נוסף.
- מתי: לפני שמסתמכים עליויודעים איך מכבים. לחצו על + > Plugins > Manage plugins ווודאו שאתם רואים איפה מכבים אותו.
מתי להעתיק את הבקשה: בצעד 2, אחרי שיש לכם את התיקייה של ה-Mod על המחשב. אם אין לכם עדיין, בקשו מ-Claude ליצור Mod חדש (נושא 6) וקראו את הקבצים שהוא כותב.
מקורות: הבלוג הרשמי של Anthropic, התיעוד של Claude Code (code.claude.com) והמדריך של claude.dev. האנימציות נוצרו ב-Letsai בצבעי המותג. הלומדה נוצרה ב-Letsai ואינה מוצר רשמי של Anthropic.