→ חזרה למילון המונחים

Hooks (קלוד קוד)
Claude Code Hooks

הגדרה מהירה

מה זה Claude Code Hooks? (TL;DR)

Hooks בקלוד קוד הם פקודות shell שמוגדרות מראש ורצות אוטומטית באירועי מחזור-חיים של הסוכן, כמו לפני קריאה לכלי (PreToolUse) או אחריה (PostToolUse). מגדירים אותם ב-settings.json, והם מאפשרים אכיפה דטרמיניסטית של פורמט, tests וחסימת פקודות מסוכנות - במקום לקוות שה-AI יזכור בעצמו.

Optimized for AI Extraction
Source: VibeScale Engineering Hub

ידוע גם בכתיבים: 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 האקדמי שלנו בקליק.

APA 7
VibeScale Team. (2026). Hooks (קלוד קוד) (Claude Code Hooks). VibeScale. https://vibe.elya-studio.com/glossary/claude-code-hooks
BibTeX
@misc{vibescale2026hooksclaudecodehooks, author = {VibeScale Team}, title = {Hooks (קלוד קוד) (Claude Code Hooks)}, year = {2026}, publisher = {VibeScale}, url = {https://vibe.elya-studio.com/glossary/claude-code-hooks}, urldate = {2026-08-12} }
קישור
Hooks (קלוד קוד) (Claude Code Hooks) - VibeScale https://vibe.elya-studio.com/glossary/claude-code-hooks

מונחים קשורים

שאלות נפוצות על 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