Как заставить Claude Code проверять себя до действия: hooks как стоп-точки
SEO title: Claude Code hooks в 2026: как добавить агенту автоматические проверки до действия
Meta description: Что такое Claude Code hooks простыми словами: события, matchers, скрипты, проверки перед действием, автоформатирование, тесты и риски shell-команд.
У агента может быть хорошая инструкция, но инструкция не всегда равна действию. В длинной работе модель может забыть, что перед правкой надо выбрать навык, перед публикацией проверить файл, а после изменения кода запустить тест. В таких местах полезно не просить агента помнить, а поставить автоматическую стоп-точку.
В Claude Code эту роль выполняют hooks: пользовательские команды, HTTP-обработчики или prompt-проверки, которые запускаются в определенные моменты жизненного цикла. Практически это означает: перед вызовом инструмента, после правки файла или при отправке запроса можно добавить проверку, которая остановит опасное действие или вернет агенту дополнительный контекст.
## Что здесь меняется
Официальная документация Claude Code описывает hooks как механизм для событий с JSON-контекстом: например, перед вызовом инструмента, после вызова инструмента, в начале сессии или перед завершением хода. В блоге Claude отдельно показано, что hooks живут в JSON settings на уровне пользователя, проекта или локального проекта, а matchers позволяют запускать их только для нужных инструментов.
## Как это переводится в рабочий прием
Для практической работы это меняет подход к агентам. Вместо бесконечного файла с просьбами «не забудь проверить» можно вынести одну повторяемую проверку в исполняемое правило. Например: после Write/Edit запускать форматирование, перед Bash с опасным шаблоном останавливать команду, перед началом задачи подсказывать агенту выбрать нужные навыки, а после изменений запускать тесты.
| Что решить | Как думать | Что проверить |
|---|---|---|
| --- | --- | --- |
| Что болит | агент забывает повторяемое правило в длинной задаче | можно ли правило проверить программно |
| Куда поставить проверку | до инструмента, после инструмента, при старте или перед финалом | не будет ли проверка мешать обычной работе |
| Что запускать | маленький скрипт, форматтер, тест, валидатор или prompt-проверку | видит ли агент ясную причину остановки |
| Где риск | hooks могут выполнять shell-команды и читать окружение | нет ли доступа к секретам и разрушительным действиям |
## Как собрать навык
Рабочий прием: выбрать одну проверку, которая чаще всего ломается в реальной работе, и вынести ее в hook. Не надо сразу строить сложную систему. Начните с малого: форматирование после правки, запрет опасной команды, проверка наличия нужного навыка, запуск теста после изменения файла.
Rich block render error: expected '<document start>', but found '<block sequence start>'
in "<unicode string>", line 4, column 3:
- "Что подать на вход: список по ...
^
title: Рабочая карточка
steps:
- "Когда использовать: когда агент регулярно забывает важное правило или делает действие без проверки."
- "Что подать на вход: список повторяемых ошибок и одно правило, которое можно проверить автоматически."
- "Что сделать по шагам: выбрать событие, написать маленький handler, задать matcher, проверить на тестовой задаче."
- "Какой результат получить: агент получает остановку или подсказку в нужный момент, а не постфактум."
- "Как проверить качество: правило должно срабатывать только там, где оно действительно нужно."
- "Когда не использовать: если проверка неформализуема или создает больше шума, чем пользы."
- "Какой навык собрать: превращение редакционных и инженерных правил в автоматические проверки агента."## Где граница
Hooks нужно проектировать осторожно. Они могут запускать команды, а команды могут читать файлы, окружение и секреты. Поэтому для рабочего проекта нужны короткие скрипты, понятные права, логика fail-safe для рискованных действий и отдельная проверка, что hook не раскрывает лишние данные в выводе.
Rich block render error: mapping values are not allowed here
in "<unicode string>", line 2, column 80:
... ее. Он делает процесс устойчивее: важная проверка случается в пр ...
^
label: Редакционный вывод
body: Хороший hook не делает агента умнее. Он делает процесс устойчивее: важная проверка случается в правильный момент, даже если агент занят длинной цепочкой действий.## Что сделать сегодня
Выберите одну фразу из вашего рабочего правила, которая часто повторяется в инструкциях агенту. Переведите ее в вопрос: «можно ли это проверить автоматически?». Если да, это кандидат на первый hook.
Rich block render error: expected '<document start>', but found '<block mapping start>'
in "<unicode string>", line 4, column 5:
url: "https://onff.ru/claude-cod ...
^
title: Связанные материалы ONFF
links:
- title: "Claude Code для начинающих: Skills и MCP"
url: "https://onff.ru/claude-code-dlya-nachinayushchih-skills-mcp/"
- title: "Как вести память ИИ-проекта"
url: "https://onff.ru/kak-vesti-pamyat-ii-proekta-claude-sessions-2026/"## Источники