Hooks для автоматизации
До сих пор каждое командное правило — «запускать линт перед коммитом», «запускать тесты перед push» — зависело от памяти: кто-то должен был помнить запускать его каждый раз, а под давлением это пропускается. В этом уроке мы познакомимся с Hooks: скриптами, которые Claude Code запускает автоматически
В зданиях есть детекторы дыма, которые срабатывают сами в тот момент, когда появляется дым, и никому не нужно помнить проверять их каждое утро. Точно так же можно заранее настроить правило, которое срабатывает само в нужный момент и никогда не зависит от чьей-либо памяти.
- hook
- Скрипт или команда оболочки, которую Claude Code запускает автоматически, когда в его рабочем процессе происходит заранее заданное событие, например PreToolUse или SessionStart, — никогда не завися от памяти пользователя.
- PreToolUse
- Событие hook, которое запускается прямо перед тем, как Claude Code фактически вызывает определённый инструмент (например, Bash). Оно может проверить запрошенное действие и даже заблокировать его до выполнения.
- код выхода 2 (блокировка)
- Когда скрипт hook завершается с кодом 2, Claude Code блокирует действие, которое должно было выполниться, и получает обратно сообщение об ошибке, чтобы исправить проблему и повторить попытку.
- SessionStart
- Событие hook, которое запускается автоматически один раз в начале каждой новой сессии — например, чтобы загрузить статус git или контекст проекта, при этом никому не нужно об этом просить.