Słownik Claude Code
Hooks
Haki to zdefiniowane przez użytkownika komendy lub punkty końcowe, które uruchamiają się automatycznie w określonych momentach cyklu życia Claude Code.
Nazywane również: claude code hooks, PreToolUse, PostToolUse, hook events
Haki to zdefiniowane przez użytkownika komendy powłoki, punkty końcowe HTTP lub prompty LLM, które wykonują się automatycznie w określonych momentach cyklu życia Claude Code. Kluczowa różnica polega na tym, że podczas gdy instrukcje CLAUDE.md są kontekstowe i mogą być ignorowane, haki to kod, który wykonuje się niezależnie od decyzji Claude. Jeśli akcja musi nastąpić w stałym punkcie — przed każdym commitem, po każdej edycji pliku — powinna być zaimplementowana jako hak.
Zweryfikowane nazwy zdarzeń obejmują: SessionStart, SessionEnd, Setup, UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, PreToolUse, PostToolUse, PostToolUseFailure, PostToolBatch, PermissionRequest, PermissionDenied, PreCompact, PostCompact, Notification, SubagentStart, SubagentStop, InstructionsLoaded i FileChanged.
Konfiguracja przebiega według trójpoziomowej struktury: wybierz zdarzenie haka, dodaj grupę matcher, aby filtrować, kiedy się uruchamia (np. 'Bash'), i zdefiniuj handlers. Handlery mogą być typu command, http, mcp_tool, prompt lub agent. Zweryfikowane lokalizacje konfiguracji obejmują ~/.claude/settings.json (globalnie), .claude/settings.json (specyficzne dla projektu), .claude/settings.local.json (specyficzne dla projektu i ignorowane przez git), hooks/hooks.json wtyczki oraz frontmatter umiejętności lub agenta (ograniczone do czasu aktywnego działania komponentu).
Semantyka kodu wyjścia jest kluczowa: kod wyjścia 0 oznacza sukces, pozwalając Claude Code na parsowanie wyjścia JSON dla kolejnych decyzji. Kod wyjścia 2 oznacza błąd blokujący, zapobiegając wywołaniu narzędzia i wyświetlając stderr dla Claude. Inne niezerowe kody wyjścia są traktowane jako błędy nieblokujące.
Co kluczowe, hak PreToolUse może zwrócić permissionDecision o wartości deny, aby zapobiec wykonaniu wywołania narzędzia. Stanowi to potężny mechanizm wymuszania ograniczeń lub walidacji warunków przed podjęciem działań. Do zarządzania hakami, umiejętność Hooks Management może tłumaczyć język naturalny na zweryfikowane konfiguracje, a umiejętność Debug Hooks oferuje przepływ pracy do rozwiązywania problemów.