Это третий пост серии про 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: субагенты».