---
title: Risoluzione dei problemi dell'uso degli strumenti
url: https://platform.claude.com/docs/it/agents-and-tools/tool-use/troubleshooting-tool-use
description: Risolvi gli errori più comuni dell'uso degli strumenti con tabelle diagnostiche dal sintomo alla soluzione.
---

Tabelle dal sintomo alla soluzione per gli errori più comuni del "tool use" (uso degli strumenti). Ogni soluzione rimanda alla pagina dedicata alla funzionalità corrispondente.

## Claude chiama lo strumento sbagliato

| Sintomo                                                   | Causa probabile                                           | Soluzione                                                                                                                                                                                                       |
| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Claude chiama lo strumento A quando volevi lo strumento B | Ambiguità nella descrizione                               | Affina le descrizioni. Differenzia gli strumenti in base a QUANDO usarli, non solo a COSA fanno. Consulta [Definire gli strumenti](https://platform.claude.com/docs/it/agents-and-tools/tool-use/define-tools). |
| Claude non chiama mai il tuo strumento                    | Collisione tra nomi di strumenti o schema troppo generico | Verifica la presenza di nomi duplicati nell'elenco degli strumenti. Aggiungi `input_examples` per rendere concreto l'uso previsto.                                                                              |
| Claude chiama con tipi di parametro errati                | Il modello indovina di fronte a uno schema ambiguo        | Aggiungi `strict: true` (se il tuo schema rientra nel sottoinsieme supportato) oppure aggiungi `input_examples`.                                                                                                |

## Claude inventa parametri degli strumenti

| Sintomo                                       | Causa probabile                                     | Soluzione                                                                                                                                                      |
| --------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parametro che non esiste nel tuo schema       | Sovra-generazione del modello senza modalità strict | Aggiungi `strict: true` se il tuo schema rientra nel [sottoinsieme supportato](https://platform.claude.com/docs/it/agents-and-tools/tool-use/strict-tool-use). |
| Valori dei parametri al di fuori del tuo enum | Modalità strict mancante o enum troppo grande       | Riduci l'enum oppure aggiungi `input_examples` che mostrino le scelte valide.                                                                                  |

## Le chiamate parallele agli strumenti non funzionano

| Sintomo                                                                    | Causa probabile                             | Soluzione                                                                                                                                                                                                  |
| -------------------------------------------------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Claude chiama gli strumenti in sequenza quando sarebbe meglio in parallelo | Formattazione della cronologia dei messaggi | Invia più blocchi `tool_result` in UN SOLO messaggio utente, non uno per turno. Consulta [Uso parallelo degli strumenti](https://platform.claude.com/docs/it/agents-and-tools/tool-use/parallel-tool-use). |
| `disable_parallel_tool_use` sembra ignorato                                | Impostato troppo tardi nella conversazione  | Deve essere impostato sulla richiesta che restituisce `tool_use`. Impostarlo su una richiesta successiva non ha effetto sulle chiamate agli strumenti precedenti.                                          |

## La cache continua a invalidarsi

| Sintomo                                                      | Causa probabile                                                                                 | Soluzione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Ogni richiesta è un cache miss                               | `tool_choice`, la configurazione del thinking o `output_config.effort` variano tra le richieste | Mantieni `tool_choice` stabile oppure posiziona il breakpoint `cache_control` prima del punto di variazione; mantieni costanti la configurazione del thinking e il livello di effort per tutta la durata di una conversazione in cache. Consulta [Uso degli strumenti con la cache dei prompt](https://platform.claude.com/docs/it/agents-and-tools/tool-use/tool-use-with-prompt-caching) e [Ragionamento e cache dei prompt](https://platform.claude.com/docs/it/build-with-claude/thinking#thinking-and-prompt-caching). |
| Aggiungere uno strumento a metà conversazione rompe la cache | Strumento inserito all'inizio dell'array tools                                                  | Usa `defer_loading: true` con la ricerca degli strumenti per aggiungere lo strumento inline invece di modificare la testa dell'array.                                                                                                                                                                                                                                                                                                                                                                                       |

## Errori al momento della richiesta

| Errore                                                                 | Causa                                                                                                                                                                                                                                                                                                                                                                                                                                             | Soluzione                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tool_use ids were found without tool_result blocks immediately after` | `tool_result` mancante per alcuni id `tool_use`, oppure `tool_result` non è il primo blocco di contenuto nel messaggio utente                                                                                                                                                                                                                                                                                                                     | Restituisci un `tool_result` per ogni blocco `tool_use` nella risposta dell'assistente. Metti i blocchi `tool_result` prima di qualsiasi testo. Consulta [Gestire le chiamate agli strumenti](https://platform.claude.com/docs/it/agents-and-tools/tool-use/handle-tool-calls) e [Uso parallelo degli strumenti](https://platform.claude.com/docs/it/agents-and-tools/tool-use/parallel-tool-use). |
| `was found without a corresponding <name>_tool_result block`           | Il turno precedente dell'assistente contiene un blocco `server_tool_use` senza blocco di risultato (il più delle volte, Claude lo ha chiamato insieme a uno strumento client), e il tuo messaggio utente successivo ha terminato quel turno (ad esempio, con del testo dopo i blocchi `tool_result`) oppure la richiesta di ripresa non definisce più quello strumento server (il messaggio termina allora con `but no <name> tool was provided`) | Invia un messaggio utente contenente solo i blocchi `tool_result` per gli id `tool_use` client e mantieni lo stesso array `tools`. Consulta [Motivi di arresto e fallback](https://platform.claude.com/docs/it/build-with-claude/handling-stop-reasons#tool-use).                                                                                                                                  |
| `Unsupported regex feature in pattern field: ...`                      | Un `pattern` nell'`input_schema` di uno strumento strict usa una funzionalità regex che la modalità strict non può compilare, come un backreference, un lookaround, un word boundary o un intervallo `{n,m}` ampio                                                                                                                                                                                                                                | Semplifica il pattern. Sono supportati i pattern ancorati con quantificatori di base, classi di caratteri e gruppi; consulta [Limitazioni di JSON Schema](https://platform.claude.com/docs/it/build-with-claude/structured-outputs#json-schema-limitations).                                                                                                                                       |
| `All tools have defer_loading: true`                                   | Nessuno strumento visibile al modello                                                                                                                                                                                                                                                                                                                                                                                                             | Almeno uno strumento deve essere caricato immediatamente. Lo strumento di ricerca degli strumenti stesso non deve mai avere `defer_loading: true`.                                                                                                                                                                                                                                                 |

## Errore: i blocchi thinking non possono essere modificati

Se una richiesta fallisce con un 400 `invalid_request_error` il cui messaggio contiene `` `thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modified `` quando prosegui una conversazione dopo una chiamata a uno strumento, la tua applicazione sta alterando i blocchi thinking dell'assistente prima di rinviarli. Rinvia l'intero messaggio dell'assistente invariato, quindi aggiungi il tuo `tool_result`.

Consulta [I blocchi thinking non possono essere modificati](https://platform.claude.com/docs/it/api/errors#thinking-blocks-cannot-be-modified) per l'errore completo e i passaggi di risoluzione.

## Claude segnala i risultati degli strumenti come prompt injection

| Sintomo                                                                                                                               | Causa probabile                                                                      | Soluzione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Claude si rifiuta di agire su un risultato di uno strumento, oppure chiede all'utente di confermare istruzioni che provengono da esso | Le tue stesse istruzioni vengono fornite all'interno del contenuto del `tool_result` | Claude è addestrato a trattare le istruzioni all'interno dei risultati degli strumenti come contenuto di terze parti potenzialmente non attendibile. Sposta le tue istruzioni fuori dal risultato dello strumento: inviale in un turno `user` dopo il blocco `tool_result` oppure, sui modelli supportati, in un [messaggio di sistema a metà conversazione](https://platform.claude.com/docs/it/build-with-claude/mid-conversation-system-messages). Limita il risultato dello strumento ai soli dati. Consulta [Mitigare jailbreak e prompt injection](https://platform.claude.com/docs/it/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks#indirect-prompt-injection). |

## Differenze nell'escaping JSON tra versioni del modello

| Sintomo                                                                                  | Causa                                                                              | Soluzione                                                                                                                      |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Il confronto tra stringhe sugli input degli strumenti fallisce con i modelli più recenti | L'escaping di Unicode e delle barre oblique differisce tra le versioni dei modelli | Esegui il parsing con `json.loads()` o `JSON.parse()`. Non eseguire mai confronti tra stringhe grezze sull'input serializzato. |

## Passaggi successivi

<CardGroup cols={3}>
  <Card title="Definire gli strumenti" href="https://platform.claude.com/docs/it/agents-and-tools/tool-use/define-tools">
    Scrivi schemi e descrizioni che indirizzino Claude verso lo strumento giusto.
  </Card>

  <Card title="Gestire le chiamate agli strumenti" href="https://platform.claude.com/docs/it/agents-and-tools/tool-use/handle-tool-calls">
    Esegui gli strumenti e restituisci i risultati nel formato di messaggio richiesto.
  </Card>

  <Card title="Riferimento degli strumenti" href="https://platform.claude.com/docs/it/agents-and-tools/tool-use/tool-reference">
    Elenco completo degli strumenti forniti da Anthropic e delle relative stringhe di versione.
  </Card>
</CardGroup>
