Claude Code tem acesso a um conjunto de ferramentas integradas que o ajudam a entender e modificar sua base de código. Os nomes das ferramentas são as strings exatas que você usa em regras de permissão, listas de ferramentas de subagent e correspondências de hooks. Para desabilitar uma ferramenta completamente, adicione seu nome ao arrayDocumentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
deny em suas configurações de permissão.
Para adicionar ferramentas personalizadas, conecte um servidor MCP. Para estender Claude com fluxos de trabalho baseados em prompts reutilizáveis, escreva uma skill, que é executada através da ferramenta Skill existente em vez de adicionar uma nova entrada de ferramenta.
| Ferramenta | Descrição | Permissão Necessária |
|---|---|---|
Agent | Cria um subagent com sua própria janela de contexto para lidar com uma tarefa. Veja comportamento da ferramenta Agent | Não |
AskUserQuestion | Faz perguntas de múltipla escolha para coletar requisitos ou esclarecer ambiguidades | Não |
Bash | Executa comandos de shell em seu ambiente. Veja comportamento da ferramenta Bash | Sim |
CronCreate | Agenda uma solicitação recorrente ou única dentro da sessão atual. As tarefas têm escopo de sessão e são restauradas em --resume ou --continue se não expiradas. Veja tarefas agendadas | Não |
CronDelete | Cancela uma tarefa agendada por ID | Não |
CronList | Lista todas as tarefas agendadas na sessão | Não |
Edit | Faz edições direcionadas em arquivos específicos. Veja comportamento da ferramenta Edit | Sim |
EnterPlanMode | Muda para Plan Mode para projetar uma abordagem antes de codificar | Não |
EnterWorktree | Cria um git worktree isolado e muda para ele. Passe um path para mudar para um worktree existente do repositório atual em vez de criar um novo. Não disponível para subagents | Não |
ExitPlanMode | Apresenta um plano para aprovação e sai do Plan Mode | Sim |
ExitWorktree | Sai de uma sessão de worktree e retorna ao diretório original. Não disponível para subagents | Não |
Glob | Encontra arquivos com base em correspondência de padrões. Veja comportamento da ferramenta Glob | Não |
Grep | Pesquisa padrões no conteúdo de arquivos. Veja comportamento da ferramenta Grep | Não |
ListMcpResourcesTool | Lista recursos expostos por servidores MCP conectados | Não |
LSP | Inteligência de código via servidores de linguagem: ir para definições, encontrar referências, relatar erros de tipo e avisos. Veja comportamento da ferramenta LSP | Não |
Monitor | Executa um comando em segundo plano e alimenta cada linha de saída de volta para Claude, para que ele possa reagir a entradas de log, mudanças de arquivo ou status consultado no meio da conversa. Veja ferramenta Monitor | Sim |
NotebookEdit | Modifica células de notebook Jupyter. Veja comportamento da ferramenta NotebookEdit | Sim |
PowerShell | Executa comandos PowerShell nativamente. Veja ferramenta PowerShell para disponibilidade | Sim |
PushNotification | Envia uma notificação de desktop e um push de telefone quando Remote Control está conectado, para que uma tarefa de longa duração ou tarefa agendada possa alcançá-lo quando você se afastar. A entrega de push é executada através de infraestrutura hospedada pela Anthropic, que não é acessível do Amazon Bedrock, Google Vertex AI ou Microsoft Foundry | Não |
Read | Lê o conteúdo de arquivos. Veja comportamento da ferramenta Read | Não |
ReadMcpResourceTool | Lê um recurso MCP específico por URI | Não |
RemoteTrigger | Cria, atualiza, executa e lista Routines no claude.ai. Suporta o comando /schedule. Routines vivem no claude.ai e requerem um plano Pro, Max, Team ou Enterprise, portanto esta ferramenta não é acessível do Amazon Bedrock, Google Vertex AI ou Microsoft Foundry | Não |
SendMessage | Envia uma mensagem para um membro da equipe de agentes, ou retoma um subagent por seu ID de agente. Subagents parados retomam automaticamente em segundo plano. Disponível apenas quando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 está definido | Não |
ShareOnboardingGuide | Carrega ONBOARDING.md e retorna um link de compartilhamento que colegas podem abrir no Claude Code. Chamado de /team-onboarding após o guia ser escrito. Disponível para assinantes do claude.ai em planos Pro, Max, Team e Enterprise | Sim |
Skill | Executa uma skill dentro da conversa principal | Sim |
TaskCreate | Cria uma nova tarefa na lista de tarefas | Não |
TaskGet | Recupera detalhes completos para uma tarefa específica | Não |
TaskList | Lista todas as tarefas com seu status atual | Não |
TaskOutput | (Descontinuado) Recupera saída de uma tarefa em segundo plano. Prefira Read no caminho do arquivo de saída da tarefa | Não |
TaskStop | Mata uma tarefa em segundo plano em execução por ID | Não |
TaskUpdate | Atualiza status da tarefa, dependências, detalhes ou deleta tarefas | Não |
TeamCreate | Cria uma equipe de agentes com múltiplos membros. Disponível apenas quando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 está definido | Não |
TeamDelete | Dissolve uma equipe de agentes e limpa processos de membros. Disponível apenas quando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 está definido | Não |
TodoWrite | Gerencia a lista de verificação de tarefas da sessão. Disponível em modo não interativo e no Agent SDK; sessões interativas usam TaskCreate, TaskGet, TaskList e TaskUpdate em vez disso | Não |
ToolSearch | Pesquisa e carrega ferramentas diferidas quando pesquisa de ferramentas está ativada | Não |
WebFetch | Busca conteúdo de uma URL especificada. Veja comportamento da ferramenta WebFetch | Sim |
WebSearch | Realiza pesquisas na web. Veja comportamento da ferramenta WebSearch | Sim |
Write | Cria ou sobrescreve arquivos. Veja comportamento da ferramenta Write | Sim |
Configurar ferramentas com regras de permissão e hooks
Na maioria dos casos, Claude decide quando usar essas ferramentas e você não precisa nomeá-las quando interage com Claude. Você referencia nomes de ferramentas diretamente ao definir permissões e outras configurações:- em
permissions.allowepermissions.denyem configurações e na interface/permissions - nos sinalizadores CLI
--allowedToolse--disallowedTools - nas opções
allowedToolsedisallowedToolsdo Agent SDK - no frontmatter
toolsoudisallowedToolsde um subagent - no frontmatter
allowed-toolsde uma skill - na condição
ifde um hook
ToolName(specifier). O especificador depende da ferramenta, e várias ferramentas compartilham um formato:
| Formato de regra | Aplica-se a | Detalhes |
|---|---|---|
Bash(npm run *) | Bash, Monitor | Correspondência de padrão de comando |
PowerShell(Get-ChildItem *) | PowerShell | Correspondência de padrão de comando |
Read(~/secrets/**) | Read, Grep, Glob, LSP | Correspondência de padrão de caminho |
Edit(/src/**) | Edit, Write, NotebookEdit | Correspondência de padrão de caminho |
Skill(deploy *) | Skill | Correspondência de nome de skill |
Agent(Explore) | Agent | Correspondência de tipo de subagent |
WebFetch(domain:example.com) | WebFetch | Correspondência de domínio |
WebSearch | WebSearch | Sem especificador; permitir ou negar a ferramenta como um todo |
ExitPlanMode ou ShareOnboardingGuide, aceitam apenas o nome da ferramenta sem especificador.
Uma regra de permissão Edit(...) também concede acesso de leitura ao mesmo caminho, portanto você não precisa de uma regra Read(...) correspondente.
Os campos matcher de hooks usam nomes de ferramentas simples, não o formato de regra entre parênteses. Veja padrões de correspondência para as regras de correspondência. Para os nomes de campos que cada ferramenta passa para tool_input em hooks, veja a referência de entrada PreToolUse.
Comportamento da ferramenta Agent
A ferramenta Agent cria um subagent em uma janela de contexto separada. O subagent trabalha através de sua tarefa autonomamente, depois retorna um único resultado de texto para a conversa pai. O pai não vê as chamadas de ferramenta intermediárias ou saídas do subagent, apenas esse resultado final. Para limitar quantas voltas um subagent executa, definamaxTurns na definição do subagent.
A mesma ferramenta Agent também inicia subagents bifurcados quando o modo de bifurcação está ativado. Uma bifurcação herda a conversa pai completa em vez de começar do zero, sempre é executada em segundo plano e ainda exibe prompts de permissão em seu terminal. O resto desta seção descreve subagents nomeados.
Quais ferramentas um subagent nomeado pode usar depende dos campos tools e disallowedTools na definição do subagent:
- Nenhum campo definido: o subagent herda todas as ferramentas disponíveis para o pai.
- Apenas
tools: o subagent obtém apenas as ferramentas listadas. - Apenas
disallowedTools: o subagent obtém todas as ferramentas pai exceto as listadas. - Ambos definidos:
disallowedToolstem precedência. Uma ferramenta listada em ambos é removida.
- Subagents em primeiro plano mostram os mesmos prompts de permissão que você veria na conversa principal, no momento em que cada chamada de ferramenta acontece.
- Subagents em segundo plano não mostram prompts. Eles são executados com as permissões já concedidas na sessão e negam automaticamente qualquer chamada de ferramenta que de outra forma solicitaria. Após uma negação, o subagent continua sem essa ferramenta.
tools, deixe Bash fora da lista ou defina regras de negação em suas configurações, conforme descrito em Controlar capacidades de subagent. Para mais informações sobre como escolher entre primeiro plano e segundo plano, veja Executar subagents em primeiro plano ou segundo plano.
Comportamento da ferramenta Bash
A ferramenta Bash executa cada comando em um processo separado com o seguinte comportamento de persistência:- Quando Claude executa
cdna sessão principal, o novo diretório de trabalho é mantido para comandos Bash posteriores, desde que permaneça dentro do diretório do projeto ou um diretório de trabalho adicional que você adicionou com--add-dir,/add-dirouadditionalDirectoriesnas configurações. Sessões de subagent nunca mantêm mudanças de diretório de trabalho.- Se
cdsair desses diretórios, Claude Code redefine para o diretório do projeto e anexaShell cwd was reset to <dir>ao resultado da ferramenta. - Para desabilitar esse carregamento para que cada comando Bash comece no diretório do projeto, defina
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1.
- Se
- As variáveis de ambiente não persistem. Um
exportem um comando não estará disponível no próximo.
CLAUDE_ENV_FILE para um script de shell antes de iniciar Claude Code, ou use um hook SessionStart para preenchê-lo dinamicamente.
Dois limites limitam cada comando:
- Timeout: dois minutos por padrão. Claude pode solicitar até 10 minutos por comando com o parâmetro
timeout. Substitua o padrão e o limite máximo comBASH_DEFAULT_TIMEOUT_MSeBASH_MAX_TIMEOUT_MS. - Comprimento de saída: 30.000 caracteres por padrão. Quando um comando produz mais do que isso, Claude Code salva a saída completa em um arquivo no diretório da sessão e fornece a Claude o caminho do arquivo mais uma visualização curta do início. Claude lê ou pesquisa esse arquivo quando precisa do resto. Aumente o limite com
BASH_MAX_OUTPUT_LENGTH, até um limite máximo de 150.000 caracteres.
run_in_background: true para iniciar o comando como uma tarefa em segundo plano e continuar trabalhando enquanto ele é executado. Liste e pare tarefas em segundo plano com /tasks.
Comportamento da ferramenta Edit
A ferramenta Edit realiza substituição exata de string. Ela pega umold_string e um new_string e substitui o primeiro pelo segundo. Ela não usa regex ou correspondência difusa.
Três verificações devem passar para que uma edição seja aplicada:
- Leitura antes da edição: Claude deve ter lido o arquivo na conversa atual e o arquivo não deve ter mudado no disco desde essa leitura. Esta verificação é executada primeiro, antes de qualquer correspondência de string.
- Correspondência:
old_stringdeve aparecer no arquivo exatamente como escrito. Uma única diferença de caractere de espaço em branco ou indentação é suficiente para falhar. - Unicidade:
old_stringdeve aparecer exatamente uma vez. Quando aparece mais de uma vez, Claude fornece uma string mais longa com contexto circundante suficiente para fixar uma ocorrência, ou definereplace_all: truepara substituir todas.
cat path/to/file ou sed -n 'X,Yp' path/to/file em um único arquivo sem pipes ou redirecionamentos. Outros comandos Bash como head, tail ou saída com pipe não contam, e Claude deve usar Read antes de editar nesses casos.
Isso afeta apenas a elegibilidade de edição, não as permissões. Regras de negação de Read e Edit também se aplicam a comandos de arquivo que Claude Code reconhece em Bash, como cat, head, tail e sed, mas não a subprocessos arbitrários que leem ou escrevem arquivos indiretamente, como um script Python ou Node que abre arquivos por si mesmo. Para imposição em nível de SO que cobre todos os processos, ative o sandbox.
Comportamento da ferramenta Glob
A ferramenta Glob encontra arquivos por padrão de nome. Ela suporta sintaxe glob padrão incluindo** para correspondência de diretório recursivo:
**/*.jscorresponde a todos os arquivos.jsem qualquer profundidadesrc/**/*.tscorresponde a todos os arquivos.tssobsrc/*.{json,yaml}corresponde a arquivos.jsone.yamlno diretório atual
.gitignore por padrão, portanto encontra arquivos ignorados pelo git junto com os rastreados. Isso difere de Grep, que pula arquivos ignorados pelo git. Para fazer Glob respeitar .gitignore, defina CLAUDE_CODE_GLOB_NO_IGNORE=false antes de iniciar Claude Code.
Comportamento da ferramenta Grep
A ferramenta Grep pesquisa conteúdo de arquivo por padrões. Onde Glob encontra arquivos por nome, Grep encontra linhas dentro deles. Grep é construído em ripgrep e usa sintaxe regex do ripgrep, não grep POSIX. Padrões que incluem metacaracteres regex precisam ser escapados. Por exemplo, encontrarinterface{} em código Go leva o padrão interface\{\}.
Três modos de saída controlam o que volta:
files_with_matches: apenas caminhos de arquivo, sem conteúdo de linha. Este é o padrão.content: linhas correspondentes com arquivo e número de linha.count: contagem de correspondências por arquivo.
glob, como **/*.tsx, ou por linguagem com o parâmetro type, como py ou rust. Por padrão, padrões correspondem dentro de uma única linha. Claude pode definir multiline: true para corresponder através de limites de linha.
Grep respeita .gitignore, portanto arquivos ignorados pelo git são pulados. Para pesquisar um arquivo ignorado pelo git, Claude passa seu caminho diretamente.
Comportamento da ferramenta LSP
A ferramenta LSP fornece a Claude inteligência de código de um servidor de linguagem em execução. Após cada edição de arquivo, ela relata automaticamente erros de tipo e avisos para que Claude possa corrigir problemas sem uma etapa de compilação separada. Claude também pode chamá-la diretamente para navegar no código:- Ir para a definição de um símbolo
- Encontrar todas as referências a um símbolo
- Obter informações de tipo em uma posição
- Listar símbolos em um arquivo ou workspace
- Encontrar implementações de uma interface
- Rastrear hierarquias de chamadas
Ferramenta Monitor
A ferramenta Monitor requer Claude Code v2.1.98 ou posterior.
- Acompanhar um arquivo de log e sinalizar erros conforme aparecem
- Consultar um PR ou trabalho de CI e relatar quando seu status muda
- Observar um diretório para mudanças de arquivo
- Rastrear saída de qualquer script de longa duração que você apontar
allow e deny que você definiu para Bash se aplicam aqui também. Não está disponível no Amazon Bedrock, Google Vertex AI ou Microsoft Foundry. Também não está disponível quando DISABLE_TELEMETRY ou CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC está definido.
Plugins podem declarar monitores que iniciam automaticamente quando o plugin está ativo, em vez de pedir a Claude para iniciá-los. Veja monitores de plugin.
Comportamento da ferramenta NotebookEdit
NotebookEdit modifica um notebook Jupyter uma célula por vez, direcionando células por seucell_id. Ela não realiza substituição de string em todo o notebook da forma que Edit faz em arquivos simples.
Três modos de edição controlam o que acontece com a célula alvo:
replace: sobrescreve a fonte da célula. Este é o padrão.insert: adiciona uma nova célula após a alvo. Semcell_id, a nova célula vai no início do notebook. Requercell_typedefinido comocodeoumarkdown.delete: remove a célula alvo.
Edit(...). Uma regra como Edit(notebooks/**) cobre chamadas NotebookEdit em arquivos nesse diretório.
Ferramenta PowerShell
A ferramenta PowerShell permite que Claude execute comandos PowerShell nativamente. No Windows, isso significa que os comandos são executados no PowerShell em vez de serem roteados através do Git Bash. No Windows sem Git Bash, a ferramenta é ativada automaticamente. No Windows com Git Bash instalado, a ferramenta está sendo lançada progressivamente. No Linux, macOS e WSL, a ferramenta é opcional.Ativar a ferramenta PowerShell
DefinaCLAUDE_CODE_USE_POWERSHELL_TOOL=1 em seu ambiente ou em settings.json:
0 para desativar o lançamento. No Linux, macOS e WSL, a ferramenta requer PowerShell 7 ou posterior: instale pwsh e certifique-se de que está em seu PATH.
No Windows, Claude Code detecta automaticamente pwsh.exe para PowerShell 7+ com fallback para powershell.exe para PowerShell 5.1. Quando a ferramenta está ativada, Claude trata PowerShell como o shell primário. A ferramenta Bash permanece disponível para scripts POSIX quando Git Bash está instalado.
Seleção de shell em configurações, hooks e skills
Três configurações adicionais controlam onde PowerShell é usado:"defaultShell": "powershell"emsettings.json: roteia comandos!interativos através do PowerShell. Requer que a ferramenta PowerShell esteja ativada."shell": "powershell"em hooks de comando individuais: executa esse hook em PowerShell. Hooks geram PowerShell diretamente, portanto isso funciona independentemente deCLAUDE_CODE_USE_POWERSHELL_TOOL.shell: powershellem frontmatter de skill: executa blocos!`command`em PowerShell. Requer que a ferramenta PowerShell esteja ativada.
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR.
Limitações da visualização
A ferramenta PowerShell tem as seguintes limitações conhecidas durante a visualização:- Perfis do PowerShell não são carregados
- No Windows, sandboxing não é suportado
Comportamento da ferramenta Read
A ferramenta Read pega um caminho de arquivo e retorna o conteúdo com números de linha. Claude é instruído a sempre passar caminhos absolutos. Por padrão, Read retorna o arquivo do início. Arquivos acima de um limite de tamanho retornam um erro em vez de conteúdo parcial, solicitando a Claude tentar novamente comoffset e limit para ler um intervalo específico.
Read lida com vários tipos de arquivo além de texto simples:
- Imagens: PNG, JPG e outros formatos de imagem são retornados como conteúdo visual que Claude pode ver, não como bytes brutos. Claude Code redimensiona e recompacta imagens grandes para se ajustar aos limites de tamanho de imagem do modelo antes de enviá-las, portanto Claude pode ver uma versão reduzida de uma captura de tela grande. Se Claude perder detalhes de nível de pixel fino em uma imagem grande, peça-lhe para cortar a região de interesse primeiro, por exemplo com ImageMagick via Bash.
- PDFs: Claude lê arquivos
.pdfcurtos inteiros. Para PDFs mais longos que 10 páginas, ele lê em intervalos com um parâmetropages, como"1-5", até 20 páginas por vez. - Notebooks Jupyter: arquivos
.ipynbretornam todas as células com suas saídas, incluindo código, markdown e visualizações.
ls via a ferramenta Bash para listar conteúdo de diretório.
Comportamento da ferramenta WebFetch
WebFetch pega uma URL e um prompt descrevendo o que extrair. Ela busca a página, converte a resposta para Markdown quando o servidor retorna HTML e executa o prompt contra o conteúdo usando um modelo pequeno e rápido. Para a maioria das buscas, Claude recebe a resposta desse modelo, não a página bruta. A etapa de conversão não é configurável. Isso torna WebFetch com perda por design. O prompt de extração determina o que chega a Claude, portanto um resultado que diz que uma página não menciona algo pode apenas significar que o prompt não perguntou sobre isso. Peça a Claude para buscar novamente com um prompt mais específico, ou usecurl via Bash para a página não processada.
Alguns comportamentos moldam a resposta que Claude recebe:
- URLs HTTP são automaticamente atualizadas para HTTPS.
- Páginas grandes são truncadas para um limite de caracteres fixo antes do processamento.
- Respostas são armazenadas em cache por 15 minutos, portanto buscas repetidas da mesma URL retornam rapidamente.
- Quando uma URL redireciona para um host diferente, WebFetch retorna um resultado de texto que nomeia a URL original e o alvo de redirecionamento em vez de segui-lo. Claude então busca a nova URL com uma segunda chamada WebFetch.
acceptEdits, WebFetch solicita a primeira vez que atinge um novo domínio. Para permitir um domínio antecipadamente sem um prompt, adicione uma regra de permissão como WebFetch(domain:example.com). Os modos de permissão auto e bypassPermissions permission modes pulam o prompt inteiramente.
WebFetch define um cabeçalho User-Agent começando com Claude-User e um cabeçalho Accept que prefere Markdown sobre HTML para que servidores que suportam negociação de conteúdo possam retornar Markdown diretamente. Sandbox regras de rede são configuradas separadamente, portanto um domínio que você quer que um processo em sandbox alcance ainda precisa de uma regra de permissão de sandbox explícita.
Comportamento da ferramenta WebSearch
WebSearch executa uma consulta contra o backend de pesquisa na web da Anthropic e retorna títulos e URLs de resultados. Ela não busca as páginas de resultado. Para ler uma página que Claude encontra em resultados de pesquisa, ele segue com WebFetch. A ferramenta pode emitir até oito pesquisas de backend por chamada, refinando a pesquisa internamente antes de retornar resultados. Claude pode escopar resultados comallowed_domains para incluir apenas certos hosts, ou blocked_domains para excluí-los. As duas listas não podem ser combinadas em uma única chamada.
O backend de pesquisa não é configurável. Para pesquisar com um provedor diferente, adicione um servidor MCP que exponha uma ferramenta de pesquisa.
Regras de permissão WebSearch não levam especificador. Uma entrada WebSearch simples em allow ou deny é a única forma.
WebSearch está disponível na Claude API e Microsoft Foundry. No Google Cloud Vertex AI funciona com modelos Claude 4, incluindo Opus, Sonnet e Haiku. Amazon Bedrock não expõe a ferramenta de pesquisa na web do lado do servidor.
Comportamento da ferramenta Write
A ferramenta Write cria um novo arquivo ou sobrescreve um existente com o conteúdo completo fornecido. Ela não anexa ou mescla. Se o caminho alvo já existe, Claude deve ter lido esse arquivo pelo menos uma vez na conversa atual antes de sobrescrevê-lo. Uma Write para um arquivo existente não lido falha com um erro. Esta restrição não se aplica a novos arquivos. Visualizar o arquivo com Bashcat ou sed -n também satisfaz este requisito, conforme descrito em comportamento da ferramenta Edit.
Para mudanças parciais em um arquivo existente, Claude usa Edit em vez de Write.
Verificar quais ferramentas estão disponíveis
Seu conjunto exato de ferramentas depende do seu provedor, plataforma e configurações. Para verificar o que está carregado em uma sessão em execução, pergunte a Claude diretamente:/mcp.
Veja também
- Servidores MCP: adicione ferramentas personalizadas conectando servidores externos
- Permissões: sistema de permissões, sintaxe de regras e padrões específicos de ferramentas
- Subagents: configure o acesso a ferramentas para subagents
- Hooks: execute comandos personalizados antes ou depois da execução da ferramenta