Это третий пост серии про Claude Code. В первой части мы установили инструмент, во второй разобрали рабочий цикл. Теперь поднимаемся на ступеньку выше: учимся автоматизировать рутину с помощью хуков.
Тема звучит технически, но идея за ней простая. Разберём по порядку.
Проблема, которую решают хуки
Представьте: вы попросили Claude Code всегда проверять код после изменений. Или никогда не трогать файл с настройками. Вы написали это в CLAUDE.md, инструмент кивнул.
И большую часть времени он действительно слушается. Но CLAUDE.md — это, по сути, вежливая просьба. ИИ может про неё забыть, особенно когда контекст заполнен, а задача длинная. «Скорее всего, сделает» — это не «сделает гарантированно».
А иногда нужна именно гарантия. Чтобы проверка запускалась всегда. Чтобы опасную команду блокировало без вариантов. Вот для таких случаев и существуют хуки.
Что такое хуки
Хук (hook) — это ваше правило, которое Claude Code выполняет автоматически в определённый момент работы. Не «когда вспомнит», а всегда, когда наступает заданное условие.
Ключевое отличие от записи в CLAUDE.md: хук не зависит от того, что ИИ «решит». Запись в CLAUDE.md — это просьба. Хук — это правило, которое срабатывает само, на уровне системы. Если вы попросили Claude Code не трогать файл с паролями, он, скорее всего, послушается. Если вы поставили хук, который блокирует запись в этот файл, он заблокирует её всегда.
Хуки запускают обычные команды на вашем компьютере в нужные моменты сессии Claude Code.
Из чего состоит хук
У каждого хука три части. Понять их — значит понять хуки целиком.
Событие — момент, когда хук срабатывает. У сессии Claude Code есть свои контрольные точки, например: начало сессии, момент перед запуском какого-либо инструмента, момент сразу после, момент, когда Claude Code заканчивает работу. На любую из этих точек можно «повесить» своё действие.
Фильтр — уточнение, когда именно реагировать. Событие «перед запуском инструмента» наступает часто. Фильтр позволяет сузить: например, реагировать только на запись в файлы, а не на любое действие.
Обработчик — то, что собственно выполняется. Чаще всего это обычная команда (например, запуск форматирования кода). Есть и более сложные варианты обработчиков, но для старта хватит команд.
Складывается простая схема: наступило событие, сработал фильтр, выполнилась команда.
Одно важное уточнение про события: только событие «перед запуском инструмента» умеет блокировать действие. Все остальные могут что-то делать в ответ, но не отменяют само действие. Поэтому всё, что про защиту и запреты, вешают именно на эту точку.
Как настроить хук
Лезть руками в файлы настроек новичку не нужно. В Claude Code есть команда /hooks — наберите её прямо в окне инструмента. Откроется пошаговый помощник: он спросит, на какое событие реагировать, какой поставить фильтр и какую команду выполнять. Вы отвечаете на вопросы, хук готов.
Технически хуки хранятся в файле настроек проекта (.claude/settings.json) в формате JSON. Знать это полезно, но настраивать удобнее через /hooks.
Три полезных хука для начала
Чтобы это не было абстракцией — вот хуки, с которых есть смысл начать.
Автоформатирование после правок. Вешается на событие «после запуска инструмента» с фильтром на запись и редактирование файлов. Каждый раз, когда Claude Code меняет файл, автоматически запускается приведение кода к аккуратному виду. Мелочь, но экономит внимание.
Блокировка опасных команд. Вешается на событие «перед запуском инструмента» — то самое, единственное, что умеет блокировать. Хук проверяет команду и не даёт выполнить то, что может навредить, например удаление важных файлов. Это страховка от случайностей.
Уведомление о завершении. Вешается на событие окончания работы. Claude Code закончил задачу — вы получаете уведомление на рабочий стол. Удобно, когда задача долгая и вы переключились на другое.
Не нужно настраивать всё сразу. Добавьте один хук, проверьте, что он работает, потом следующий.
Важно про безопасность
Один момент, который нельзя пропускать. Хуки выполняют команды с вашими полными правами, без какой-либо песочницы или ограничений. Неаккуратно написанный хук может удалить файлы или сделать что-то ещё нежелательное.
Отсюда простое правило: вставляйте в хуки только те команды, которые понимаете. Не копируйте наугад сложные скрипты из интернета, если не разобрались, что они делают. Хуки — мощный инструмент, и относиться к ним стоит с уважением.
Что дальше
Хуки — это про то, чтобы нужные действия выполнялись автоматически и гарантированно. Начните с автоформатирования: это самый безопасный и наглядный хук.
В следующем посте разберём субагентов — способ поручать отдельные задачи специализированным помощникам и не засорять при этом основную сессию.
Следующий пост серии: «Claude Code на русском. Часть 4: субагенты».