Os hooks existentes do Claude Code também são executados em eventos, como um comando shell, uma solicitação HTTP ou um prompt que você configura em um arquivo de configurações. Os manipuladores de um mod são funções que são executadas dentro do Claude Code em vez disso. Claude Code chama ambos os tipos de hooks: nessas páginas, “hook” significa um manipulador de um mod, e o tipo de arquivo de configurações é um “settings hook”.
O que um mod pode fazer
Settings hooks, skills, linhas de status e servidores MCP funcionam de fora do Claude Code: cada um executa um script ou fornece ao Claude texto ou ferramentas. Um mod é executado dentro do Claude Code, então pode fazer coisas que eles não conseguem:- Desenhar uma interface que você pode usar: um painel ao lado da transcrição ou uma faixa acima do prompt, com abas, botões e campos de texto. Veja Desenhar na interface.
- Redesenhar a própria interface do Claude Code: substituir ou reformatar partes que o Claude Code desenha, como a linha de uma chamada de ferramenta, o spinner ou o diálogo que o Claude faz perguntas. Veja Alterar o que o Claude Code já desenha.
- Intervir em uma chamada de ferramenta ou uma solicitação: por exemplo, manter uma chamada de ferramenta enquanto você faz uma pergunta ao usuário, responder sem executar a ferramenta ou enviar uma solicitação para um modelo diferente. Veja Guardar ou alterar uma chamada de ferramenta e Seguir um turno.
- Executar seu próprio código em um comando: um
/commandque executa sua função imediatamente, sem nenhum turno do Claude, mesmo enquanto o Claude está trabalhando. Veja Adicionar um comando ou uma ferramenta. - Compartilhar dados entre hooks: os hooks de um mod compartilham as variáveis em seu arquivo, então o que um hook registra, outro pode mostrar. Por exemplo, um hook pode contar chamadas de ferramenta enquanto outro mostra a contagem ao lado do spinner, ou um pode ler o uso de tokens de cada solicitação enquanto outro o mostra em gráfico em um painel. Veja Reagir a eventos.
claude -p e sessões na nuvem. Se um settings hook, uma skill ou um servidor MCP já faz o que você precisa, compare-os antes de escrever um mod. Para gerenciar mods para uma organização, veja Gerenciar mods para sua organização.
Obter um mod
Você pode começar com um mod de três maneiras:- Use um que você já tem: alguns dos próprios recursos do Claude Code são mods, como
/diff. Veja Mods integrados ao Claude Code. - Crie um: descreva o que você quer em uma sessão do Claude Code, e o Claude escreve o mod. Veja Peça ao Claude por um mod. Para aprender como o código de um mod funciona, escreva um você mesmo.
- Instale um: veja Instalar ou atualizar um mod
Instalar ou atualizar um mod
Um mod é instalado como um plugin, a partir de um marketplace. Forneça o nome do plugin, um@ e o nome do marketplace. Estes exemplos instalam um plugin chamado token-chart de um marketplace chamado your-org:
- Em uma sessão do Claude Code, execute
/plugin install token-chart@your-org. - No seu shell, execute
claude plugin install token-chart@your-org.
/reload-plugins nessa sessão para carregá-lo. Caso contrário, ele carrega na próxima vez que você iniciar o Claude Code.
Decidir se confia em um mod
Um mod é código que é executado com suas permissões, dentro do Claude Code. Instale mods apenas de autores e marketplaces em que você confia.O que um mod pode alcançar
Um mod é executado com suas permissões, então antes de instalar um, saiba o que ele tem acesso. Uma vez carregado, um mod pode:- Agir em sua máquina como você: ler e escrever arquivos em qualquer lugar que sua conta de usuário possa, iniciar programas e fazer solicitações de rede
- Ler seus segredos: variáveis de ambiente e arquivos de configurações, incluindo uma chave de API que você mantém em qualquer um deles
- Ver sua sessão: cada prompt que você envia e cada chamada de ferramenta que o Claude faz
- Alterar sua sessão: reescrever um prompt ou uma chamada de ferramenta, enviar um prompt como se você o tivesse digitado, ou enviar uma mensagem para outra de suas sessões
- Agir sem pedir a você: aprovar uma chamada de ferramenta antes de você ser perguntado
- Gastar seu uso: chamar um modelo em seu plano ou chave de API
ask solicitaria, ou que um de seus próprios hooks PreToolUse bloqueou. Estender permissões com hooks lista o que tal mod pode aprovar, incluindo quando pode aprovar uma chamada que uma regra deny recusa.
Um mod pode reformatar grande parte da interface do Claude Code, mas não o prompt de permissão. Não pode alterar o que um prompt mostra a você.
Listar o que um mod faz antes de instalá-lo
Antes de instalar um mod, você pode listar quais eventos ele conecta e o que pede ao Claude Code para fazer, como ler um arquivo ou fazer uma solicitação de rede, sem executá-lo. Obtenha os arquivos do plugin primeiro, por exemplo clonando seu repositório. Depois, no seu shell, executeclaude plugin validate no diretório do plugin:
hooks: e calls: na saída listam os eventos que o mod manipula e o que pede ao Claude Code para fazer. Revisar o que um mod pode fazer mostra a saída e quais chamadas procurar.
Ativar ou desativar mods
Os mods requerem Claude Code v2.1.287 ou posterior, e estão ativados por padrão. No seu shell, executeclaude --version para verificar e atualize o Claude Code se o seu for mais antigo.
Para desativar mods, escolha quantos parar e por quanto tempo. Para ativá-los novamente, desfaça a mesma alteração:
- Um mod: desabilite ou desinstale seu plugin da aba Installed em
/plugin - Cada mod instalado, para uma sessão: inicie o Claude Code com
--safe-mode, que também deixa de fora suas outras personalizações - Cada mod que você instalou, em cada sessão: defina
"disableAllHooks": trueem~/.claude/settings.json. Seus settings hooks e linha de status personalizada também param. O que sua organização gerencia continua funcionando.
Se você definiu
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS durante acesso antecipado, remova-o. Claude Code v2.1.287 e posterior o ignora, então defini-lo como 0 não mantém mods desativados.Ver quais mods uma sessão carregou
Para ver quais mods uma sessão de terminal carregou, execute/plugin no prompt do Claude Code. Uma linha atenuada sob as abas fornece a contagem e os nomes, como 1 mod active · first-mod. Se um mod que você instalou não estiver nomeado lá, veja Descobrir por que um mod não faz nada.
Como um mod funciona
Um mod é um plugin cujo código registra manipuladores de eventos, chamados hooks. O Claude Code executa um hook quando seu evento acontece, como quando o Claude chama uma ferramenta ou quando o spinner é desenhado. Um mod pequeno tem três arquivos:plugin.json: o manifesto do pluginhooks.json: aponta para seu arquivo de códigoregister.js: seu código, chamado de módulo hooks. Ele diz ao Claude Code em quais eventos executar suas funções.
register.js completo. Ele conta as chamadas de ferramenta que o Claude faz e mostra a contagem ao lado do spinner enquanto o Claude trabalha, como em Thinking · tool calls: 3….
hooks/register.js
calls no topo:
- O hook
tool.callé executado cada vez que o Claude está prestes a usar uma ferramenta. Adiciona um acalls, pede ao Claude Code para desenhar a interface novamente e deixa a ferramenta ser executada normalmente. - O hook
ui.renderé executado cada vez que o Claude Code desenha o spinner. Mantém o próprio spinner do Claude Code e adiciona a contagem após a palavra.
Thinking · tool calls: 1…, depois 2…, depois 3….
O que um hook pode fazer com um evento
O Claude Code executa seu hook antes de agir no evento, então o hook decide o que acontece a seguir. Ele tem três opções:- Observar: notar o que está acontecendo e deixar continuar inalterado, como o hook
tool.callno exemplo faz - Reescrever: alterar o evento antes de continuar, como o hook
ui.renderfaz quando adiciona a contagem ao spinner - Responder: manipular o evento em si, para que o comportamento usual não seja executado, como recusar um comando
Onde os mods são executados
Os hooks de um mod são executados em todos os tipos de sessão que carregam o plugin. O desenho é mais restrito: apenas o terminal e o aplicativo Desktop mostram painéis, faixas e linhas substituídas de um mod. Esta tabela lista cada lugar onde você pode executar o Claude Code:
Um mod que desenha pode verificar em qual aplicativo está sendo executado e voltar para uma linha na transcrição ou uma resposta de texto de comando onde nada desenha.
Controlar mods para sua organização
Os administradores decidem se mods são executados e quais, através de configurações gerenciadas. Gerenciar mods para sua organização cobre o que acontece por padrão, como revisar um mod e como aplicar uma política com um mod próprio.Comparar mods, settings hooks, skills e servidores MCP
Mods, settings hooks, skills e servidores MCP se sobrepõem. Esta tabela mostra o que cada um é e quando escolhê-lo.
Cada um dos outros tem sua própria página: Hooks, Skills e MCP. Um plugin pode conter todos os quatro, então um mod pode ser enviado no mesmo plugin que uma skill e um servidor MCP.
Mods integrados ao Claude Code
Alguns dos próprios recursos do Claude Code são mods. Para ver os que sua sessão tem, execute/plugin no prompt do Claude Code e vá para a aba Installed, que os lista em Built-in. Você não pode atualizar ou desinstalar um mod integrado, e a última coluna da tabela diz como desativar cada um. A linha mods active deixa mods integrados de fora.
Esta tabela lista cada entrada pelo nome que /plugin mostra:
As configurações e sinalizadores que param mods instalados, como
disableAllHooks, --bare e --safe-mode, não param mods integrados.
Ler a fonte de mods integrados
A fonte de quatro desses mods é pública no diretóriomods do repositório Claude Code. Cada um é um plugin completo com seu módulo hooks e testes:
diff: o painel/diff, com botões vinculados a ações de teclado e rolagem que o mod manipulaagents-md: carregaAGENTS.mdcomo instruções do projeto, com uma opçãouserConfigsec-default: o guarda descrito em Saber o que acontece por padrão, um modelo para um mod que aplica políticatelemetry: adiciona métodos que outros mods podem chamar e envia seus tipos
Próximos passos
- Criar um mod: construa um que conte chamadas de ferramenta, mostre a contagem ao lado do spinner e adicione um comando, e aprenda o loop de edição e recarga
- Desenhar na interface: painéis, a faixa acima do prompt, botões, campos de texto e estado
- Reagir a eventos: chamadas de ferramenta, prompts, turnos e a ordem em que mods são executados
- Usar a API de mods: comandos, ferramentas, chamadas de modelo, temporizadores e arquivos
- Testar um mod: testes automatizados que são executados sem uma sessão
- Solucionar problemas de um mod: as razões pelas quais um mod não faz nada e o log de depuração
- Gerenciar mods para sua organização: padrões, configurações gerenciadas, revisão de um mod e mods de política
- Referência de mods: cada evento, método, elemento e limite