🔗 O que sao Hooks
Hooks sao scripts que executam automaticamente em eventos especificos do Claude Code, permitindo automacao e integracao com outros sistemas.
Tipos de Eventos
- PreToolUse: Antes de uma tool ser executada
- PostToolUse: Apos uma tool ser executada
- Notification: Em eventos de notificacao
- Stop: Quando a sessao para
⬅️ Pre-Hooks
Pre-hooks executam ANTES de uma tool, permitindo validacao, modificacao ou bloqueio da acao.
Exemplo: Bloquear Comandos Perigosos
// Pre-hook que valida comandos Bash
{
"hooks": [{
"event": "PreToolUse",
"matcher": { "tool": "Bash" },
"command": ["node", "hooks/validate-command.js"]
}]
}
Permite execucao
Altera parametros
Impede execucao
➡️ Post-Hooks
Post-hooks executam DEPOIS de uma tool, ideais para logging, notificacoes ou processamento adicional.
Exemplo: Auto-format apos Write
{
"hooks": [{
"event": "PostToolUse",
"matcher": { "tool": "Write" },
"command": ["prettier", "--write", "$FILE_PATH"]
}]
}
⚙️ Configurando Hooks
Hooks sao configurados no arquivo settings.json (global ou por projeto).
Estrutura Completa
{
"hooks": [
{
"event": "PreToolUse",
"matcher": {
"tool": "Bash",
"command": "rm*"
},
"command": ["node", "hooks/validate.js"],
"timeout": 5000
}
]
}
📋 Casos de Uso Praticos
Auto-lint apos Write
Roda ESLint automaticamente em arquivos criados/editados.
Notificacao Slack
Envia mensagem para canal quando PR e criado.
Audit Log
Registra todas as acoes em log centralizado para compliance.
Bloqueio de Paths
Impede escrita em diretorios protegidos como /etc ou ~/.ssh.
🛡️ Seguranca em Hooks
✓ Boas Praticas
- • Valide todo input do hook
- • Use timeouts para evitar travamentos
- • Logue execucoes para auditoria
- • Teste hooks em ambiente isolado
✗ Evitar
- • Hooks que executam codigo externo
- • Armazenar secrets em hooks
- • Hooks sem tratamento de erro
- • Permissoes excessivas
📚 Resumo do Modulo
Proximo Modulo:
2.6 - MCP Servers