Что это
Хук - скрипт, привязанный к событию в работе Claude Code. Агент собрался выполнить команду, поправил файл, закончил работу или ждёт ответа: на каждое такое событие можно повесить свою команду. Прописывается она в .claude/settings.json. Запускает её сама программа, и забыть про хук агент не может.
Зачем
CLAUDE.md агент читает и старается выполнить, но к концу длинной сессии правило может вылететь из головы. Поэтому всё, что должно срабатывать без исключений, я выношу в хук: защиту файла с ключами, проверку сборки после правки, стоп на опасной команде. Хук вернул отказ - действие не выполнится.
Как это выглядит на практике
Первый хук в любом моём проекте - звук. Агент закончил или просит разрешения, компьютер пищит, и я не сижу у экрана. Второй - замок на .env, файл с ключами. Хук останавливает агента, когда тот тянется этот файл прочитать или поправить.
Хуки приезжают и вместе с чужим проектом. Скачал незнакомый репозиторий? Сначала попроси агента показать, какие хуки там настроены.