SpyBara
Go Premium

plugins/mods/create.md 2026-11-12 23:02 UTC to 2026-11-13 23:02 UTC

This page contains 12 additions and 6 deletions.

2026
Tue 10 21:57 Fri 13 23:02

Criar um mod

Peça ao Claude para escrever um mod do Claude Code a partir de uma descrição, ou escreva um você mesmo que conte chamadas de ferramentas e adicione um comando. Aprenda o loop de recarga e validação.

Um mod é um plugin do Claude Code com um arquivo de entrada, chamado de hooks module: um arquivo JavaScript ou TypeScript cujas funções o Claude Code chama quando eventos acontecem. Para fazer um:

  • Peça ao Claude para escrever: descreva o que você quer em uma sessão do Claude Code
  • Escreva você mesmo: siga o tutorial para aprender como o código de um mod funciona. Você não precisa de Node.js, um bundler ou uma etapa de compilação, porque o Claude Code carrega arquivos .js e .ts diretamente.

Se você ainda não decidiu se um mod é a ferramenta certa, leia primeiro a comparação na visão geral.

[!NOTE]

Use o Claude Code v2.1.287 ou posterior. Em seu shell, execute claude --version para verificar. Para ver se mods podem ser carregados para você, consulte Verificar se mods podem ser carregados.

Peça ao Claude para um mod

Descreva o mod que você quer em uma sessão interativa do Claude Code, e Claude o escreve. Claude trabalha a partir de uma skill integrada chamada plugin-authoring, que diz a ele onde escrever o mod, quais eventos e métodos sua versão tem, e como o mod é carregado. Claude pode carregar a skill quando você pede um mod, ou você pode carregá-la você mesmo executando /plugin-authoring no prompt do Claude Code.

Nos modos de permissão auto e bypassPermissions, o Claude Code pode carregar o mod sem perguntar a você. Para que seja perguntado antes, inicie uma nova sessão no modo default ou acceptEdits, ou mude para qualquer um desses modos antes de pedir o primeiro mod da sessão. Em algumas sessões, o mod não pode ser carregado.

1. Descreva o mod

Peça pelo mod com suas próprias palavras, por exemplo make a mod that shows the current git branch above the prompt. Claude escreve o mod em um diretório próprio na pasta de mods da sessão, que é ~/.claude/dev-mods/ seguido pelo ID da sessão. O caminho completo de um mod se parece com ~/.claude/dev-mods/3f2a9c1e-5b7d-4e8a-9c21-6d0f4b8a7e13/git-branch/.

[!NOTE]

Nos modos de permissão default e acceptEdits, o Claude Code pede que você aprove cada um dos arquivos do mod antes que Claude o crie, porque a pasta de mods é um caminho protegido. Aprove cada arquivo conforme ele aparecer.

2. Aprove o mod

Quando Claude salva o primeiro arquivo, o Claude Code pergunta se deve ativar o hot reloading para a sessão. O hot reloading executa os mods que Claude escreve nesta sessão e pega cada mudança posterior. Você não vê essa pergunta em uma sessão que carrega novos mods sem perguntar ou que não pode carregá-los.

Escolha uma destas respostas:

  • Turn them on: os mods na pasta de mods da sessão são carregados quando o turno termina, e recarregam no final de cada turno que os altera. Sua resposta dura para a sessão, inclusive depois que você a retoma.
  • Not now: nada é carregado por enquanto. Os arquivos permanecem onde Claude os escreveu, e os mods são carregados na próxima vez que essa sessão inicia. Para evitar que um mod seja carregado em algum momento, delete seu diretório.

3. Verifique se o mod foi carregado

Execute /plugin no prompt do Claude Code e pressione Tab até que a aba Installed seja selecionada. Ela lista o mod, e você pode desativá-lo lá.

4. Experimente o mod

Use o que você pediu. Para o prompt de exemplo, o nome do branch atual aparece acima da caixa de prompt. Se o mod não fizer o que você queria, diga ao Claude o que mudar. O mod recarrega no final de cada turno que altera seus arquivos, então você pode tentar a mudança assim que Claude terminar.

Se uma linha da transcrição que começa com o nome do mod disser que a mudança não foi carregada, cole essa linha na sua próxima mensagem quando pedir uma correção ao Claude. Claude não vê a linha a menos que você a cole.

Use o mod em outras sessões

Um mod que Claude escreveu é carregado apenas na sessão que o criou, e o Claude Code deleta a pasta de mods dessa sessão uma vez que é mais antiga que cleanupPeriodDays. Para manter o mod, copie seu diretório para fora da pasta de mods para um lugar seu, como ~/mods/git-branch. Depois escolha como carregá-lo:

  • Em uma sessão que você inicia: em seu shell, execute claude --plugin-dir ~/mods/git-branch
  • Para outras pessoas: adicione-o a um marketplace para que possam instalá-lo

Sessões que carregam um mod sem perguntar

O Claude Code pode ativar o hot reloading sem perguntar nos modos auto e bypassPermissions, e os mods são carregados quando o turno termina.

Quando você retoma uma sessão, interativamente ou com claude -p, os mods que já estão na pasta de mods dela podem ser carregados sem perguntar. Para evitar que um mod seja carregado quando você retoma, delete seu diretório.

Sessões onde um mod que Claude escreve não pode ser carregado

Um mod que Claude escreve não é carregado nestes casos, e o Claude Code não pede para carregá-lo:

  • Ninguém está lá para aprovar: a sessão está no modo dontAsk, ou é a execução claude -p que escreve o mod, no modo default ou acceptEdits, que não pode mostrar a você a pergunta sobre hot reloading.
  • Uma sessão interativa onde o workspace não é confiável: você não aceitou o prompt de confiança para o diretório
  • Mods estão desativados: você iniciou com --safe-mode ou --bare, você definiu disableAllHooks, ou as configurações gerenciadas da sua organização os bloqueiam

Escreva um mod você mesmo

Neste tutorial você constrói um mod chamado first-mod que conta as chamadas de ferramentas que Claude faz, mostra a contagem ao lado do spinner enquanto Claude trabalha, e adiciona um comando /tally que a imprime. Você então lê as declarações de tipo que o Claude Code escreve ao lado do seu mod e executa claude plugin validate. Juntas elas mostram os eventos e métodos que sua versão oferece e o que o Claude Code lê do seu código.

Esta gravação mostra o mod finalizado. O spinner conta chamadas de ferramentas, /tally imprime a contagem, e uma edição no código entra em efeito enquanto a sessão é executada: