Skip to content
Apothem
Примеры

Минимальный хук

Пример минимального хука Apothem — запуск проверки при каждой записи файла.

Этот пример показывает минимально возможный хук Apothem: хук PreToolUse, который срабатывает перед каждым вызовом инструмента Write и логирует целевой путь.

Скрипт хука

# src/apothem/hooks/log_writes.py
import json, sys

data = json.load(sys.stdin)
path = data.get("tool_input", {}).get("file_path", "unknown")
print(f"[apothem] Writing to: {path}", file=sys.stderr)
sys.exit(0)  # always exit 0; block with the deny envelope below

Регистрация в settings.json

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "python src/apothem/hooks/log_writes.py"
          }
        ]
      }
    ]
  }
}

Тестирование хука

Выполните любую запись файла в Claude Code и понаблюдайте за выводом stderr в панели трассировки хука.

Блокировка записей

Чтобы заблокировать запись, выведите конверт отказа в stdout и всё равно завершитесь с кодом 0, как это делают собственные хуки Apothem:

print(json.dumps({"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "blocked by log_writes"}}))
sys.exit(0)

On this page