
Se você passou algum tempo trabalhando com agentes de codificação de IA como o Claude Code, provavelmente sentiu a magia e a frustração. Em um minuto, ele está escrevendo código boilerplate impecável; no seguinte, está ignorando completamente as instruções cuidadosamente elaboradas em seu arquivo CLAUDE.md. É uma história comum que você vê surgindo no Reddit e no Hacker News, você obtém resultados inconsistentes, ou o que algumas pessoas começaram a chamar de "LLM slop" (desleixo de LLM).
Essa sensação de perder o controle durante uma longa sessão é exatamente por que os hooks do Claude Code existem. Eles são sua maneira de trazer o controle previsível e sólido de volta ao seu assistente de IA. Em vez de sugerir educadamente um fluxo de trabalho, você pode impor isso. Este guia é sua referência prática de hooks para Claude Code, detalhando o que eles são, por que são importantes e como você pode usá-los para tornar seu desenvolvimento alimentado por IA muito mais confiável.
O que são hooks do Claude Code?
Simplificando, hooks são comandos de shell que você define para serem executados automaticamente em determinados pontos no fluxo de trabalho do Claude Code. Se você já usou Git hooks como pre-commit ou post-commit para manter seu repositório limpo, o conceito parecerá imediatamente familiar. Assim como os Git hooks podem forçar cada commit a ser lintado e testado, os hooks do Claude Code garantem que seu agente de IA siga suas regras, sempre.

A verdadeira diferença entre um hook e um prompt se resume a uma coisa: execução garantida. Uma instrução em seu arquivo CLAUDE.md é uma sugestão. A IA provavelmente a seguirá, mas em uma longa conversa, ela pode ser empurrada para fora da janela de contexto ou apenas ter sua prioridade reduzida. Um hook, por outro lado, é uma regra codificada. É um comando que tem a garantia de ser executado quando seu evento específico acontece. Sem "se", "e" ou "mas".
Você pode configurá-los em dois lugares, o que lhe dá alguma flexibilidade agradável:
-
~/.claude/settings.json: Isso é para seus hooks pessoais em nível de usuário. Tudo o que você colocar aqui se aplicará a todos os seus projetos. Pense nisso como sua configuração global. -
.claude/settings.json: Isso é para hooks específicos do projeto. Você pode verificar este arquivo no controle de versão, para que todos em sua equipe obtenham as mesmas regras automatizadas. É perfeito para impor padrões em toda a equipe.

Esta configuração leva seu assistente de IA de um parceiro brilhante, mas às vezes instável, para uma ferramenta confiável e automatizada com a qual você pode contar.
De prompts não confiáveis a controle sólido com hooks
Confiar apenas em prompts e arquivos CLAUDE.md pode parecer um lance de dados. Os grandes modelos de linguagem têm um tempo de atenção limitado (sua janela de contexto) e, à medida que sua sessão avança, essas instruções iniciais podem se perder no ruído. O feedback dos desenvolvedores é bem claro sobre isso; as instruções podem ser "acerto ou erro", o que geralmente leva você a ter que voltar e limpar as coisas manualmente. Hooks são a resposta para transformar essas sugestões em ações que sempre acontecem.
Então, como isso realmente se parece em seu fluxo de trabalho diário?
-
Imponha a qualidade do código no piloto automático. Você pode executar automaticamente linters como
ruffou formatadores comoprettierdepois que Claude modificar um arquivo. Você nunca mais terá que lembrar a IA de formatar seu código e não terá que corrigir problemas de estilo sozinho. -
Automatize as coisas chatas. Já quis uma notificação na área de trabalho quando uma tarefa longa finalmente termina? Ou que tal criar automaticamente um commit git com o prompt do usuário como a mensagem após cada execução bem-sucedida? Você pode até mesmo registrar todos os comandos do shell para auditoria. Tudo isso é possível com hooks.
-
Melhore a segurança e evite erros. Você pode configurar hooks para impedir que Claude execute comandos potencialmente destrutivos como
rm -rf. Você também pode impedi-lo de tocar em arquivos confidenciais como seu.envoupackage-lock.json, dando a você tranquilidade.
Uma referência prática para hooks do Claude Code
Tudo bem, vamos aos detalhes. Esta seção é sua referência para começar a usar os hooks mais comuns e úteis. Pense nisso como um guia para colocar seu agente de IA nos trilhos.
Principais eventos de hook
Hooks são todos sobre tempo. Eles estão ligados a eventos específicos que acontecem enquanto o agente está trabalhando. Embora a documentação oficial tenha a lista completa, estes são os quatro que você provavelmente usará repetidamente.
| Evento de Hook | Quando é executado | Um caso de uso comum |
|---|---|---|
UserPromptSubmit | Antes que Claude veja seu prompt. | Você pode injetar contexto extra aqui, como a data atual ou sua branch git, ou até mesmo bloquear prompts que você não quer que a IA lide. |
PreToolUse | Exatamente antes de Claude executar uma ferramenta (como Bash ou Write). | Esta é sua chance de bloquear comandos inseguros, pedir aprovação do usuário ou configurar um ambiente temporário para a ferramenta ser executada. |
PostToolUse | Exatamente depois que uma ferramenta termina com sucesso. | Perfeito para executar formatadores ou linters em código recém-criado, registrar a ação ou verificar a saída da ferramenta. |
Stop / SubagentStop | Quando o agente principal ou um subagente conclui sua tarefa. | Um ótimo lugar para enviar uma notificação, executar um script de limpeza ou cometer automaticamente o trabalho que acabou de ser feito. |
Exemplo 1: Mantendo o código limpo com um hook PostToolUse
Vamos começar com um clássico. A formatação automática de código é uma vitória simples que economiza muito tempo e mantém sua base de código com aparência profissional.
O objetivo: Execute automaticamente prettier em qualquer arquivo TypeScript que Claude escreva ou edite.
Para que isso funcione, você adicionará um hook ao seu arquivo settings.json. Usaremos um matcher para garantir que este hook seja acionado apenas para as ferramentas Write, Edit e MultiEdit, pois são elas que modificam os arquivos.
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|MultiEdit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -qE '\\.(ts|tsx)
; then npx prettier --write \"$file_path\"; fi; }"
}
]
}
]
}
}
Esse comando shell pode parecer um pouco intimidador, mas aqui está uma breve análise do que ele está fazendo:
-
jq -r '.tool_input.file_path': O hook recebe uma série de dados JSON sobre o evento por meio da entrada padrão (stdin). Este comando usajqpara extrair o caminho do arquivo que acabou de ser alterado. -
| { read file_path; ... }: Em seguida, ele "canaliza" esse caminho de arquivo para um pequeno bloco de script para que possamos trabalhar com ele. -
if echo \"$file_path\" | grep -qE '\\.(ts|tsx): Esta é uma verificação simples para ver se o caminho do arquivo termina com.tsou.tsx. -
then npx prettier --write \"$file_path\"; fi;: Se for um arquivo TypeScript, ele executaprettierpara formatá-lo ali mesmo.
Depois que este hook estiver ativo, qualquer código TypeScript que Claude tocar será perfeitamente formatado, garantido.
Exemplo 2: Obtendo notificações personalizadas com um hook Stop
Você já iniciou uma tarefa mais longa com Claude, mudou para outra janela e depois se esqueceu completamente dela? Uma notificação simples na área de trabalho pode tornar seu fluxo de trabalho muito mais suave.
O objetivo: Obtenha uma notificação na área de trabalho no macOS quando Claude terminar sua tarefa atual.
Este é muito mais simples. Só precisamos configurar um hook para o evento Stop.
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude has finished!\" with title \"Claude Done\" sound name \"Glass\"'"
}
]
}
]
}
}
Este comando usa osascript, uma ferramenta útil integrada ao macOS, para exibir uma notificação do sistema. Agora você pode disparar uma tarefa complexa, pegar um café e receber um ping amigável no momento em que seu assistente de IA estiver pronto para o que vier a seguir.
E quanto à automação do trabalho além da linha de comando?
O poder dos hooks é incrível para desenvolvedores. Estamos confortáveis em escrever scripts, vasculhar JSON e viver no shell. Mas e se você for um gerente de suporte, não um desenvolvedor? Você ainda precisa automatizar fluxos de trabalho com o mesmo nível de confiabilidade, mas precisa disso sem o código.
É aqui que uma ferramenta como o eesel AI entra em cena. Ele oferece o mesmo tipo de controle confiável e determinístico que você obtém com os hooks, mas por meio de uma interface visual sem código que é construída para equipes de negócios. Ele se conecta ao seu help desk existente (como Zendesk ou Intercom) e fontes de conhecimento, permitindo que você automatize o suporte sem precisar escrever uma única linha de código.
Os paralelos entre as duas abordagens são bem claros:
-
Um desenvolvedor escreve um hook
PreToolUsepara bloquear comandos perigosos. Um líder de suporte usa o construtor de fluxo de trabalho do eesel AI para criar uma regra que aumenta automaticamente qualquer ticket de um cliente VIP que contenha a palavra "urgente". -
Um desenvolvedor configura um hook
PostToolUsepara executar um linter em um novo código. Uma equipe de suporte usa o AI Triage do eesel AI para marcar, rotear e categorizar instantaneamente novos tickets com base em seu conteúdo, tudo configurado com alguns menus suspensos. -
Um desenvolvedor pode escrever um script personalizado para testar seus hooks. Com o eesel AI, você obtém um modo de simulação poderoso imediatamente. Você pode testar com segurança seu agente de IA em milhares de tickets anteriores de sua equipe para ver exatamente como ele se comportará antes de falar com um cliente real.
Com uma plataforma como o eesel AI, as equipes de negócios obtêm o mesmo controle granular e automação confiável, mas podem colocá-lo em funcionamento em minutos, não em meses. Você obtém controle total sobre o comportamento da IA por meio de uma interface de usuário simples e pode testar tudo completamente sem riscos.
Automação de IA confiável para qualquer equipe
Este guia de referência de hooks para Claude Code é sobre mais do que apenas um novo recurso; é sobre uma mudança maior em direção à construção de sistemas de IA mais robustos e confiáveis. Para os desenvolvedores, os hooks são uma ferramenta fantástica para adicionar automação previsível aos fluxos de trabalho de codificação, permitindo-nos superar a natureza às vezes não confiável dos prompts.
Mas o princípio subjacente é universal. Seja você um desenvolvedor escrevendo um agente de codificação ou um líder de suporte configurando um bot de serviço, o objetivo final é o mesmo: criar uma automação de IA confiável e personalizável na qual você possa realmente confiar para fazer o trabalho certo.
Se você é um desenvolvedor, eu o encorajo a começar a brincar com os hooks hoje. Eles podem melhorar seriamente seu fluxo de trabalho. E se você está procurando trazer o mesmo nível de automação de IA confiável para sua equipe de suporte ao cliente, configure seu primeiro agente de IA com o eesel AI em minutos.
Perguntas frequentes
Hooks são comandos de shell que você define para serem executados automaticamente em pontos específicos dentro do fluxo de trabalho do Claude Code. Eles são projetados para impor regras e ações, fornecendo [controle previsível e confiável](https://hexdocs.pm/claude/guide-hooks.html) sobre o comportamento do seu [agente de IA](https://www.eesel.ai/blog/what-are-autonomous-ai-agents-a-guide-for-businesses).
Ao contrário dos prompts, que são meras sugestões que a IA pode priorizar de forma diferente ao longo do tempo, os hooks garantem a execução. Eles fornecem uma maneira robusta de garantir que etapas críticas e verificações de qualidade sejam aplicadas consistentemente, independentemente da duração ou contexto da conversa.
Os hooks podem ser configurados em dois locais principais: `~/.claude/settings.json` para configurações pessoais em nível de usuário que se aplicam globalmente, ou `.claude/settings.json` para configurações específicas do projeto que podem ser controladas por versão e compartilhadas com uma equipe.
Sim, você pode configurar um hook `PreToolUse` para interceptar e bloquear comandos potencialmente destrutivos, como `rm -rf`, antes que o Claude os execute. Este é um recurso crucial para aumentar a segurança e evitar erros não intencionais.
Os principais eventos de hook incluem `UserPromptSubmit` (antes que um prompt seja processado), `PreToolUse` (antes que uma ferramenta seja executada), `PostToolUse` (após a execução bem-sucedida da ferramenta) e `Stop`/`SubagentStop` (quando uma tarefa é concluída). Esses eventos permitem a automação em estágios críticos.
Embora este guia de referência do Claude Code ofereça controle granular baseado em código principalmente para desenvolvedores, plataformas como o eesel AI fornecem [automação de IA](https://www.eesel.ai/blog/how-can-ai-automate-customer-support-a-helpful-guide) confiável e determinística semelhante por meio de uma interface visual sem código. Isso torna o controle avançado do fluxo de trabalho de IA acessível a equipes de negócios sem experiência em programação.
Share this article

Article by
Kenneth Pangan
Writer and marketer for over ten years, Kenneth Pangan splits his time between history, politics, and art with plenty of interruptions from his dogs demanding attention.