Skip to content
Apothem
Exemplos

Hook mínimo

Exemplo de hook mínimo do Apothem — dispara uma verificação em cada escrita de arquivo.

Este exemplo mostra o menor hook do Apothem possível: um hook PreToolUse que dispara antes de cada chamada da ferramenta Write e registra o caminho de destino.

Script do hook

# 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

Registro em settings.json

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

Testando o hook

Faça qualquer escrita de arquivo no Claude Code e observe a saída de stderr no painel de rastreamento do hook.

Bloqueando escritas

Para bloquear uma gravação, imprima o envelope de negação no stdout e, mesmo assim, saia com 0, como fazem os próprios hooks do Apothem:

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

On this page