Хуки (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.mdHooks
ИсполнениеВероятностное (LLM решает)Детерминированное (всегда)
ФорматMarkdown-инструкцииShell-команды
КонтрольРекомендацииГарантии
ЗадачиСтиль, архитектура, контекстТесты, линтинг, фиксация
Когда использоватьПредпочтения и правилаКритичные действия

Правило: то, что должно выполняться всегда — в хуки. То, что может быть гибким — в CLAUDE.md.

В курсе

УрокКонтекст
Урок 3Хуки упоминаются как механизм автоматического обновления документации после сессии
Урок 4Хуки разбираются в блоке про детерминированность: CLAUDE.md задаёт рекомендации, хуки — гарантируют выполнение. Пример: фиксация прогресса в GitHub Issues после каждой сессии

Ссылки

Связанное

  • CLAUDE.md — вероятностные правила (хуки — детерминированные)
  • Claude Code — платформа, где работают хуки
  • Skills — переиспользуемые промпты (хуки — переиспользуемые команды)
  • Compact — хуки решают проблему потери контекста при compact
Редактировать на GitHub →