Хуки (Hooks)
Детерминированные обработчики событий в Claude Code — гарантированное выполнение, в отличие от промптов
Определение
Хуки — shell-команды или скрипты, привязанные к событиям жизненного цикла Claude Code: до запуска инструмента, после сохранения файла, при завершении сессии. Ключевое отличие от инструкций в промпте: хуки исполняются гарантированно. LLM может проигнорировать правило из CLAUDE.md, посчитав его необязательным — хук проигнорировать нельзя.
Это позволяет добавлять к вероятностному поведению агента детерминированные точки контроля.
Как настроить
Хуки настраиваются в .claude/settings.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "write_to_file",
"command": "npx eslint --fix $FILE"
}
],
"PostSession": [
{
"command": "gh issue comment $ISSUE --body 'Session complete: $SUMMARY'"
}
]
}
}
Примеры рабочих хуков
Фиксация прогресса в GitHub Issues
{
"hooks": {
"PostSession": [
{
"command": "gh issue comment $CURRENT_ISSUE --body \"Итоги сессии: $SESSION_SUMMARY\""
}
]
}
}
Решает проблему потери контекста между сессиями — не нужно помнить писать заметки, хук делает это автоматически.
Линтер после каждого изменения
{
"hooks": {
"PostToolUse": [
{
"matcher": "write_to_file",
"command": "npx eslint --fix $FILE"
}
]
}
}
Проверка безопасности перед коммитом
{
"hooks": {
"PreToolUse": [
{
"matcher": "git_commit",
"command": "git diff --staged | grep -qE '(API_KEY|SECRET|PASSWORD)' && exit 1 || exit 0"
}
]
}
}
CLAUDE.md vs Hooks
| CLAUDE.md | Hooks | |
|---|---|---|
| Исполнение | Вероятностное (LLM решает) | Детерминированное (всегда) |
| Формат | Markdown-инструкции | Shell-команды |
| Контроль | Рекомендации | Гарантии |
| Задачи | Стиль, архитектура, контекст | Тесты, линтинг, фиксация |
| Когда использовать | Предпочтения и правила | Критичные действия |
Правило: то, что должно выполняться всегда — в хуки. То, что может быть гибким — в CLAUDE.md.
В курсе
| Урок | Контекст |
|---|---|
| Урок 3 | Хуки упоминаются как механизм автоматического обновления документации после сессии |
| Урок 4 | Хуки разбираются в блоке про детерминированность: CLAUDE.md задаёт рекомендации, хуки — гарантируют выполнение. Пример: фиксация прогресса в GitHub Issues после каждой сессии |
Ссылки
Связанное
- CLAUDE.md — вероятностные правила (хуки — детерминированные)
- Claude Code — платформа, где работают хуки
- Skills — переиспользуемые промпты (хуки — переиспользуемые команды)
- Compact — хуки решают проблему потери контекста при compact
Связанные страницы
- GitHub CLI (gh)Официальный CLI для GitHub — Issues, PR и репозитории из терминала
- CLAUDE.mdФайл памяти проекта для AI-агента — экономит токены и обеспечивает …
- Context7MCP сервер для подключения актуальной документации библиотек к AI-агенту
- Cursor vs Claude Code vs WindsurfСравнение AI-инструментов для кодинга: IDE, CLI, цены, модели, агентный режим