📋 O Padrão Universal — ~30 métodos por ferramenta
O Claude Code tem mais de 40 ferramentas, e cada uma delas segue o mesmo modelo universal. Uma ferramenta é um objeto com cerca de 30 métodos que definem o que ela faz, como validar entradas, quem pode executá-la e o que acontece se você interrompê-la.
Um Padrão Para Todas
📊 As 12 Ferramentas Mais Usadas
⚙️ Anatomia de uma Ferramenta — call(), inputSchema, checkPermissions
Vamos abrir uma ferramenta e ver suas entranhas. Cada método tem um propósito claro e bem definido.
Os Métodos Essenciais
call() — Executa a ação principal (ler arquivo, rodar comando, etc.)
inputSchema — Define e valida as entradas usando Zod (biblioteca de validação TypeScript)
checkPermissions() — Decide: permitir automaticamente, negar ou perguntar ao usuário
isConcurrencySafe() — Esta ferramenta pode rodar em paralelo com outras?
isReadOnly() — Se true, é seguro aprovar automaticamente
interruptBehavior — O que acontece se você pressionar Ctrl+C no meio da execução
shouldDefer — Carrega sob demanda via ToolSearch para manter a lista enxuta
💡 Zod para Validação
Toda entrada é validada com Zod antes da execução. Se você passar um parâmetro inválido, a ferramenta rejeita antes mesmo de tentar executar. Isso previne erros cascata e protege o sistema de inputs malformados.
🔐 Sistema de Permissões — allow, deny, ask
Cada ferramenta tem um sistema de permissões de três níveis que equilibra autonomia com segurança. Você pode configurar para que ações seguras sejam automáticas e ações perigosas peçam confirmação.
Os Três Níveis
💡 Configurando Permissões Automáticas
O problema mais comum é o sistema pedir confirmação o tempo todo. A solução: configurar wildcards no settings.json:
Resultado: menos interrupção e mais automação.
✅ Fazer
❌ Evitar
🔀 Concorrência e Paralelismo — isConcurrencySafe e execução paralela
O Claude Code pode executar múltiplas ferramentas simultaneamente — mas só quando é seguro. O método isConcurrencySafe() é o guardião que decide o que pode rodar em paralelo.
Paralelo vs Exclusivo
📊 Impacto Real
🛡️ BashTool — A mais protegida: 23+ verificações
A BashTool é a ferramenta mais poderosa e mais protegida do Claude Code. Ela executa comandos shell — e por isso tem mais de 23 verificações de segurança que bloqueiam padrões perigosos.
23+ Verificações de Segurança
A BashTool bloqueia:
$() e crases — previne injeção
zmodload, sysopen, syswrite
cmd1 && cmd2 são divididos e cada parte é verificada independentemente
⚠️ Por Que Tanta Proteção?
Execução de shell é o maior vetor de ataque em agentes de IA. Um comando malicioso pode: deletar arquivos, instalar malware, exfiltrar dados, comprometer credenciais. As 23+ verificações são a diferença entre um agente útil e um vetor de ataque.
💡 Classificador de ML Opcional
Além das verificações baseadas em regras, existe um classificador de machine learning opcional que pode aprovar ou negar comandos automaticamente com base na compreensão semântica — não apenas em padrões de texto.
🔎 ToolSearch e Deferimento — Carregamento sob demanda
Com 40+ ferramentas, listar todas de uma vez sobrecarregaria o contexto do modelo. A solução? Carregamento sob demanda via ToolSearch — ferramentas são carregadas apenas quando necessárias.
Lazy Loading de Ferramentas
shouldDefer marca ferramentas para carregamento diferido
📊 Eficiência de Contexto
✅ Fazer
❌ Evitar
📋 Resumo do Módulo
Próxima Trilha:
Trilha 2 - Núcleo: Arquitetura Profunda do Claude Code