Para documentação de referência sobre hooks, veja Referência de Hooks.
- Notificações: Personalize como você é notificado quando o Claude Code está aguardando sua entrada ou permissão para executar algo.
- Formatação automática: Execute
prettierem arquivos .ts,gofmtem arquivos .go, etc. após cada edição de arquivo. - Logging: Rastreie e conte todos os comandos executados para conformidade ou depuração.
- Feedback: Forneça feedback automatizado quando o Claude Code produz código que não segue as convenções da sua base de código.
- Permissões personalizadas: Bloqueie modificações em arquivos de produção ou diretórios sensíveis.
Você deve considerar as implicações de segurança dos hooks ao adicioná-los, porque os hooks executam automaticamente durante o loop do agente com as credenciais do seu ambiente atual.
Por exemplo, código malicioso de hooks pode exfiltrar seus dados. Sempre revise sua implementação de hooks antes de registrá-los.Para as melhores práticas completas de segurança, veja Considerações de Segurança na documentação de referência de hooks.
Visão Geral dos Eventos de Hook
O Claude Code fornece vários eventos de hook que executam em diferentes pontos no fluxo de trabalho:- PreToolUse: Executa antes das chamadas de ferramenta (pode bloqueá-las)
- PostToolUse: Executa após as chamadas de ferramenta serem concluídas
- UserPromptSubmit: Executa quando o usuário envia um prompt, antes do Claude processá-lo
- Notification: Executa quando o Claude Code envia notificações
- Stop: Executa quando o Claude Code termina de responder
- SubagentStop: Executa quando as tarefas de subagente são concluídas
- PreCompact: Executa antes do Claude Code executar uma operação de compactação
- SessionStart: Executa quando o Claude Code inicia uma nova sessão ou retoma uma sessão existente
- SessionEnd: Executa quando a sessão do Claude Code termina
Início Rápido
Neste início rápido, você adicionará um hook que registra os comandos shell que o Claude Code executa.Pré-requisitos
Instalejq para processamento JSON na linha de comando.
Passo 1: Abrir configuração de hooks
Execute o comando slash/hooks e selecione
o evento de hook PreToolUse.
Os hooks PreToolUse executam antes das chamadas de ferramenta e podem bloqueá-las enquanto fornecem
feedback ao Claude sobre o que fazer diferente.
Passo 2: Adicionar um matcher
Selecione+ Add new matcher… para executar seu hook apenas em chamadas de ferramenta Bash.
Digite Bash para o matcher.
Você pode usar
* para corresponder a todas as ferramentas.Passo 3: Adicionar o hook
Selecione+ Add new hook… e insira este comando:
Passo 4: Salvar sua configuração
Para localização de armazenamento, selecioneUser settings já que você está registrando no seu diretório
home. Este hook então se aplicará a todos os projetos, não apenas ao seu projeto
atual.
Então pressione Esc até retornar ao REPL. Seu hook agora está registrado!
Passo 5: Verificar seu hook
Execute/hooks novamente ou verifique ~/.claude/settings.json para ver sua configuração:
Passo 6: Testar seu hook
Peça ao Claude para executar um comando simples comols e verifique seu arquivo de log:
Mais Exemplos
Para uma implementação de exemplo completa, veja o exemplo de validador de comando bash em nossa base de código pública.
Hook de Formatação de Código
Formate automaticamente arquivos TypeScript após edição:Hook de Formatação de Markdown
Corrija automaticamente tags de linguagem ausentes e problemas de formatação em arquivos markdown:.claude/hooks/markdown_formatter.py com este conteúdo:
- Detecta linguagens de programação em blocos de código sem rótulo
- Adiciona tags de linguagem apropriadas para destaque de sintaxe
- Corrige linhas em branco excessivas preservando o conteúdo do código
- Processa apenas arquivos markdown (
.md,.mdx)
Hook de Notificação Personalizada
Receba notificações na área de trabalho quando o Claude precisar de entrada:Hook de Proteção de Arquivo
Bloqueie edições em arquivos sensíveis:Saiba mais
- Para documentação de referência sobre hooks, veja Referência de Hooks.
- Para práticas abrangentes de segurança e diretrizes de segurança, veja Considerações de Segurança na documentação de referência de hooks.
- Para passos de solução de problemas e técnicas de depuração, veja Depuração na documentação de referência de hooks.