Начало работы с хуками Claude Code
Узнайте, как настраивать и расширять поведение Claude Code, регистрируя команды оболочки
Хуки Claude Code — это определяемые пользователем команды оболочки, которые выполняются в различных точках жизненного цикла Claude Code. Хуки обеспечивают детерминированный контроль над поведением Claude Code, гарантируя, что определенные действия всегда происходят, а не полагаясь на LLM для выбора их выполнения.
Для справочной документации по хукам см. Справочник по хукам.
Примеры случаев использования хуков включают:
- Уведомления: Настройте способ получения уведомлений, когда Claude Code ожидает ваш ввод или разрешение на выполнение чего-либо.
- Автоматическое форматирование: Запускайте
prettier
для .ts файлов,gofmt
для .go файлов, и т.д. после каждого редактирования файла. - Логирование: Отслеживайте и подсчитывайте все выполненные команды для соответствия требованиям или отладки.
- Обратная связь: Предоставляйте автоматическую обратную связь, когда Claude Code создает код, который не соответствует соглашениям вашей кодовой базы.
- Пользовательские разрешения: Блокируйте изменения в производственных файлах или чувствительных каталогах.
Кодируя эти правила как хуки, а не инструкции в промптах, вы превращаете предложения в код уровня приложения, который выполняется каждый раз, когда ожидается его запуск.
Вы должны учитывать последствия хуков для безопасности при их добавлении, поскольку хуки запускаются автоматически во время цикла агента с учетными данными вашей текущей среды. Например, вредоносный код хуков может похитить ваши данные. Всегда проверяйте реализацию ваших хуков перед их регистрацией.
Для полных рекомендаций по безопасности см. Соображения безопасности в справочной документации по хукам.
Обзор событий хуков
Claude Code предоставляет несколько событий хуков, которые запускаются в разных точках рабочего процесса:
- PreToolUse: Запускается перед вызовами инструментов (может их блокировать)
- PostToolUse: Запускается после завершения вызовов инструментов
- Notification: Запускается, когда Claude Code отправляет уведомления
- Stop: Запускается, когда Claude Code завершает ответ
- SubagentStop: Запускается, когда завершаются задачи субагента
Каждое событие получает разные данные и может контролировать поведение Claude разными способами.
Быстрый старт
В этом быстром старте вы добавите хук, который логирует команды оболочки, которые выполняет Claude Code.
Предварительные требования
Установите jq
для обработки JSON в командной строке.
Шаг 1: Откройте конфигурацию хуков
Выполните слэш-команду /hooks
и выберите
событие хука PreToolUse
.
Хуки PreToolUse
запускаются перед вызовами инструментов и могут их блокировать, предоставляя
Claude обратную связь о том, что делать по-другому.
Шаг 2: Добавьте сопоставитель
Выберите + Add new matcher…
, чтобы запускать ваш хук только для вызовов инструмента Bash.
Введите Bash
для сопоставителя.
Используйте пустую строку ""
для сопоставления всех инструментов. Символ *
не является допустимым сопоставителем сам по себе.
Шаг 3: Добавьте хук
Выберите + Add new hook…
и введите эту команду:
Шаг 4: Сохраните вашу конфигурацию
Для места хранения выберите User settings
, поскольку вы логируете в ваш домашний
каталог. Этот хук будет применяться ко всем проектам, а не только к вашему текущему
проекту.
Затем нажмите Esc, пока не вернетесь в REPL. Ваш хук теперь зарегистрирован!
Шаг 5: Проверьте ваш хук
Выполните /hooks
снова или проверьте ~/.claude/settings.json
, чтобы увидеть вашу конфигурацию:
Шаг 6: Протестируйте ваш хук
Попросите Claude выполнить простую команду, например ls
, и проверьте ваш файл журнала:
Вы должны увидеть записи вроде:
Больше примеров
Для полного примера реализации см. пример валидатора команд bash в нашей публичной кодовой базе.
Хук форматирования кода
Автоматически форматируйте файлы TypeScript после редактирования:
Хук пользовательских уведомлений
Получайте уведомления на рабочем столе, когда Claude нужен ввод:
Хук защиты файлов
Блокируйте редактирование чувствительных файлов:
Узнать больше
- Для справочной документации по хукам см. Справочник по хукам.
- Для комплексных рекомендаций по безопасности и руководящих принципов безопасности см. Соображения безопасности в справочной документации по хукам.
- Для шагов по устранению неполадок и техник отладки см. Отладка в справочной документации по хукам.