Hooks (קלוד קוד)Claude Code Hooks
הגדרה מהירה
מה זה Claude Code Hooks? (TL;DR)
Hooks בקלוד קוד הם פקודות shell שמוגדרות מראש ורצות אוטומטית באירועי מחזור-חיים של הסוכן, כמו לפני קריאה לכלי (PreToolUse) או אחריה (PostToolUse). מגדירים אותם ב-settings.json, והם מאפשרים אכיפה דטרמיניסטית של פורמט, tests וחסימת פקודות מסוכנות - במקום לקוות שה-AI יזכור בעצמו.
ידוע גם בכתיבים: hooks קלוד קוד · קלוד קוד hooks · hooks claude code · claude code hooks · hooks בקלוד קוד · PreToolUse · PostToolUse · settings.json hooks · hooks ב-settings.json · אוטומציה בקלוד קוד · אוטומטיזציה קלוד קוד · לחסום פקודות בקלוד קוד · hook קלוד קוד מדריך · auto format claude code
עיקרי המונח (Key Takeaways)
- ▸Hooks = פקודות shell שרצות אוטומטית באירועי מחזור-חיים של Claude Code, לא בהסתמכות על ה-AI שיזכור.
- ▸האירועים הנפוצים: <code>PreToolUse</code>, <code>PostToolUse</code>, <code>UserPromptSubmit</code>, <code>Stop</code>, <code>SessionStart</code>, <code>PreCompact</code>.
- ▸מוגדרים ב-<code>.claude/settings.json</code> (פרויקט, משותף ב-git) או <code>~/.claude/settings.json</code> (אישי).
- ▸hook מסוג <code>PreToolUse</code> יכול לחסום קריאה לכלי - exit code 2 מבטל את הפעולה לפני שהיא קורית.
- ▸שימושים עיקריים: auto-format על כל עריכה, הרצת tests אחרי שינוי, חסימת פקודות מסוכנות, והזרקת context.
- ▸Hooks הם אוטומציה דטרמיניסטית - הם רצים תמיד, בניגוד להוראה ב-<a href="/glossary/claude-md-file">CLAUDE.md</a> שה-AI עשוי להתעלם ממנה.
Hooks (קלוד קוד) הם פקודות shell מוגדרות-משתמש שרצות אוטומטית בנקודות מוגדרות במחזור-החיים של Claude Code. במקום לקוות שהסוכן יזכור להריץ prettier או לא למחוק קבצים, ה-hook רץ תמיד, באופן דטרמיניסטי, ומחזיר שליטה הנדסית על ההתנהגות של ה-AI.
מה זה Hooks ולמה הם קריטיים לפרודקשן?
Hooks הם ההבדל בין סוכן AI שמקווים שיתנהג יפה לבין סוכן שמאולץ להתנהג יפה. הוראה ב-CLAUDE.md היא בקשה שה-AI עשוי לפספס תחת עומס context. hook, לעומת זאת, הוא קוד shell שהמערכת מריצה בעצמה - הוא לא כפוף לשיקול הדעת של המודל. זה הופך אותם לשכבת ה-guardrails הדטרמיניסטית של הסוכן.
אירועי מחזור-החיים (Lifecycle Events)
PreToolUse: רץ לפני שהסוכן מפעיל כלי (כמו Bash או Edit). היחיד שיכול לחסום את הפעולה.PostToolUse: רץ אחרי שכלי הסתיים בהצלחה. אידיאלי ל-auto-format ו-tests.UserPromptSubmit: רץ כשמשתמש שולח prompt, ומאפשר להזריק context רלוונטי.Stopו-SubagentStop: רצים כשהסוכן (או תת-סוכן) מסיים את התגובה.SessionStartו-PreCompact: בתחילת session ולפני דחיסת ה-context window.
הגדרה ב-settings.json - דוגמה אמיתית
Hooks מוגדרים ב-.claude/settings.json ברמת הפרויקט (משותף לצוות דרך git) או ב-~/.claude/settings.json ברמת המשתמש. ה-matcher קובע על אילו כלים ה-hook יחול. הדוגמה הבאה מריצה prettier אוטומטית אחרי כל עריכת קובץ:
{ "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "prettier --write \"$CLAUDE_FILE_PATHS\"" } ] } ] } }
ל-guardrail שחוסם פקודות מסוכנות משתמשים ב-PreToolUse עם matcher: "Bash": הסקריפט בודק את הפקודה שהסוכן עומד להריץ, ואם הוא מזהה תבנית מסוכנת (למשל rm -rf או git push --force) הוא יוצא עם exit code 2 - וזה מבטל את הקריאה לכלי לפני שהיא בכלל קורית. exit code 0 מאשר את הפעולה, וכל קוד אחר (שאינו 2) מדווח שגיאה בלי לחסום.
שימושים נפוצים בפועל
- Auto-format: prettier / eslint --fix / gofmt על כל קובץ שנערך.
- אכיפת tests: הרצת
npm testאחרי שינוי קוד, כדי לתפוס רגרסיות מיד. - חסימת סכנות: מניעת
rm -rf, force push, או מחיקת migration files. - הזרקת context: הוספת סטטוס git או משתני סביבה אוטומטית ל-prompt.
איך VibeScale משתמשת בזה?
כשאנחנו מטמיעים Claude Code אצל לקוח, אנחנו לא מסתפקים בהוראות ב-CLAUDE.md. אנחנו מגדירים שכבת hooks ב-settings.json שמאלצת פורמט, מריצה tests אחרי כל שינוי, וחוסמת פקודות הרסניות ב-PreToolUse - כדי שהסוכן פשוט לא יוכל לשבור את הפרויקט. זו אותה גישת guardrails שאנחנו מיישמים גם עם Subagents. hooks, slash commands, skills ו-MCP servers אפשר לארוז יחד ב-plugin אחד ולהפיץ לכל הצוות בהתקנה אחת.
Hooks הם הדרך להפוך את Claude Code מכלי מרשים לכלי שבטוח להריץ על codebase אמיתי בפרודקשן. אם נתקלתם בשגיאות בהגדרה, ראו את מדריך התקלות הנפוצות ב-Claude Code.
רוצים guardrails הנדסיים סביב ה-AI שלכם? →ציטוט
השתמשתם בדף הזה? תנו קרדיט.
עתונאים, חוקרים וצוותי AI - בחרו פורמט להעתקה. ה-citation האקדמי שלנו בקליק.
מונחים קשורים
Claude Code (קלוד קוד)
Claude Code הוא ה-CLI של Anthropic לפיתוח אוטונומי עם AI. סטנדרט 2026 לעבודות planning + refactoring + MCP integrations.
Skills (קלוד קוד)
Skills הן חבילות הוראות רב-פעמיות ל-Claude Code: תיקייה עם קובץ SKILL.md (frontmatter + הנחיות) שהסוכן טוען אוטומטית כשהמשימה תואמת ל-description.
Plugins (קלוד קוד)
Plugins הם חבילות הפצה של Claude Code שאורזות יחד slash commands, subagents, skills, hooks ו-MCP servers, מוגדרות ב-plugin.json ומותקנות ממרקטפלייס - התקנה אחת שמסנכרנת setup שלם לכל הצוות.
פקודות Slash (קלוד קוד)
פקודות Slash הן prompts שמורים כקבצי markdown ב-.claude/commands, שנקראים ב-/name ותומכים ב-$ARGUMENTS, frontmatter, הרצת bash עם ! וצירוף קבצים עם @.
שימוש מחשב מבוסס AI (Claude)
יכולת אלגוריתמית המאפשרת לסוכן Claude 3.5 לקרוא את המסך ולהקליד טקסט דרך Terminal / עכבר המחשב.
קובץ CLAUDE.md
מקבילה של .cursorrules ל-Claude Code - הוראות פרויקט שנטענות אוטומטית בכל session.
שאלות נפוצות על Hooks (קלוד קוד)
מה ההבדל בין Hooks לבין הוראות ב-CLAUDE.md?+
הוראה ב-<a href="/glossary/claude-md-file">CLAUDE.md</a> היא בקשה שה-AI מנסה לכבד אבל עשוי לפספס תחת עומס context. hook הוא פקודת shell שהמערכת מריצה בעצמה, תמיד, ללא תלות בשיקול הדעת של המודל. לכן ל-guardrails קריטיים (כמו חסימת <code>rm -rf</code> או אכיפת format) תמיד עדיף hook על הוראה טקסטואלית.
איך hook יכול לחסום פעולה של Claude Code?+
רק hook מסוג <code>PreToolUse</code> יכול לחסום. הוא רץ לפני שהסוכן מפעיל את הכלי, בודק את הפרמטרים (למשל את פקודת ה-Bash שעומדת לרוץ), ואם הוא יוצא עם <strong>exit code 2</strong> הקריאה לכלי מבוטלת ולא מתבצעת כלל. exit code 0 מאשר את הפעולה, וכל קוד אחר (שאינו 2) מדווח שגיאה למשתמש בלי לחסום.
איפה מגדירים Hooks?+
בקובץ <code>settings.json</code>. ברמת הפרויקט: <code>.claude/settings.json</code> - מומלץ לשתף אותו ב-git כדי שכל הצוות יקבל את אותם guardrails. ברמת המשתמש: <code>~/.claude/settings.json</code> - להעדפות אישיות שחלות על כל הפרויקטים. כל hook מוגדר לפי אירוע מחזור-חיים ו-<code>matcher</code> שקובע על אילו כלים הוא חל.
מהם השימושים הנפוצים ביותר ל-Hooks?+
ארבעה עיקריים: (1) auto-format - הרצת prettier או eslint --fix אחרי כל עריכה ב-<code>PostToolUse</code>; (2) אכיפת tests - הרצת <code>npm test</code> אחרי שינוי קוד; (3) guardrails - חסימת פקודות מסוכנות ב-<code>PreToolUse</code>; (4) הזרקת context - הוספת מידע רלוונטי ל-prompt ב-<code>UserPromptSubmit</code>. כולם אוטומטיים ודטרמיניסטיים.
האם אפשר להפיץ Hooks לכל הצוות?+
כן, בשתי דרכים. הפשוטה: לשמור את <code>.claude/settings.json</code> ב-git, וכך כל מי שמושך את הריפו מקבל את ה-hooks. המקיפה: לארוז את ה-hooks יחד עם <a href="/glossary/claude-code-slash-commands">slash commands</a>, <a href="/glossary/claude-code-skills">skills</a> ו-<a href="/glossary/mcp-servers">MCP servers</a> בתוך <a href="/glossary/claude-code-plugins">plugin</a> אחד, ולהתקין אותו בכל הצוות בפקודה אחת.
מדברים בוואטסאפ, לא בטפסים
תארו בשתי שורות מה שבור או מה החלום. ההודעה נפתחת אצלכם מוכנה — אתם רק לוחצים שלח.
מעדיפים להתקשר? 054-211-8143