Hooki — automatyczne reakcje na zdarzenia
/hooks otwiera przeglądarkę skonfigurowanych hooków, która służy do ich podglądu, a nie edycji. Przy każdym hooku zobaczysz informację o jego źródle, na przykład ustawieniach użytkownika lub projektu, wtyczce albo bieżącej sesji. Po wybraniu hooka możesz sprawdzić pełny tekst uruchamianej czynności i miejsce jej definicji.
Lista hooków pozwala przejść od ogólnego przeglądu do konkretnej konfiguracji: wybierz pozycję, aby zobaczyć jej działanie i lokalizację. Aby sprawdzić również zdarzenia, dla których nie skonfigurowano żadnego hooka, wybierz All events na końcu listy. Sam hook reaguje na zdarzenie, a matcher może ograniczyć, które wywołania uruchomią daną grupę.
Przykład działania zaczyna się od zdarzenia PreToolUse, które przekazuje wejście narzędzia do hooka jako JSON na standardowe wejście. Matcher Bash aktywuje grupę dla wywołań tego narzędzia, a opcjonalne pole if może zawęzić uruchomienie handlera do pasujących poleceń. Hook może zwrócić decyzję deny, która blokuje wywołanie; jeśli skrypt zakończy się kodem zero bez wyniku, decyzja przechodzi zwykłym torem uprawnień.
W przypadku hooka uruchamiającego proces w tle decyzja odmowna wypisana dopiero po zakończeniu odczytu wyjścia przez Claude Code nie zablokuje wywołania. Jeśli błąd lub przekroczenie czasu hooka ma blokować działanie, dla hooka command albo http można ustawić onFailure na block; ta możliwość wymaga Claude Code v2.1.295 lub nowszego. Ustawienie to nie wpływa na hooki Stop, SubagentStop, TaskCompleted i TeammateIdle ani na hooki poleceń działające w tle.
/hooks
Zastosowanie w praktyce
Gdy chcesz ustalić, skąd pochodzi aktywny hook, otwórz /hooks i sprawdź etykietę źródła, taką jak ustawienia projektu, wtyczka lub bieżąca sesja. Gdy sprawdzasz konkretną reakcję, wybierz hook i obejrzyj pełny tekst tego, co uruchamia, oraz miejsce jego definicji. Przy diagnozowaniu brakującej reakcji sprawdź All events, żeby zobaczyć także zdarzenia bez skonfigurowanych hooków. Dla kontroli destrukcyjnych poleceń można skonfigurować hook PreToolUse, który zawęża dopasowanie do Bash i odmawia wywołania zawierającego rm -rf.
/hooks jako narzędzie do inspekcji: otwiera przeglądarkę tylko do odczytu, a pełne All events obejmuje także zdarzenia bez skonfigurowanych hooków.