Dois mods brigando no Claude Code: como saber se o problema é conflito entre eles

Quando o Claude Code parece ignorar sua instrução depois de instalar mods, a causa pode ser conflito entre mods no Claude Code. Vários mods no mesmo evento rodam em cadeia, na ordem de carregamento, e um deles pode reescrever ou omitir texto do prompt, ou devolver um resultado sem chamar next e encerrar a cadeia. Para isolar: rode claude –safe-mode, ative o log com –debug-file ou /debug, desabilite um mod por vez em /plugin > Installed e repita o prompt que falha até achar o culpado
Fala aí, beleza? Se o Claude Code começou a ignorar uma instrução sua logo depois que tu instalou uns mods, se liga: o culpado pode não ser o modelo
Pode ser dois mods disputando o mesmo evento 😛
Os mods chegaram ao Claude Code na versão 2.1.287, lançada em 1º de outubro de 2026
E o que é um mod? São plugins que mudam a aparência e o comportamento do Claude Code, feitos de handlers de evento em JavaScript ou TypeScript
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
O Claude Code chama esses handlers quando acontece um evento (uma chamada de ferramenta, o envio de um prompt, o desenho da interface) e o handler pode observar, alterar ou assumir esse evento
Dá pra empilhar mods de autores diferentes, o que é muiiito massa
Porém é exatamente aí que nasce o conflito entre mods no Claude Code…
Como os mods rodam em cadeia no Claude Code
Antes de caçar o problema, vale entender o PORQUÊ ele acontece
Quando vários mods escutam o mesmo evento, eles rodam na ordem em que são carregados
O primeiro a carregar vê o evento primeiro e vê o resultado por último
Se você conhece middleware de servidor web (tipo Express), a ideia é bem semelhante: cada um recebe a requisição, faz o que quer e passa adiante 🙂
Qual a ordem de carregamento dos mods?
Segundo a documentação de mods, a cadeia segue a origem de cada mod:
- O guard embutido
sec-default@builtin(que aparece no/plugincomocc-plugin-sec-default), os mods da organização emprependPluginse os demais mods da organização que não estão emappendPlugins - Os mods que você instala
- Os mods da organização listados em
appendPlugins - Os outros mods embutidos no Claude Code
E entre os mods que você instala, um mod roda antes dos mods que ele lista como dependencies no manifesto
O que é o next?
Um hook é registrado com on(nome do evento, matcher opcional, hook), assim:
on('tool.call', { tool: 'Bash' }, async ($, e, next) => next(e))
E o que esse next faz?
Ele é o próximo handler da cadeia: roda os hooks seguintes e, depois deles, o comportamento do próprio Claude Code
Guarda essa informação, porque ela é a chave do problema todo 😀
Por que o conflito aparece como "o agente ignorou minha instrução"
O sintoma clássico é esse: tu escreve uma instrução no prompt, ou tem uma regra de projeto, e parece que ela simplesmente não teve efeito
A reação natural é culpar o modelo
Mas tem duas causas bem comuns vindas da cadeia de mods
Causa 1: um mod de prompt reescreveu ou apagou o texto

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Os eventos de prompt cobrem o texto que você digita e também o texto que o Claude Code manda ao Claude por conta própria, como o system prompt e os lembretes
prompt.submitvê cada prompt antes do turno e pode reescrever ou acrescentar textoprompt.composedevolve as seções do system prompt na ordem de envioprompt.sectionroda uma vez por seção nomeada e pode devolver{ text }ou{ text: null }para omitir a seçãoprompt.contextroda uma vez por conversa, para o contexto enviado com a primeira mensagem
Ou seja: um mod pode reescrever ou omitir o que outro mod (ou você mesmo) colocou
E aí o Claude nunca recebe a instrução, não é que ele ignorou, ela nem chegou lá 🙂
Causa 2: um hook encerrou a cadeia sem chamar next
Se um hook devolve um resultado sem chamar next, a cadeia é interrompida
Os mods seguintes não rodam, e o comportamento do próprio Claude Code também não
Em eventos tool.call, por exemplo, um objeto como { deny: 'Use the file tools.' } responde ao evento sem chamar next:
on('tool.call', { tool: 'Bash' }, async ($, e, next) => ({ deny: 'Use the file tools.' }))
Se um mod carregado antes faz isso, o mod que vem depois pode estar perfeito e mesmo assim nunca vai rodar
Como saber qual mod vence?
Pela ordem da cadeia que a gente viu lá em cima
Quem roda antes vê o evento primeiro e pode reescrever, omitir ou encerrar tudo antes que o outro tenha chance
Como prevenir esse tipo de briga?
Desconfie sempre que dois mods mexem no mesmo evento, principalmente nos eventos de prompt e em tool.call
É bem parecido com dois devs mexendo no mesmo repositório sem coordenação: cada um faz sentido sozinho, juntos dá ruim haha
Como isolar o mod culpado removendo um por vez
Bora pra prática? A ideia é simples: ir tirando peças até o problema sumir
- Confirme que o problema vem de personalização. Inicie uma sessão com safe mode:
claude --safe-mode
Isso desliga todos os mods instalados só naquela sessão
Se o prompt que falhava passa a funcionar, a pista é forte
Erro comum deste passo: concluir na hora que é mod. Tome cuidado! O safe mode também desliga as suas outras personalizações, então ele confirma que é personalização, não que é mod
- Ligue o log de debug. Inicie assim:
claude --debug-file /tmp/claude.log
Ou rode /debug no meio da sessão para ativar o log e descobrir o caminho dele
Segundo a documentação de hooks, o log mostra quais hooks deram match, os exit codes, o stdout e o stderr
Erro comum deste passo: olhar só a saída do terminal e esquecer de abrir o log, que é onde ficam os detalhes de execução

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.- Desabilite um mod por vez. Abra
/plugin, vá na aba Installed e desabilite (ou desinstale) um único mod
Se preferir o terminal:
claude plugin disable nome@marketplace
Depois repita exatamente o prompt que estava falhando
Voltou a funcionar? Achou o culpado (ou pelo menos uma das partes da briga)
Erro comum deste passo: desligar vários de uma vez e perder qual era o culpado. E se liga: os plugins desabilitados ficam agrupados num cabeçalho recolhido no fim da lista, então não se assusta achando que sumiram 😀
- Se precisar, desligue todos os seus mods em todas as sessões. Defina isso no
~/.claude/settings.json:
{
"disableAllHooks": true
}
Vale pra todas as sessões, inclusive se tu tá rodando o Claude Code em dois projetos ao mesmo tempo
Para religar, é só desfazer a mesma mudança
Erro comum deste passo: esquecer de reverter e passar dias se perguntando por que nenhum mod funciona kkk
Quando não é conflito: erro ou timeout dentro de um mod
Nem toda instrução "ignorada" é briga entre mods
Um hook que falha sozinho também pode dar exatamente esse sintoma
Como identificar o erro de um hook?
O on() devolve um registro com o método .catch(handler), que define o tratador de erro do hook
Dentro do .catch, next.error.kind vale 'throw' ou 'timeout', e next.error.message traz o texto do erro
Então a solução é conferir o log de debug e, se você é o autor do mod, tratar o erro nesse .catch
Como prevenir?
Trate os erros nos seus próprios hooks
Um mod que falha em silêncio é o tipo de coisa que te faz perder uma tarde inteira culpando o mod do vizinho…
Próximo passo: empilhar mods sem briga
Recapitulando:
- A cadeia tem ordem, e quem roda primeiro vê o evento primeiro e o resultado por último
- Um hook pode encerrar tudo devolvendo um resultado sem chamar
next - Mods de prompt podem reescrever ou omitir texto, então a instrução pode nem chegar ao Claude
O próximo passo é manter instalados só os mods que você realmente usa
E quando aparecer um mod novo (tipo os exemplos que a Anthropic mostrou no anúncio dos mods, como token weather, blast radius e replay theater), teste ele isolado antes de empilhar com os outros
Assim, se algo quebrar, tu já sabe de onde veio 🙂
Espero que tenha ajudado, até o próximo post!
Perguntas frequentes
Como saber se dois mods estão em conflito no Claude Code?
O sinal clássico é uma instrução sua sendo ignorada depois de instalar mods novos. Rode a sessão com claude –safe-mode: se o prompt volta a funcionar, o problema está na cadeia de mods, e não no modelo.
Dois mods podem escutar o mesmo evento ao mesmo tempo no Claude Code?
Sim, e é esperado: isso é o que permite empilhar mods de autores diferentes. O risco aparece quando os dois reescrevem o mesmo prompt ou respondem o mesmo tool.call de jeitos incompatíveis.
O que acontece se um mod não chamar o next?
A cadeia é interrompida ali mesmo. Os mods seguintes não rodam, e o comportamento padrão do próprio Claude Code também não roda.
Dá pra desligar só um mod sem afetar os outros?
Sim. Abra /plugin, vá na aba Installed e desabilite ou desinstale o plugin específico. No terminal, o mesmo resultado sai com claude plugin disable nome@marketplace.
O safe mode do Claude Code desliga só os mods?
Não, ele desliga todos os mods instalados naquela sessão e também as suas outras personalizações. Por isso o safe mode prova que o problema é personalização, mas não prova sozinho que é mod.
Qual mod roda primeiro quando tem mais de um instalado?
Primeiro vêm o guard embutido sec-default, os mods da organização em prependPlugins e os demais mods da organização que não estão em appendPlugins, depois os mods que você instalou, depois os da organização em appendPlugins e por fim os outros mods embutidos. Entre os que você instalou, um mod roda antes das suas dependencies listadas no manifesto.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares
Bateu o limite de uso do Claude Code? Como retomar a tarefa sem refazer tudo
Bateu o limite de uso do Claude Code? Veja como retomar a tarefa de onde parou com /usage, CLAUDE.md e --continue, sem refazer nada.
Como pagar o Claude Code no Brasil: cartão, dólar, IOF e quanto fica em reais
Claude Code preço Brasil na prática: câmbio, IOF de 3,5% e quanto fica na fatura. Planos Pro e Max convertidos em reais e como pagar com cartão.

O que é o JEV e para que ele serve no Claude Code?
O que é JEV no Claude Code? Entenda o modelo da TypeSafe AI, como instalar a skill e quanto custa por milhão de tokens.
