Riferimento degli strumenti
Riferimento completo per gli strumenti che Claude Code può utilizzare, inclusi i requisiti di autorizzazione.
Claude Code ha accesso a un set di strumenti integrati che lo aiutano a comprendere e modificare la tua codebase. I nomi degli strumenti sono le stringhe esatte che utilizzi nelle regole di autorizzazione, elenchi di strumenti subagent, e hook matchers. Per disabilitare completamente uno strumento, aggiungi il suo nome all'array deny nelle tue impostazioni di autorizzazione.
Per aggiungere strumenti personalizzati, connetti un server MCP. Per estendere Claude con flussi di lavoro basati su prompt riutilizzabili, scrivi una skill, che viene eseguita attraverso lo strumento Skill esistente piuttosto che aggiungere una nuova voce di strumento.
| Strumento | Descrizione | Autorizzazione Richiesta |
|---|---|---|
Agent |
Genera un subagent con la propria finestra di contesto per gestire un'attività | No |
AskUserQuestion |
Pone domande a scelta multipla per raccogliere requisiti o chiarire ambiguità | No |
Bash |
Esegue comandi shell nel tuo ambiente. Vedi comportamento dello strumento Bash | Sì |
CronCreate |
Pianifica un prompt ricorrente o una tantum all'interno della sessione corrente. Le attività hanno ambito di sessione e vengono ripristinate su --resume o --continue se non scadute. Vedi attività pianificate |
No |
CronDelete |
Annulla un'attività pianificata per ID | No |
CronList |
Elenca tutte le attività pianificate nella sessione | No |
Edit |
Effettua modifiche mirate a file specifici | Sì |
EnterPlanMode |
Passa a Plan Mode per progettare un approccio prima di codificare | No |
EnterWorktree |
Crea un git worktree isolato e vi accede. Passa un path per accedere a un worktree esistente del repository corrente invece di crearne uno nuovo. Non disponibile per i subagent |
No |
ExitPlanMode |
Presenta un piano per l'approvazione ed esce da Plan Mode | Sì |
ExitWorktree |
Esce da una sessione worktree e ritorna alla directory originale. Non disponibile per i subagent | No |
Glob |
Trova file in base alla corrispondenza di pattern | No |
Grep |
Cerca pattern nei contenuti dei file | No |
ListMcpResourcesTool |
Elenca le risorse esposte dai server MCP connessi | No |
LSP |
Intelligenza del codice tramite language server: salta alle definizioni, trova riferimenti, segnala errori di tipo e avvisi. Vedi comportamento dello strumento LSP | No |
Monitor |
Esegue un comando in background e restituisce ogni riga di output a Claude, in modo che possa reagire alle voci di log, ai cambiamenti di file, o allo stato sottoposto a polling durante la conversazione. Vedi strumento Monitor | Sì |
NotebookEdit |
Modifica le celle del notebook Jupyter | Sì |
PowerShell |
Esegue comandi PowerShell nativamente. Vedi strumento PowerShell per la disponibilità | Sì |
Read |
Legge il contenuto dei file | No |
ReadMcpResourceTool |
Legge una risorsa MCP specifica per URI | No |
SendMessage |
Invia un messaggio a un team di agenti compagno, o riprende un subagent per il suo ID agente. I subagent interrotti si riprendono automaticamente in background. Disponibile solo quando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 è impostato |
No |
Skill |
Esegue una skill all'interno della conversazione principale | Sì |
TaskCreate |
Crea una nuova attività nell'elenco delle attività | No |
TaskGet |
Recupera i dettagli completi per un'attività specifica | No |
TaskList |
Elenca tutte le attività con il loro stato attuale | No |
TaskOutput |
(Deprecato) Recupera l'output da un'attività in background. Preferisci Read sul percorso del file di output dell'attività |
No |
TaskStop |
Termina un'attività in background in esecuzione per ID | No |
TaskUpdate |
Aggiorna lo stato dell'attività, le dipendenze, i dettagli, o elimina le attività | No |
TeamCreate |
Crea un team di agenti con più compagni. Disponibile solo quando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 è impostato |
No |
TeamDelete |
Scioglie un team di agenti e pulisce i processi dei compagni. Disponibile solo quando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 è impostato |
No |
TodoWrite |
Gestisce l'elenco di controllo delle attività della sessione. Disponibile in modalità non interattiva e in Agent SDK; le sessioni interattive utilizzano TaskCreate, TaskGet, TaskList, e TaskUpdate | No |
ToolSearch |
Cerca e carica strumenti differiti quando tool search è abilitato | No |
WebFetch |
Recupera il contenuto da un URL specificato | Sì |
WebSearch |
Esegue ricerche web | Sì |
Write |
Crea o sovrascrivi file | Sì |
Le regole di autorizzazione possono essere configurate utilizzando /permissions o nelle impostazioni di autorizzazione. Vedi anche Regole di autorizzazione specifiche dello strumento.
Comportamento dello strumento Bash
Lo strumento Bash esegue ogni comando in un processo separato con il seguente comportamento di persistenza:
- Quando Claude esegue
cdnella sessione principale, la nuova directory di lavoro viene mantenuta nei comandi Bash successivi finché rimane all'interno della directory del progetto o di una directory di lavoro aggiuntiva che hai aggiunto con--add-dir,/add-dir, oadditionalDirectoriesnelle impostazioni. Le sessioni subagent non mantengono mai i cambiamenti della directory di lavoro.- Se
cdfinisce al di fuori di quelle directory, Claude Code ripristina la directory del progetto e aggiungeShell cwd was reset to <dir>al risultato dello strumento. - Per disabilitare questo mantenimento in modo che ogni comando Bash inizi nella directory del progetto, imposta
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1.
- Se
- Le variabili di ambiente non persistono. Un
exportin un comando non sarà disponibile nel successivo.
Attiva il tuo virtualenv o ambiente conda prima di avviare Claude Code. Per fare in modo che le variabili di ambiente persistano tra i comandi Bash, imposta CLAUDE_ENV_FILE su uno script shell prima di avviare Claude Code, oppure utilizza un hook SessionStart per popolarlo dinamicamente.
Comportamento dello strumento LSP
Lo strumento LSP fornisce a Claude intelligenza del codice da un language server in esecuzione. Dopo ogni modifica di file, segnala automaticamente errori di tipo e avvisi in modo che Claude possa correggere i problemi senza un passaggio di compilazione separato. Claude può anche chiamarlo direttamente per navigare il codice:
- Salta alla definizione di un simbolo
- Trova tutti i riferimenti a un simbolo
- Ottieni informazioni sul tipo in una posizione
- Elenca i simboli in un file o workspace
- Trova implementazioni di un'interfaccia
- Traccia gerarchie di chiamate
Lo strumento è inattivo finché non installi un plugin di intelligenza del codice per il tuo linguaggio. Il plugin raggruppa la configurazione del language server, e installi il binario del server separatamente.
Strumento Monitor
Lo strumento Monitor richiede Claude Code v2.1.98 o successivo.
Lo strumento Monitor consente a Claude di osservare qualcosa in background e reagire quando cambia, senza mettere in pausa la conversazione. Chiedi a Claude di:
- Monitorare un file di log e segnalare gli errori man mano che appaiono
- Eseguire il polling di una PR o di un lavoro CI e segnalare quando il suo stato cambia
- Osservare una directory per i cambiamenti di file
- Tracciare l'output da qualsiasi script di lunga durata che gli indichi
Claude scrive un piccolo script per l'osservazione, lo esegue in background e riceve ogni riga di output man mano che arriva. Continui a lavorare nella stessa sessione e Claude interviene quando un evento si verifica. Interrompi un monitor chiedendo a Claude di annullarlo o terminando la sessione.
Monitor utilizza le stesse regole di autorizzazione di Bash, quindi i pattern allow e deny che hai impostato per Bash si applicano anche qui. Non è disponibile su Amazon Bedrock, Google Vertex AI, o Microsoft Foundry. Non è disponibile nemmeno quando DISABLE_TELEMETRY o CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC è impostato.
I plugin possono dichiarare monitor che si avviano automaticamente quando il plugin è attivo, invece di chiedere a Claude di avviarli. Vedi plugin monitors.
Strumento PowerShell
Lo strumento PowerShell consente a Claude di eseguire comandi PowerShell nativamente. Su Windows, questo significa che i comandi vengono eseguiti in PowerShell invece di essere instradati attraverso Git Bash. Su Windows senza Git Bash, lo strumento è abilitato automaticamente. Su Windows con Git Bash installato, lo strumento è in rollout progressivo. Su Linux, macOS e WSL, lo strumento è opt-in.
Abilita lo strumento PowerShell
Imposta CLAUDE_CODE_USE_POWERSHELL_TOOL=1 nel tuo ambiente o in settings.json:
{
"env": {
"CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
}
}
Su Windows, imposta la variabile a 0 per rinunciare al rollout. Su Linux, macOS e WSL, lo strumento richiede PowerShell 7 o successivo: installa pwsh e assicurati che sia nel tuo PATH.
Su Windows, Claude Code rileva automaticamente pwsh.exe per PowerShell 7+ con un fallback a powershell.exe per PowerShell 5.1. Quando lo strumento è abilitato, Claude tratta PowerShell come la shell primaria. Lo strumento Bash rimane disponibile per gli script POSIX quando Git Bash è installato.
Selezione della shell nelle impostazioni, negli hook e nelle skill
Tre impostazioni aggiuntive controllano dove viene utilizzato PowerShell:
"defaultShell": "powershell"insettings.json: instrada i comandi interattivi!attraverso PowerShell. Richiede che lo strumento PowerShell sia abilitato."shell": "powershell"su singoli hook di comando: esegue quell'hook in PowerShell. Gli hook avviano PowerShell direttamente, quindi funziona indipendentemente daCLAUDE_CODE_USE_POWERSHELL_TOOL.shell: powershellnel frontmatter della skill: esegue i blocchi!`command`in PowerShell. Richiede che lo strumento PowerShell sia abilitato.
Lo stesso comportamento di ripristino della directory di lavoro della sessione principale descritto nella sezione dello strumento Bash si applica ai comandi PowerShell, inclusa la variabile di ambiente CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR.
Limitazioni dell'anteprima
Lo strumento PowerShell ha le seguenti limitazioni note durante l'anteprima:
- I profili PowerShell non vengono caricati
- Su Windows, il sandboxing non è supportato
Verifica quali strumenti sono disponibili
Il tuo set esatto di strumenti dipende dal tuo provider, dalla piattaforma e dalle impostazioni. Per verificare cosa è caricato in una sessione in esecuzione, chiedi direttamente a Claude:
What tools do you have access to?
Claude fornisce un riepilogo conversazionale. Per i nomi esatti degli strumenti MCP, esegui /mcp.
Vedi anche
- Server MCP: aggiungi strumenti personalizzati connettendo server esterni
- Autorizzazioni: sistema di autorizzazione, sintassi delle regole, e pattern specifici dello strumento
- Subagent: configura l'accesso agli strumenti per i subagent
- Hooks: esegui comandi personalizzati prima o dopo l'esecuzione dello strumento