4244 Errori degli strumenti4244 Errori degli strumenti
4245</h2>4245</h2>
4246 4246
4247Questi errori provengono dalle chiamate agli strumenti di Claude. Claude corregge la maggior parte degli errori degli strumenti autonomamente. Quando uno richiede una modifica da parte tua, l'elenco **Cosa fare** di quell'errore specifica cosa cambiare.4247Questi errori derivano dalle chiamate agli strumenti di Claude. Claude corregge da solo la maggior parte degli errori degli strumenti. Quando un errore richiede una modifica da parte tua, l'elenco **Cosa fare** di quell'errore indica cosa cambiare.
4248 4248
4249<h3 id="no-such-tool-available">4249<h3 id="no-such-tool-available">
4250 No such tool available4250 No such tool available
4251</h3>4251</h3>
4252 4252
4253Claude ha chiamato uno strumento con un nome che non è nell'elenco degli strumenti della sessione. Claude Code restituisce l'errore a Claude come risultato della chiamata allo strumento, e il turno continua. Quando Claude Code riesce a capire perché lo strumento manca, aggiunge una frase dopo il nome dello strumento che indica il motivo o nomina lo strumento da chiamare al suo posto, come nella seconda riga:4253Claude ha chiamato uno strumento con un nome che non è presente nell'elenco degli strumenti della sessione. Claude Code restituisce l'errore a Claude come risultato della chiamata allo strumento e il turno prosegue. Quando Claude Code riesce a capire perché lo strumento manca, aggiunge dopo il nome dello strumento una frase che indica il motivo o nomina lo strumento da chiamare al suo posto, come nella seconda riga:
4254 4254
4255```text theme={null}4255```text theme={null}
4256Error: No such tool available: <tool name>4256Error: No such tool available: <tool name>
4257Error: No such tool available: read. Tool names are case-sensitive: call Read instead.4257Error: No such tool available: read. Tool names are case-sensitive: call Read instead.
4258```4258```
4259 4259
4260Subito dopo che riprendi una sessione, un server MCP può essere ancora al suo primo tentativo di connessione quando Claude chiama uno dei suoi strumenti. Claude Code allora [attende il server](/docs/it/mcp#tool-availability) e restituisce questo errore se lo strumento non è ancora disponibile al termine dell'attesa. Prima della v2.1.284, una chiamata di questo tipo falliva immediatamente invece di attendere.4260Subito dopo aver ripreso una sessione, un server MCP può trovarsi ancora al primo tentativo di connessione quando Claude chiama uno dei suoi strumenti. Claude Code allora [attende il server](/docs/it/mcp#tool-availability) e restituisce questo errore se lo strumento non è ancora disponibile al termine dell'attesa. Prima della v2.1.284, una chiamata di questo tipo falliva immediatamente invece di attendere.
4261 4261
4262Anche una chiamata il cui nome dello strumento Claude Code ha [troncato a 200 caratteri](#tool-use-name-over-200-characters) fallisce con questo errore.4262Anche una chiamata il cui nome dello strumento è stato [troncato da Claude Code a 200 caratteri](#tool-use-name-over-200-characters) fallisce con questo errore.
4263 4263
4264**Cosa fare:**4264**Cosa fare:**
4265 4265
4266* Se succede una volta, non devi fare nulla. Claude legge l'errore e il turno continua.4266* Se succede una volta sola, non devi fare nulla. Claude legge l'errore e il turno prosegue.
4267* Se le chiamate agli strumenti di un server MCP continuano a fallire con questo errore, esegui `/mcp` nella sessione o `claude mcp list` nella tua shell per controllare lo [stato](/docs/it/mcp#server-status) del server, e riconnetti un server non riuscito da `/mcp`. Nell'Agent SDK, consulta [Gestione degli errori](/docs/it/agent-sdk/mcp#error-handling).4267* Se le chiamate agli strumenti di un server MCP continuano a fallire con questo errore, esegui `/mcp` nella sessione o `claude mcp list` nella tua shell per controllare lo [stato](/docs/it/mcp#server-status) del server, e riconnetti un server non riuscito da `/mcp`. Nell'Agent SDK, consulta [Gestione degli errori](/docs/it/agent-sdk/mcp#error-handling).
4268 4268
4269<h3 id="agent-would-be-spawned-with-zero-tools">4269<h3 id="agent-would-be-spawned-with-zero-tools">
4270 Agent would be spawned with zero tools4270 Agent would be spawned with zero tools
4271</h3>4271</h3>
4272 4272
4273Ogni voce nell'elenco [`tools` del subagent](/docs/it/sub-agents#supported-frontmatter-fields) non ha corrisposto a uno strumento utilizzabile, quindi Claude Code ha rifiutato di avviare il subagent: senza strumenti, non poteva agire. Il messaggio raggruppa le tue voci in base a cosa è andato storto:4273Nessuna voce nell'[elenco `tools`](/docs/it/sub-agents#supported-frontmatter-fields) del subagent corrispondeva a uno strumento utilizzabile, quindi Claude Code si è rifiutato di avviare il subagent: senza strumenti, non avrebbe potuto agire. Il messaggio raggruppa le tue voci in base a cosa è andato storto:
4274 4274
4275* **Unrecognized**: la voce non corrisponde a nessun nome di strumento, di solito un errore di battitura come `Grpe` per `Grep`.4275* **Non riconosciuta**: la voce non corrisponde a nessun nome di strumento, di solito per un errore di battitura come `Grpe` invece di `Grep`.
4276* **Not available to subagents**: la voce nomina uno strumento reale che [i subagent non possono usare](/docs/it/sub-agents#available-tools). I subagent in background mantengono un set di strumenti integrati più piccolo, quindi una voce che solo un subagent in foreground può usare finisce qui quando il subagent verrebbe eseguito in background, che è l'impostazione predefinita. Se elenchi `Agent`, il messaggio lo segnala invece nel gruppo successivo.4276* **Non disponibile per i subagent**: la voce nomina uno strumento reale che [i subagent non possono usare](/docs/it/sub-agents#available-tools). I subagent in background mantengono un insieme più ridotto di strumenti integrati, quindi una voce che solo un subagent in primo piano può usare finisce qui quando il subagent verrebbe eseguito in background, che è il comportamento predefinito. Se elenchi `Agent`, il messaggio lo riporta invece nel gruppo successivo.
4277* **Matched no tools in this session**: la voce è valida ma nessuno strumento nella sessione corrente vi corrisponde in questo momento, come `mcp__github__*` senza alcun server MCP GitHub connesso, o `Agent` per un subagent al [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents).4277* **Nessuno strumento corrispondente in questa sessione**: la voce è valida ma al momento nessuno strumento della sessione corrente le corrisponde, come `mcp__github__*` senza alcun server MCP di GitHub connesso, oppure `Agent` per un subagent che ha raggiunto il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents).
4278 4278
4279Omettere il campo `tools` non attiva mai questo rifiuto. Se lasci l'elenco `tools` vuoto, o `disallowedTools` rimuove ogni voce in esso, Claude Code salta anche il rifiuto e avvia il subagent senza strumenti.4279Omettere il campo `tools` non provoca mai questo rifiuto. Se lasci vuoto l'elenco `tools`, o se `disallowedTools` ne rimuove tutte le voci, Claude Code salta anch'esso il rifiuto e avvia il subagent senza strumenti.
4280 4280
4281Prima della v2.1.208, il subagent veniva avviato senza strumenti e poteva restituire un risultato vuoto o confuso.4281Prima della v2.1.208, il subagent veniva avviato senza strumenti e poteva restituire un risultato vuoto o confuso.
4282 4282
4286 4286
4287**Cosa fare:**4287**Cosa fare:**
4288 4288
4289* Correggi ogni voce che l'errore nomina confrontandola con gli [strumenti disponibili per i subagent](/docs/it/sub-agents#available-tools)4289* Correggi ogni voce indicata dall'errore confrontandola con gli [strumenti disponibili per i subagent](/docs/it/sub-agents#available-tools)
4290* Rimuovi le voci per gli strumenti che la sessione non ha, come gli strumenti MCP di un server che non è connesso4290* Rimuovi le voci relative a strumenti che la sessione non ha, come gli strumenti MCP di un server non connesso
4291* Per uno strumento che [i subagent in background eliminano](/docs/it/sub-agents#available-tools), come `CronCreate`, rimuovi la voce. Per mantenere lo strumento, [disattiva la fork mode](/docs/it/sub-agents#turn-fork-mode-on-or-off) e chiedi a Claude di eseguire il subagent in foreground4291* Per uno strumento che [i subagent in background escludono](/docs/it/sub-agents#available-tools), come `CronCreate`, rimuovi la voce. Per mantenere lo strumento, [disattiva la modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off) e chiedi a Claude di eseguire il subagent in primo piano
4292* Elimina il campo `tools` invece di elencare gli strumenti per dare al subagent ogni [strumento disponibile per i subagent](/docs/it/sub-agents#available-tools)4292* Elimina il campo `tools` invece di elencare gli strumenti per dare al subagent ogni [strumento disponibile per i subagent](/docs/it/sub-agents#available-tools)
4293* Per un elenco `tools` che contiene solo `Agent`, aumenta il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) o dai all'agente almeno un altro strumento: Claude Code trattiene `Agent` a quel limite, quindi un elenco senza nient'altro si risolve in nessuno strumento4293* Per un elenco `tools` che contiene solo `Agent`, aumenta il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) oppure assegna all'agente almeno un altro strumento: Claude Code nega `Agent` a quel limite, quindi un elenco che non contiene nient'altro si risolve in nessuno strumento
4294 4294
4295<h3 id="file-is-covered-by-a-read-deny-rule">4295<h3 id="file-is-covered-by-a-read-deny-rule">
4296 File is covered by a Read deny rule4296 File is covered by a Read deny rule
4297</h3>4297</h3>
4298 4298
4299Lo strumento Edit o Write è stato chiamato su un percorso corrispondente a una [regola di negazione `Read`](/docs/it/permissions#read-and-edit), inclusa la creazione di un nuovo file in quel percorso. Entrambi gli strumenti modificano contenuto che Claude deve essere in grado di rileggere, quindi Claude Code rifiuta la chiamata prima di qualsiasi accesso ai file. NotebookEdit non è coperto dalle regole di negazione `Read`. Prima della v2.1.228, la regola bloccava solo lo strumento Edit, e prima della v2.1.208, solo una regola di negazione `Edit` bloccava le modifiche.4299Lo strumento Edit o Write è stato chiamato su un percorso corrispondente a una [regola di negazione `Read`](/docs/it/permissions#read-and-edit), anche per creare un nuovo file in quel percorso. Entrambi gli strumenti modificano contenuti che Claude deve poter rileggere, quindi Claude Code rifiuta la chiamata prima di qualsiasi accesso al file. NotebookEdit non è coperto dalle regole di negazione `Read`. Prima della v2.1.228, la regola bloccava solo lo strumento Edit, e prima della v2.1.208, solo una regola di negazione `Edit` bloccava le modifiche.
4300 4300
4301```text theme={null}4301```text theme={null}
4302File is covered by a Read deny rule in your permission settings and cannot be edited.4302File is covered by a Read deny rule in your permission settings and cannot be edited.
4306 4306
4307**Cosa fare:**4307**Cosa fare:**
4308 4308
4309* Se Claude dovrebbe essere in grado di modificare il file, rimuovi o restringi la regola di negazione `Read` in `/permissions` o nelle [impostazioni](/docs/it/settings-reference#permission-settings)4309* Se Claude deve poter modificare il file, rimuovi o restringi la regola di negazione `Read` in `/permissions` o nelle [impostazioni](/docs/it/settings-reference#permission-settings)
4310* Se il file deve rimanere intatto, mantieni la regola e aggiungi una regola di negazione `Edit` per lo stesso percorso per bloccare anche lo strumento NotebookEdit4310* Se il file deve rimanere intatto, mantieni la regola e aggiungi una regola di negazione `Edit` per lo stesso percorso per bloccare anche lo strumento NotebookEdit
4311 4311
4312<h3 id="path-cannot-contain-null-bytes">4312<h3 id="path-cannot-contain-null-bytes">
4313 Path cannot contain null bytes4313 Path cannot contain null bytes
4314</h3>4314</h3>
4315 4315
4316L'argomento di percorso o pattern di una chiamata a uno strumento per i file conteneva un byte null, che i file system e gli strumenti di ricerca non possono accettare. Read, Write, Edit, NotebookEdit, Glob e Grep effettuano questo controllo, e il messaggio nomina lo strumento e l'argomento:4316L'argomento percorso o pattern di una chiamata a uno strumento per i file conteneva un byte nullo, che i file system e gli strumenti di ricerca non possono accettare. Read, Write, Edit, NotebookEdit, Glob e Grep effettuano questo controllo, e il messaggio indica lo strumento e l'argomento:
4317 4317
4318```text theme={null}4318```text theme={null}
4319Read file_path cannot contain null bytes (\0). Remove the null byte and try again.4319Read file_path cannot contain null bytes (\0). Remove the null byte and try again.
4320```4320```
4321 4321
4322La chiamata allo strumento fallisce, Claude vede l'errore, e il turno continua.4322La chiamata allo strumento fallisce, Claude vede l'errore e il turno prosegue.
4323 4323
4324**Cosa fare:**4324**Cosa fare:**
4325 4325
4326* Niente da parte tua: l'errore viene restituito a Claude come risultato dello strumento, e il messaggio stesso dice a Claude di rimuovere il byte null e riprovare4326* Nulla da parte tua: l'errore viene restituito a Claude come risultato dello strumento, e il messaggio stesso dice a Claude di rimuovere il byte nullo e riprovare
4327 4327
4328Prima della v2.1.281, un byte null in un percorso di Read, Write, Edit o NotebookEdit terminava l'intero turno con un errore che nominava `Path contains null bytes`, e lo strumento non veniva mai eseguito.4328Prima della v2.1.281, un byte nullo in un percorso di Read, Write, Edit o NotebookEdit terminava l'intero turno con un errore che indicava `Path contains null bytes`, e lo strumento non veniva mai eseguito.
4329 4329
4330<h3 id="subagent-type-is-required">4330<h3 id="subagent-type-is-required">
4331 subagent\_type is required4331 subagent\_type is required
4335subagent_type is required: the general-purpose agent is not available in this session. Available agents: ...4335subagent_type is required: the general-purpose agent is not available in this session. Available agents: ...
4336```4336```
4337 4337
4338Claude ha chiamato lo [strumento Agent](/docs/it/tools-reference#agent-tool-behavior) senza un `subagent_type`, e questa sessione non ha un [subagent general-purpose](/docs/it/sub-agents#built-in-subagents) su cui ripiegare. Questo accade in due configurazioni:4338Claude ha chiamato lo [strumento Agent](/docs/it/tools-reference#agent-tool-behavior) senza un `subagent_type`, e questa sessione non ha alcun [subagent general-purpose](/docs/it/sub-agents#built-in-subagents) da usare come alternativa. Questo accade in due configurazioni:
4339 4339
4340* [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/it/env-vars) è impostato in modalità non interattiva, il che rimuove ogni subagent integrato4340* [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/it/env-vars) è impostata in modalità non interattiva, il che rimuove tutti i subagent integrati
4341* L'agente del thread principale della sessione ha un'[allowlist `tools: Agent(...)`](/docs/it/sub-agents#restrict-which-subagents-can-be-spawned) che esclude `general-purpose`4341* L'agente del thread principale della sessione ha un'[allowlist `tools: Agent(...)`](/docs/it/sub-agents#restrict-which-subagents-can-be-spawned) che esclude `general-purpose`
4342 4342
4343**Cosa fare:**4343**Cosa fare:**
4344 4344
4345* Di solito niente: il messaggio elenca i subagent che la sessione ha, quindi Claude può riprovare con uno di essi4345* Di solito nulla: il messaggio elenca i subagent di cui la sessione dispone, quindi Claude può riprovare con uno di essi
4346* Se Claude continua a fallire, aggiungi `general-purpose` all'allowlist `tools: Agent(...)`, o rimuovi l'impostazione di `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`4346* Se Claude continua a fallire, aggiungi `general-purpose` all'allowlist `tools: Agent(...)`, oppure rimuovi l'impostazione di `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`
4347 4347
4348Prima della v2.1.235, la stessa chiamata falliva con `Agent type 'general-purpose' not found`.4348Prima della v2.1.235, la stessa chiamata falliva con `Agent type 'general-purpose' not found`.
4349 4349
4350<h3 id="memory-index-is-over-its-read-limit">4350<h3 id="memory-index-is-over-its-read-limit">
4351 Memory index is over its read limit4351 L'indice della memoria supera il limite di lettura
4352</h3>4352</h3>
4353 4353
4354Claude ha scritto nell'indice della [memoria automatica](/docs/it/memory#auto-memory) `MEMORY.md` e l'ha lasciato oltre uno dei suoi limiti di lettura: 200 righe o 25KB. La scrittura è riuscita, ma solo le prime 200 righe o 25KB, a seconda di quale limite viene raggiunto per primo, vengono caricate all'inizio di una sessione, quindi tutto ciò che supera il limite viene scartato ogni volta che l'indice viene letto. Prima della v2.1.210, un indice oltre il limite veniva silenziosamente troncato al caricamento successivo senza alcun segnale al momento della scrittura.4354Claude ha scritto nell'indice `MEMORY.md` della [memoria automatica](/docs/it/memory#auto-memory) lasciandolo oltre uno dei suoi limiti di lettura: 200 righe o 25KB. La scrittura è riuscita, ma all'avvio di una sessione vengono caricate solo le prime 200 righe o i primi 25KB, a seconda di quale limite si raggiunge per primo, quindi tutto ciò che supera il limite viene scartato ogni volta che l'indice viene letto. Prima della v2.1.210, un indice oltre il limite veniva troncato silenziosamente al caricamento successivo senza alcun segnale al momento della scrittura.
4355 4355
4356```text theme={null}4356```text theme={null}
4357Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.4357Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.
4358```4358```
4359 4359
4360Solo il contenuto che viene caricato conta ai fini dei limiti. Il frontmatter YAML e i commenti HTML a livello di blocco vengono rimossi prima che l'indice venga caricato, quindi sono esclusi dalla misurazione. Prima della v2.1.211, Claude Code misurava il file grezzo, e il frontmatter o i commenti potevano attivare questo errore anche quando il contenuto caricato rientrava nei limiti.4360Ai fini dei limiti conta solo il contenuto che viene caricato. Il frontmatter YAML e i commenti HTML a livello di blocco vengono rimossi prima del caricamento dell'indice, quindi sono esclusi dalla misurazione. Prima della v2.1.211, Claude Code misurava il file grezzo, e il frontmatter o i commenti potevano provocare questo errore anche quando il contenuto caricato rientrava nei limiti.
4361 4361
4362Claude Code consegna l'errore a Claude dopo la scrittura invece di stamparlo come banner nel tuo terminale, quindi potresti notarlo solo nella trascrizione.4362Claude Code consegna l'errore a Claude dopo la scrittura invece di mostrarlo come banner nel tuo terminale, quindi potresti notarlo solo nella trascrizione.
4363 4363
4364Quando la scrittura di Claude porta il file vicino a un limite senza superarlo, Claude Code restituisce un promemoria più blando per compattare l'indice invece di questo errore.4364Quando la scrittura di Claude porta il file vicino a un limite senza superarlo, Claude Code restituisce, invece di questo errore, un promemoria più blando per compattare l'indice.
4365 4365
4366**Cosa fare:**4366**Cosa fare:**
4367 4367
4368* Lascia che Claude riscriva `MEMORY.md`, o chiediglielo: mantenere una riga per voce, spostare i dettagli nei file di argomento, e fare il merge delle voci obsolete o eliminarle4368* Lascia che Claude riscriva `MEMORY.md`, o chiediglielo: una riga per voce, sposta i dettagli nei file tematici e unisci o elimina le voci obsolete
4369* Per ridurre l'indice tu stesso, consulta [Audit and edit your memory](/docs/it/memory#audit-and-edit-your-memory)4369* Per ridurre tu stesso l'indice, consulta [Verificare e modificare la memoria](/docs/it/memory#audit-and-edit-your-memory)
4370 4370
4371<h3 id="pkill-pattern-matches-the-claude-code-process">4371<h3 id="pkill-pattern-matches-the-claude-code-process">
4372 pkill pattern matches the Claude Code process4372 Il pattern di pkill corrisponde al processo di Claude Code
4373</h3>4373</h3>
4374 4374
4375Un comando `pkill` in una chiamata allo strumento Bash ha usato un pattern, tipicamente con `-f`, che corrisponde al processo stesso di Claude Code, quindi Claude Code rifiuta il comando invece di lasciare che termini la sessione. Claude Code testa il pattern con `pgrep` prima di eseguire `pkill` e rifiuta quando il proprio ID di processo è nel risultato. Il controllo viene eseguito solo su Linux; su macOS, `pkill` viene eseguito senza modifiche. Prima della v2.1.214, il comando veniva eseguito, e un pattern corrispondente terminava la sessione di Claude Code a metà turno.4375Un comando `pkill` in una chiamata allo strumento Bash ha usato un pattern, tipicamente con `-f`, che corrisponde al processo stesso di Claude Code, quindi Claude Code rifiuta il comando invece di lasciargli terminare la sessione. Claude Code verifica il pattern con `pgrep` prima di eseguire `pkill` e rifiuta quando il proprio ID di processo compare nel risultato. Il controllo viene eseguito solo su Linux; su macOS, `pkill` viene eseguito senza modifiche. Prima della v2.1.214, il comando veniva eseguito, e un pattern corrispondente terminava la sessione di Claude Code a metà turno.
4376 4376
4377```text theme={null}4377```text theme={null}
4378pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.4378pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.
4379```4379```
4380 4380
4381Il rifiuto appare nel risultato dello strumento Bash invece che come banner nel tuo terminale, e Claude di solito corregge il comando autonomamente.4381Il rifiuto compare nel risultato dello strumento Bash invece che come banner nel tuo terminale, e di solito Claude corregge il comando da solo.
4382 4382
4383**Cosa fare:**4383**Cosa fare:**
4384 4384
4385* Restringi il pattern in modo che corrisponda solo al processo previsto, ad esempio il percorso completo del binario di destinazione invece di una breve sottostringa4385* Restringi il pattern in modo che corrisponda solo al processo desiderato, ad esempio il percorso completo del binario di destinazione invece di una breve sottostringa
4386* Per interrompere i processi avviati dalla shell corrente, usa `pkill -P $$` con il pattern, che limita la corrispondenza ai processi figli della shell stessa4386* Per arrestare i processi avviati dalla shell corrente, usa `pkill -P $$` con il pattern, che limita la corrispondenza ai processi figli della shell stessa
4387 4387
4388<h3 id="failed-to-write-to-a-teammate-inbox">4388<h3 id="failed-to-write-to-a-teammate-inbox">
4389 Failed to write to a teammate's inbox4389 Failed to write to a teammate's inbox
4390</h3>4390</h3>
4391 4391
4392Claude Code non è riuscito a scrivere un messaggio nel file della casella di posta di un compagno di squadra in `~/.claude/teams/{team-name}/inboxes/`, quindi il destinatario non ha ricevuto nulla. La scrittura fallisce quando Claude Code non può creare o aggiornare il file, ad esempio perché il disco è pieno, la directory non è scrivibile, o un altro agente mantiene il blocco della casella di posta troppo a lungo. Prima della v2.1.224, Claude Code segnalava il messaggio come inviato anche quando la scrittura falliva.4392Claude Code non è riuscito a scrivere un messaggio nel file della casella di posta di un compagno di squadra in `~/.claude/teams/{team-name}/inboxes/`, quindi il destinatario non ha ricevuto nulla. La scrittura fallisce quando Claude Code non riesce a creare o aggiornare il file, ad esempio perché il disco è pieno, la directory non è scrivibile o un altro agente mantiene il lock della casella di posta troppo a lungo. Prima della v2.1.224, Claude Code segnalava il messaggio come inviato anche quando la scrittura falliva.
4393 4393
4394L'errore appare nel risultato dello strumento dell'agente mittente invece che come banner nel tuo terminale, e il suo testo dice a Claude di riprovare:4394L'errore compare nel risultato dello strumento dell'agente mittente invece che come banner nel tuo terminale, e il suo testo dice a Claude di riprovare:
4395 4395
4396```text theme={null}4396```text theme={null}
4397Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.4397Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.
4398```4398```
4399 4399
4400I messaggi strutturati del protocollo del [team di agenti](/docs/it/agent-teams) falliscono allo stesso modo, e l'errore nomina il messaggio non consegnato: quando Claude Code non riesce a scrivere un'approvazione del piano, un rifiuto del piano, una richiesta di arresto o un rifiuto di arresto, l'errore riporta `Failed to write the <message> to <name>'s inbox — nothing was sent`. Il `plan approval` in quell'elenco è la decisione del lead che approva il piano di un compagno di squadra; l'invio del piano da parte del compagno di squadra è il messaggio separato `plan approval request`. Quel messaggio e altri due messaggi del protocollo hanno un proprio testo e una propria conseguenza:4400I messaggi strutturati del protocollo del [team di agenti](/docs/it/agent-teams) falliscono allo stesso modo, e l'errore indica il messaggio non consegnato: quando Claude Code non riesce a scrivere un'approvazione del piano, un rifiuto del piano, una richiesta di arresto o un rifiuto dell'arresto, l'errore riporta `Failed to write the <message> to <name>'s inbox — nothing was sent`. La `plan approval` in quell'elenco è la decisione del lead che approva il piano di un compagno di squadra; l'invio del piano da parte del compagno di squadra è il messaggio separato `plan approval request`. Quel messaggio e altri due messaggi del protocollo hanno un proprio testo e una propria conseguenza:
4401 4401
4402* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`: il piano del compagno di squadra non ha mai raggiunto il lead, e il compagno di squadra rimane in plan mode finché un nuovo invio non riesce4402* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`: il piano del compagno di squadra non ha mai raggiunto il lead, e il compagno di squadra rimane in plan mode fino a un nuovo invio riuscito
4403* `The permission request could not be delivered to the team lead (mailbox write failed)`: la richiesta di permesso del compagno di squadra non ha mai raggiunto il lead, quindi nessuno ha approvato la chiamata allo strumento4403* `The permission request could not be delivered to the team lead (mailbox write failed)`: la richiesta di permesso del compagno di squadra non ha mai raggiunto il lead, quindi nessuno ha approvato la chiamata allo strumento
4404* `The confirmation could not be written to team-lead's inbox.`: l'approvazione dell'arresto in sé ha avuto effetto e il compagno di squadra esce; manca solo la conferma al lead4404* `The confirmation could not be written to team-lead's inbox.`: l'approvazione dell'arresto in sé ha avuto effetto e il compagno di squadra termina; manca solo la conferma al lead
4405 4405
4406Quando sei tu a mandare un messaggio a un compagno di squadra, digitando `@name` seguito dal messaggio nella sessione del lead, lo stesso errore appare come notifica, `Couldn't write to @name's inbox — message not sent. Try again.`, e Claude Code mantiene il tuo testo nella casella del prompt in modo che tu possa inviarlo di nuovo.4406Quando sei tu a inviare un messaggio a un compagno di squadra, digitando `@name` seguito dal messaggio nella sessione del lead, lo stesso errore compare come notifica, `Couldn't write to @name's inbox — message not sent. Try again.`, e Claude Code mantiene il tuo testo nella casella del prompt così puoi inviarlo di nuovo.
4407 4407
4408**Cosa fare:**4408**Cosa fare:**
4409 4409
4410* Chiedi al mittente di inviare di nuovo il messaggio; la contesa per il blocco della casella di posta è transitoria e si risolve con un nuovo tentativo4410* Chiedi al mittente di inviare di nuovo il messaggio; la contesa per il lock della casella di posta è temporanea e si risolve con un nuovo tentativo
4411* Controlla lo spazio libero su disco, e verifica che `~/.claude/teams` e i file al suo interno siano scrivibili dal tuo utente4411* Controlla lo spazio libero su disco e verifica che `~/.claude/teams` e i file al suo interno siano scrivibili dal tuo utente
4412 4412
4413<h3 id="teammate-agent-definition-not-restored">4413<h3 id="teammate-agent-definition-not-restored">
4414 Teammate's agent definition was not restored4414 La definizione dell'agente del compagno di squadra non è stata ripristinata
4415</h3>4415</h3>
4416 4416
4417Claude ha mandato un messaggio a un compagno di squadra arrestato di un [team di agenti](/docs/it/agent-teams), e Claude Code l'ha riattivato senza riapplicare la [definizione del subagent](/docs/it/agent-teams#use-subagent-definitions-for-teammates) da cui era stato generato, perché il suo file di definizione proveniva da una cartella senza fiducia salvata. L'avviso segue il resoconto della ripresa nel risultato dello strumento dell'agente mittente:4417Claude ha inviato un messaggio a un compagno di squadra arrestato di un [team di agenti](/docs/it/agent-teams), e Claude Code lo ha riattivato senza riapplicare la [definizione del subagent](/docs/it/agent-teams#use-subagent-definitions-for-teammates) da cui era stato generato. L'avviso segue il resoconto della ripresa nel risultato dello strumento dell'agente mittente e indica il motivo. Quando il file di definizione proviene da una cartella senza fiducia salvata, riporta:
4418 4418
4419```text wrap theme={null}4419```text wrap theme={null}
4420Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.4420Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.
4421```4421```
4422 4422
4423Il controllo si applica a una definizione nella directory `.claude/agents/` del progetto o di una directory `--add-dir`, e accettare la finestra di dialogo di fiducia per una cartella padre non lo soddisfa.4423Il controllo si applica a una definizione nella directory `.claude/agents/` del progetto o di una directory `--add-dir`, e accettare la finestra di dialogo di fiducia per una cartella padre non è sufficiente.
4424 4424
4425**Cosa fare:**4425**Cosa fare:**
4426 4426
4427* Esegui `claude` nella cartella indicata dal [log di debug](/docs/it/debug-your-config) e accetta la finestra di dialogo di fiducia. La definizione viene riapplicata la prossima volta che Claude Code riattiva il compagno di squadra; non è necessario riavviare la sessione del lead4427* Esegui `claude` nella cartella indicata dal [log di debug](/docs/it/debug-your-config) e accetta la finestra di dialogo di fiducia. La definizione viene riapplicata la prossima volta che Claude Code riattiva il compagno di squadra; non devi riavviare la sessione del lead
4428* Oppure imposta la voce `hasTrustDialogAccepted` su `true` in `~/.claude.json`, usando la chiave esatta `projects["<path>"]` che il log di debug stampa4428* Oppure imposta la voce `hasTrustDialogAccepted` su `true` in `~/.claude.json`, usando esattamente la chiave `projects["<path>"]` stampata dal log di debug
4429 4429
4430<h3 id="message-too-large-for-cross-session-delivery">4430<h3 id="message-too-large-for-cross-session-delivery">
4431 Message too large for cross-session delivery4431 Message too large for cross-session delivery
4432</h3>4432</h3>
4433 4433
4434Il [messaggio cross-session](/docs/it/cross-session-messaging) di Claude a un'altra delle tue sessioni su questa macchina era troppo lungo per essere inviato. Claude Code l'ha rifiutato, e la sessione ricevente non ha ricevuto nulla. Il rifiuto appare nel risultato dello strumento della sessione mittente, non come banner nel tuo terminale. Indica entrambe le dimensioni e come far rientrare il messaggio nel limite:4434Il [messaggio tra sessioni](/docs/it/cross-session-messaging) di Claude verso un'altra delle tue sessioni su questa macchina era troppo lungo per essere inviato. Claude Code lo ha rifiutato, e la sessione ricevente non ha ricevuto nulla. Il rifiuto compare nel risultato dello strumento della sessione mittente, non come banner nel tuo terminale. Indica entrambe le dimensioni e come far rientrare il messaggio nel limite:
4435 4435
4436```text wrap theme={null}4436```text wrap theme={null}
4437Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.4437Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.
4441 4441
4442**Cosa fare:**4442**Cosa fare:**
4443 4443
4444* Chiedi a Claude di riassumere il messaggio, o di mettere il contenuto più corposo in un file e inviare il percorso del file4444* Chiedi a Claude di riassumere il messaggio, oppure di mettere il contenuto voluminoso in un file e inviare il percorso del file
4445* Chiedi a Claude di suddividere il contenuto in diversi messaggi più brevi4445* Chiedi a Claude di suddividere il contenuto in più messaggi più brevi
4446 4446
4447Prima della v2.1.235, Claude Code segnalava un messaggio troppo grande come inviato. La sessione ricevente lo scartava senza leggerlo.4447Prima della v2.1.235, Claude Code segnalava come inviato un messaggio troppo grande. La sessione ricevente lo scartava senza leggerlo.
4448 4448
4449<h3 id="too-many-messages-to-this-session-just-now">4449<h3 id="too-many-messages-to-this-session-just-now">
4450 Too many messages to this session just now4450 Too many messages to this session just now
4451</h3>4451</h3>
4452 4452
4453Claude ha inviato una raffica rapida di [messaggi cross-session](/docs/it/cross-session-messaging) a una delle tue sessioni su questa macchina, e la raffica ha raggiunto quanto accetta la casella di posta di quella sessione. Claude Code ha rifiutato l'invio successivo, e la sessione ricevente non ha ricevuto nulla da esso. Il rifiuto appare nel risultato dello strumento della sessione mittente, non come banner nel tuo terminale:4453Claude ha inviato una rapida raffica di [messaggi tra sessioni](/docs/it/cross-session-messaging) a una delle tue sessioni su questa macchina, e la raffica ha raggiunto quanto la casella di posta di quella sessione accetta. Claude Code ha rifiutato l'invio successivo, e la sessione ricevente non ne ha ricevuto nulla. Il rifiuto compare nel risultato dello strumento della sessione mittente, non come banner nel tuo terminale:
4454 4454
4455```text wrap theme={null}4455```text wrap theme={null}
4456Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.4456Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.
4458 4458
4459**Cosa fare:**4459**Cosa fare:**
4460 4460
4461* Di solito niente: Claude raggruppa il contenuto rimanente in un unico messaggio, o aspetta prima di inviarne altri4461* Di solito nulla: Claude raggruppa il contenuto rimanente in un unico messaggio, oppure attende prima di inviarne altri
4462* Se sei stato tu a richiedere la raffica, chiedi a Claude di combinare ciò che rimane in un singolo messaggio4462* Se sei stato tu a sollecitare la raffica, chiedi a Claude di combinare ciò che resta in un unico messaggio
4463 4463
4464Prima della v2.1.236, Claude Code segnalava questi invii come inviati. La sessione ricevente li scartava senza leggerli.4464Prima della v2.1.236, Claude Code segnalava questi invii come riusciti. La sessione ricevente li scartava senza leggerli.
4465 4465
4466<h3 id="cross-session-message-dropped-at-the-inbox">4466<h3 id="cross-session-message-dropped-at-the-inbox">
4467 Cross-session message was dropped at the recipient session's inbox4467 Cross-session message was dropped at the recipient session's inbox
4468</h3>4468</h3>
4469 4469
4470Claude ha inviato un [messaggio cross-session](/docs/it/cross-session-messaging) a un'altra delle tue sessioni su questa macchina, e la casella di posta di quella sessione l'ha scartato prima che Claude in quella sessione lo leggesse. La riga indica l'indirizzo del destinatario e, quando il destinatario ha fornito un motivo, aggiunge il motivo dopo un trattino:4470Claude ha inviato un [messaggio tra sessioni](/docs/it/cross-session-messaging) a un'altra delle tue sessioni su questa macchina, e la casella di posta di quella sessione lo ha scartato prima che Claude in quella sessione lo leggesse. La riga indica l'indirizzo del destinatario e, quando il destinatario ha fornito un motivo, aggiunge il motivo dopo un trattino:
4471 4471
4472```text wrap theme={null}4472```text wrap theme={null}
4473Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.4473Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.
4474```4474```
4475 4475
4476Una riga può riguardare diversi messaggi scartati. In tal caso inizia al plurale, ad esempio `Cross-session messages (12) were dropped`. Per scoprire a quale sessione appartiene un indirizzo, confrontalo con la [riga `Peer address`](/docs/it/cross-session-messaging#the-sessions-inbox-socket) che `/status` mostra in ogni sessione.4476Una sola riga può riguardare più messaggi scartati. In tal caso inizia al plurale, ad esempio `Cross-session messages (12) were dropped`. Per scoprire a quale sessione appartiene un indirizzo, confrontalo con la [riga `Peer address`](/docs/it/cross-session-messaging#the-sessions-inbox-socket) che `/status` mostra in ciascuna sessione.
4477 4477
4478Dopo il trattino, la riga fornisce uno o più di questi motivi:4478Dopo il trattino, la riga riporta uno o più di questi motivi:
4479 4479
4480* `its queue of undelivered peer messages was full`: il destinatario conteneva già tanti messaggi non consegnati da altre sessioni quanti ne consente la sua coda4480* `its queue of undelivered peer messages was full`: il destinatario conteneva già tanti messaggi non consegnati provenienti da altre sessioni quanti ne consente la sua coda
4481* `you sent faster than that session accepts`: i messaggi della sessione mittente sono arrivati più velocemente di quanto il destinatario accetti da un singolo mittente4481* `you sent faster than that session accepts`: i messaggi della sessione mittente sono arrivati più velocemente di quanto il destinatario accetti da un singolo mittente
4482* `it repeated your previous message`: il messaggio era identico a uno che la sessione mittente aveva inviato a questo destinatario poco prima4482* `it repeated your previous message`: il messaggio era identico a uno che la sessione mittente aveva inviato a questo destinatario poco prima
4483* `a relay loop between sessions was cut`: il messaggio proseguiva una catena di sessioni che si scambiavano messaggi, e la catena era passata per il destinatario troppe volte o era diventata troppo lunga4483* `a relay loop between sessions was cut`: il messaggio proseguiva una catena di sessioni che si scambiavano messaggi, e la catena era passata troppe volte per il destinatario o era diventata troppo lunga
4484 4484
4485**Cosa fare:**4485**Cosa fare:**
4486 4486
4487* Considera che il destinatario non abbia mai visto i messaggi scartati. Claude Code dice lo stesso a Claude, e gli dice di includere tutto ciò che conta ancora in un unico messaggio successivo invece di inviarlo di nuovo subito4487* Presumi che il destinatario non abbia mai visto i messaggi scartati. Claude Code dice lo stesso a Claude, e gli dice di includere tutto ciò che è ancora rilevante in un unico messaggio successivo invece di inviare di nuovo subito
4488* Se le tue sessioni si scambiano aggiornamenti frequenti, chiedi a Claude di inviare meno messaggi ma più corposi, come un unico resoconto quando una sessione termina il suo lavoro4488* Se le tue sessioni si inviano aggiornamenti frequenti, chiedi a Claude di inviare messaggi meno numerosi e più corposi, come un unico resoconto quando una sessione termina il proprio lavoro
4489* Per `a relay loop between sessions was cut`, digita tu stesso l'istruzione successiva in una delle sessioni. Un messaggio che Claude invia in risposta a un tuo prompt inizia una nuova catena4489* Per `a relay loop between sessions was cut`, digita tu stesso l'istruzione successiva in una delle sessioni. Un messaggio che Claude invia in risposta a un tuo prompt avvia una nuova catena
4490 4490
4491Prima della v2.1.238, la sessione mittente non riceveva alcun resoconto quando la casella di posta del destinatario scartava un messaggio.4491Prima della v2.1.238, la sessione mittente non riceveva alcuna segnalazione quando la casella di posta del destinatario scartava un messaggio.
4492 4492
4493<h3 id="refusing-to-send-a-cross-session-message">4493<h3 id="refusing-to-send-a-cross-session-message">
4494 Refusing to send a cross-session message4494 Refusing to send a cross-session message
4495</h3>4495</h3>
4496 4496
4497Prima che Claude Code scriva un [messaggio cross-session](/docs/it/cross-session-messaging) a un'altra delle tue sessioni su questa macchina, verifica che il socket della casella di posta della sessione di destinazione sia l'endpoint a cui il messaggio era indirizzato. Quando un controllo fallisce, Claude Code rifiuta l'invio nella sessione mittente, e la sessione di destinazione non riceve nulla. Per un messaggio inviato da Claude, il rifiuto appare nel risultato dello strumento della sessione mittente:4497Prima di scrivere un [messaggio tra sessioni](/docs/it/cross-session-messaging) verso un'altra delle tue sessioni su questa macchina, Claude Code verifica che il socket della casella di posta della sessione di destinazione sia l'endpoint a cui il messaggio era indirizzato. Quando un controllo fallisce, Claude Code rifiuta l'invio nella sessione mittente, e la sessione di destinazione non riceve nulla. Per un messaggio inviato da Claude, il rifiuto compare nel risultato dello strumento della sessione mittente:
4498 4498
4499```text theme={null}4499```text theme={null}
4500Failed to send to api-worker: Refusing to send: reply target is a symlink4500Failed to send to api-worker: Refusing to send: reply target is a symlink
4501```4501```
4502 4502
4503Il testo dopo `Refusing to send:` indica il controllo che è fallito:4503Il testo dopo `Refusing to send:` indica il controllo non superato:
4504 4504
4505* `reply target is a symlink`: nel percorso del socket della sessione di destinazione si trova un collegamento simbolico. Claude Code non consegna attraverso di esso, perché un collegamento in quel punto potrebbe reindirizzare il messaggio a un endpoint che la sessione di destinazione non ha creato.4505* `reply target is a symlink`: nel percorso del socket della sessione di destinazione si trova un collegamento simbolico. Claude Code non consegna attraverso di esso, perché un collegamento in quel punto potrebbe reindirizzare il messaggio verso un endpoint che la sessione di destinazione non ha creato.
4506* `cannot vet reply target`: Claude Code non è riuscito in alcun modo a ispezionare il percorso di destinazione, ad esempio perché la lettura è fallita con un errore di permesso.4506* `cannot vet reply target`: Claude Code non è riuscito affatto a ispezionare il percorso di destinazione, ad esempio perché la lettura è fallita con un errore di permesso.
4507 4507
4508**Cosa fare:**4508**Cosa fare:**
4509 4509
4510* Di solito niente: i controlli impediscono a un messaggio di raggiungere un endpoint diverso dalla sessione a cui era indirizzato, e non è stato inviato nulla4510* Di solito nulla: i controlli impediscono a un messaggio di raggiungere un endpoint diverso dalla sessione a cui era indirizzato, e non è stato inviato nulla
4511* Se `reply target is a symlink` si ripete per una sessione, verifica cosa ha creato un collegamento nel percorso del socket di quella sessione, mostrato nel suo `/status` sotto `Peer address`4511* Se `reply target is a symlink` si ripete per una sessione, verifica cosa ha creato un collegamento nel percorso del socket di quella sessione, mostrato nel suo `/status` sotto `Peer address`
4512 4512
4513<h3 id="refusing-after-a-symlink-changed">4513<h3 id="refusing-after-a-symlink-changed">
4514 Refusing to read, write, or search a path4514 Refusing to read, write, or search a path
4515</h3>4515</h3>
4516 4516
4517Claude Code verifica le [regole di permesso](/docs/it/permissions#read-and-edit) di un percorso file, poi conferma di nuovo quella risoluzione quando lo strumento apre il file o avvia la ricerca. Quando non riesce a confermare che il percorso conduca ancora alla posizione approvata dal controllo, Claude Code rifiuta l'operazione invece di seguirlo. Il rifiuto appare nel risultato dello strumento:4517Claude Code controlla le [regole di permesso](/docs/it/permissions#read-and-edit) di un percorso di file, poi conferma di nuovo quella risoluzione quando lo strumento apre il file o avvia la ricerca. Quando non riesce a confermare che il percorso porti ancora alla posizione approvata dal controllo, Claude Code rifiuta l'operazione invece di seguirlo. Il rifiuto compare nel risultato dello strumento:
4518 4518
4519```text wrap theme={null}4519```text wrap theme={null}
4520Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.4520Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.
4522 4522
4523Ogni rifiuto indica il proprio motivo:4523Ogni rifiuto indica il proprio motivo:
4524 4524
4525* `its symlink resolution changed after permission was checked`: un collegamento simbolico lungo il percorso, o in una radice di ricerca di Grep o Glob, è stato sostituito tra il controllo dei permessi e l'operazione. In un rifiuto di lettura, la frase tra parentesi indica quale confronto è fallito.4525* `its symlink resolution changed after permission was checked`: un collegamento simbolico lungo il percorso, o nella radice di una ricerca Grep o Glob, è stato sostituito tra il controllo dei permessi e l'operazione. In un rifiuto di lettura, la frase tra parentesi indica quale confronto è fallito.
4526* `its parent-directory symlink resolution changed after permission was checked`: una directory attraversata dal percorso di scrittura non si risolve più nella posizione approvata4526* `its parent-directory symlink resolution changed after permission was checked`: una directory attraversata dal percorso di scrittura non si risolve più nella posizione approvata
4527* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code non è riuscito a seguire il percorso fino a una posizione finale su disco, ad esempio perché i collegamenti simbolici lungo di esso formano un ciclo4527* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code non è riuscito a seguire il percorso fino a una posizione finale su disco, ad esempio perché i collegamenti simbolici lungo di esso formano un ciclo
4528* `it is a symbolic link. Write to the link's target path instead`: un collegamento simbolico si trova nella posizione di scrittura richiesta stessa, ad esempio un `CLAUDE.md` che è un collegamento simbolico a `AGENTS.md`; il messaggio indirizza Claude alla destinazione del collegamento4528* `it is a symbolic link. Write to the link's target path instead`: nella posizione di scrittura richiesta si trova essa stessa un collegamento simbolico, ad esempio un `CLAUDE.md` che è un collegamento simbolico ad `AGENTS.md`; il messaggio indirizza Claude verso la destinazione del collegamento
4529* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: la stessa condizione rilevata quando un altro componente di scrittura apre il file, come una scrittura su un `.mcp.json` che è un collegamento simbolico4529* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: la stessa condizione rilevata quando un altro processo di scrittura apre il file, come una scrittura su un `.mcp.json` che è un collegamento simbolico
4530* `Refusing to write into symlinked directory: <path>`: la directory che contiene il file è essa stessa un collegamento simbolico, ad esempio la directory `.claude/` di un progetto collegata a un'altra posizione4530* `Refusing to write into symlinked directory: <path>`: la directory che contiene il file è essa stessa un collegamento simbolico, ad esempio la directory `.claude/` di un progetto collegata a un'altra posizione
4531* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: una regola di negazione `Read` per la ricerca nomina un percorso che passa attraverso un collegamento simbolico, e quel collegamento è cambiato mentre Claude Code stava preparando la ricerca4531* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: una regola di negazione `Read` per la ricerca indica un percorso che passa attraverso un collegamento simbolico, e quel collegamento è cambiato mentre Claude Code preparava la ricerca
4532* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: la radice di ricerca esiste ma non è stato possibile aprirla; il codice tra parentesi è l'errore del sistema operativo4532* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: la radice della ricerca esiste ma non è stato possibile aprirla; il codice tra parentesi è l'errore del sistema operativo
4533* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code ha rimosso il record di approvazione, a causa di molte operazioni simultanee sui file, prima che lo strumento lo usasse; riprovare esegue un nuovo controllo dei permessi4533* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code ha rimosso il record di approvazione a causa di molte operazioni simultanee sui file prima che lo strumento lo usasse; riprovare esegue un nuovo controllo dei permessi
4534* `ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration`: Claude Code non è riuscito a risolvere il binario `rg` in un percorso assoluto, quindi rifiuta le ricerche al di fuori della directory di lavoro invece di eseguirne una non coperta dalle tue regole di negazione4534* `ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration`: Claude Code non è riuscito a risolvere il binario `rg` in un percorso assoluto, quindi rifiuta le ricerche al di fuori della directory di lavoro invece di eseguirne una non coperta dalle tue regole di negazione
4535 4535
4536**Cosa fare:**4536**Cosa fare:**
4537 4537
4538* Di solito niente: il rifiuto raggiunge Claude come risultato dello strumento, e l'operazione rifiutata non viene eseguita4538* Di solito nulla: il rifiuto raggiunge Claude come risultato dello strumento, e l'operazione rifiutata non viene eseguita
4539* Se un rifiuto dovuto a un collegamento simbolico si ripete su un percorso, individua cosa continua a riscrivere un collegamento in quel punto, come uno strumento di build o un file watcher, oppure chiedi a Claude di usare il percorso risolto del file invece di quello collegato4539* Se un rifiuto relativo a un collegamento simbolico si ripete su un percorso, individua cosa continua a riscrivere un collegamento in quel punto, come uno strumento di build o un file watcher, oppure chiedi a Claude di usare il percorso risolto del file invece di quello collegato
4540* Se questo rifiuto appare per ogni file mentre Claude Code è in esecuzione su Windows all'interno di un AppContainer o di una sandbox con token limitato, aggiorna alla v2.1.265 o successiva4540* Se questo rifiuto compare per ogni file mentre Claude Code è in esecuzione su Windows all'interno di un AppContainer o di una sandbox con token limitato, aggiorna alla v2.1.265 o successiva
4541* Se su macOS appare un rifiuto di lettura per un file che nulla sta riscrivendo, come uno screenshot trascinato nel prompt, aggiorna alla v2.1.273 o successiva4541* Se su macOS compare un rifiuto di lettura per un file che nessuno sta riscrivendo, come uno screenshot trascinato nel prompt, aggiorna alla v2.1.273 o successiva
4542* Per il rifiuto relativo a ripgrep, installa ripgrep con il tuo gestore di pacchetti in modo che `rg` si risolva in un percorso assoluto su `PATH`, oppure mantieni le ricerche all'interno della directory di lavoro4542* Per il rifiuto relativo a ripgrep, installa ripgrep con il tuo gestore di pacchetti in modo che `rg` si risolva in un percorso assoluto nel `PATH`, oppure limita le ricerche alla directory di lavoro
4543 4543
4544Prima della v2.1.251, Claude Code ricontrollava la risoluzione di un percorso solo per le scritture di file, quindi un collegamento sostituito dopo il controllo dei permessi poteva reindirizzare una lettura o una ricerca a una posizione diversa senza alcun messaggio. Tra questi, solo i rifiuti di scrittura relativi alla directory padre, alla scrittura attraverso un collegamento simbolico e alla directory collegata simbolicamente appaiono nelle versioni precedenti.4544Prima della v2.1.251, Claude Code ricontrollava la risoluzione di un percorso solo per le scritture di file, quindi un collegamento sostituito dopo il controllo dei permessi poteva reindirizzare una lettura o una ricerca verso una posizione diversa senza alcun messaggio. Tra questi, solo i rifiuti di scrittura relativi alla directory padre, alla scrittura attraverso un collegamento simbolico e alla directory collegata compaiono nelle versioni precedenti.
4545 4545
4546Prima della v2.1.280, il rifiuto `where it leads on disk could not be determined` non appariva.4546Prima della v2.1.280, il rifiuto `where it leads on disk could not be determined` non compariva.
4547 4547
4548<h3 id="task-output-swap-refused">4548<h3 id="task-output-swap-refused">
4549 Task output swap refused4549 Task output swap refused
4550</h3>4550</h3>
4551 4551
4552Claude Code salva l'output di ogni comando Bash in un file all'interno della sua directory temporanea. Ogni volta che apre uno di questi file, verifica che il percorso conduca ancora al file che ha creato, senza alcun collegamento simbolico, collegamento fisico aggiuntivo o directory spostata che lo reindirizzi. Questo messaggio significa che quel controllo è fallito, quindi Claude Code ha rifiutato l'operazione invece di scrivere o leggere l'output attraverso quel percorso. Il messaggio appare nel risultato dello strumento Bash:4552Claude Code salva l'output di ogni comando Bash in un file all'interno della propria directory temporanea. Ogni volta che apre uno di questi file, verifica che il percorso porti ancora al file che ha creato, senza alcun collegamento simbolico, hard link aggiuntivo o directory spostata che lo reindirizzi. Questo messaggio indica che il controllo è fallito, quindi Claude Code ha rifiutato l'operazione invece di scrivere o leggere l'output attraverso quel percorso. Il messaggio compare nel risultato dello strumento Bash:
4553 4553
4554```text wrap theme={null}4554```text wrap theme={null}
4555task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.4555task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.
4556```4556```
4557 4557
4558Il testo tra parentesi indica il controllo che è fallito. Motivi come `output symlink was re-pointed`, `output file identity changed` e `not a regular file` segnalano tutti la stessa condizione: qualcosa nel percorso dell'output o lungo di esso non è più il file che Claude Code ha creato. Solo alcuni motivi includono una frase `To recover:`.4558Il testo tra parentesi indica il controllo non superato. Motivi come `output symlink was re-pointed`, `output file identity changed` e `not a regular file` segnalano tutti la stessa condizione: qualcosa nel percorso di output o lungo di esso non è più il file creato da Claude Code. Solo alcuni motivi includono una frase `To recover:`.
4559 4559
4560Se il controllo fallisce mentre un comando è ancora in esecuzione, Claude Code interrompe il comando, e il suo risultato riporta:4560Se il controllo fallisce mentre un comando è ancora in esecuzione, Claude Code arresta il comando, e il suo risultato riporta:
4561 4561
4562```text theme={null}4562```text theme={null}
4563Command killed: its output file was replaced or could no longer be verified4563Command killed: its output file was replaced or could no longer be verified
4566**Cosa fare:**4566**Cosa fare:**
4567 4567
4568* Aggiorna alla v2.1.260 o successiva. Le versioni precedenti a volte mostravano questo messaggio anche quando non era presente alcun collegamento o directory spostata4568* Aggiorna alla v2.1.260 o successiva. Le versioni precedenti a volte mostravano questo messaggio anche quando non era presente alcun collegamento o directory spostata
4569* Riavvia Claude Code con [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) impostato su una directory nuova4569* Riavvia Claude Code con [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) impostata su una nuova directory
4570* Oppure controlla la directory del tuo progetto all'interno della directory temporanea di Claude Code, `/private/tmp/claude-501/-Users-you-my-project` nel messaggio di esempio. Se quel percorso è un collegamento simbolico, o una directory che non dovrebbe trovarsi lì, rimuovi il collegamento o la directory stessa invece della destinazione del collegamento, e riavvia Claude Code4570* Oppure controlla la directory del tuo progetto all'interno della directory temporanea di Claude Code, `/private/tmp/claude-501/-Users-you-my-project` nel messaggio di esempio. Se quel percorso è un collegamento simbolico, o una directory che non dovrebbe trovarsi lì, rimuovi il collegamento o la directory stessi invece della destinazione del collegamento, e riavvia Claude Code
4571* Se il rifiuto si ripete, un processo sta sostituendo, collegando o rimuovendo voci nella directory temporanea di Claude Code mentre la sessione è in esecuzione. Imposta [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) su una directory non gestita da nient'altro e riavvia4571* Se il rifiuto si ripete, un processo sta sostituendo, collegando o rimuovendo voci nella directory temporanea di Claude Code mentre la sessione è in esecuzione. Imposta [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) su una directory non gestita da nient'altro e riavvia
4572 4572
4573<h3 id="disk-quota-or-temp-filesystem-is-full">4573<h3 id="disk-quota-or-temp-filesystem-is-full">
4574 Disk quota or temp filesystem is full4574 Quota del disco o file system temporaneo pieni
4575</h3>4575</h3>
4576 4576
4577Claude Code salva l'output di ogni comando Bash e PowerShell in un file all'interno della sua directory temporanea. Quando un comando termina con un codice diverso da zero e senza alcun output, Claude Code verifica se il file system che contiene quel file ha esaurito lo spazio o gli inode, o se la tua quota disco su di esso è esaurita. In tal caso, nel risultato del comando appare una diagnostica al posto dell'output vuoto:4577Claude Code salva l'output di ogni comando Bash e PowerShell in un file all'interno della propria directory temporanea. Quando un comando termina con un codice diverso da zero e senza alcun output, Claude Code verifica se il file system che contiene quel file ha esaurito lo spazio o gli inode, oppure se la tua quota del disco su di esso è esaurita. In tal caso, nel risultato del comando compare una diagnostica al posto dell'output vuoto:
4578 4578
4579```text wrap theme={null}4579```text wrap theme={null}
4580Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.4580Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.
4581```4581```
4582 4582
4583Il messaggio indica cosa è esaurito:4583Il messaggio indica cosa si è esaurito:
4584 4584
4585* `Your disk quota is full ... (EDQUOT)`: la tua quota su quel file system è esaurita. Una quota può essere piena anche quando il file system mostra ancora spazio libero4585* `Your disk quota is full ... (EDQUOT)`: la tua quota personale su quel file system è esaurita. Una quota può essere piena anche quando il file system mostra ancora spazio libero
4586* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: il file system, o la tua quota su di esso, non ha più spazio4586* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: il file system, o la tua quota su di esso, non ha più spazio disponibile
4587* `Command output was lost: the temp filesystem at ... is full` o `... is out of inodes`: il file system non ha quasi più spazio libero, o sta esaurendo gli inode4587* `Command output was lost: the temp filesystem at ... is full` oppure `... is out of inodes`: il file system non ha quasi più spazio libero, oppure sta esaurendo gli inode
4588 4588
4589**Cosa fare:**4589**Cosa fare:**
4590 4590
4591* Elimina i file che non ti servono più sul file system che contiene la directory temporanea di Claude Code. Per `EDQUOT`, elimina i file che contano ai fini della tua quota. Per `out of inodes`, elimina molti file invece di pochi file grandi, poiché ogni file occupa un inode indipendentemente dalla sua dimensione4591* Elimina i file che non ti servono più sul file system che contiene la directory temporanea di Claude Code. Per `EDQUOT`, elimina i file che contano ai fini della tua quota personale. Per `out of inodes`, elimina molti file invece di pochi file grandi, poiché ogni file occupa un inode indipendentemente dalla sua dimensione
4592* Oppure riavvia Claude Code con [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) impostato su una directory in un file system con spazio disponibile4592* Oppure riavvia Claude Code con [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) impostata su una directory in un file system con spazio disponibile
4593* Poi chiedi a Claude di eseguire di nuovo il comando. L'output che aveva stampato è andato perso, non troncato4593* Poi chiedi a Claude di eseguire di nuovo il comando. L'output che aveva stampato è andato perso, non troncato
4594 4594
4595<h3 id="the-source-file-is-not-valid-utf-8-text">4595<h3 id="the-source-file-is-not-valid-utf-8-text">
4596 The source file is not valid UTF-8 text4596 The source file is not valid UTF-8 text
4597</h3>4597</h3>
4598 4598
4599Claude ha tentato di pubblicare un [artefatto](/docs/it/artifacts) da un file i cui byte non si decodificano come testo, o il cui testo contiene già il carattere di sostituzione `U+FFFD`, quindi Claude Code ha rifiutato la pubblicazione prima di caricare qualsiasi cosa. Il messaggio appare nel risultato dello strumento Artifact e indica la prima posizione da correggere:4599Claude ha tentato di pubblicare un [artefatto](/docs/it/artifacts) da un file i cui byte non si decodificano come testo, o il cui testo contiene già il carattere di sostituzione `U+FFFD`, quindi Claude Code ha rifiutato la pubblicazione prima di caricare qualsiasi cosa. Il messaggio compare nel risultato dello strumento Artifact e indica la prima posizione da correggere:
4600 4600
4601```text wrap theme={null}4601```text wrap theme={null}
4602file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.4602file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.
4604file_path: the source file has the replacement character U+FFFD at line 12, column 40, usually left where an earlier edit or paste lost a character. Replace it with the intended text (in HTML, write an intended U+FFFD as �), then publish again. Nothing was published.4604file_path: the source file has the replacement character U+FFFD at line 12, column 40, usually left where an earlier edit or paste lost a character. Replace it with the intended text (in HTML, write an intended U+FFFD as �), then publish again. Nothing was published.
4605```4605```
4606 4606
4607Claude Code decodifica il file come UTF-8, o come UTF-16 quando inizia con un byte order mark UTF-16 little-endian. Quando un file UTF-16 di questo tipo non si decodifica, il primo messaggio nomina `UTF-16` e ti dice comunque di riscrivere il file come UTF-8. Quando altre posizioni seguono quella indicata, il messaggio aggiunge un conteggio come `(+2 more)` dopo la posizione.4607Claude Code decodifica il file come UTF-8, oppure come UTF-16 quando inizia con un byte-order mark UTF-16 little-endian. Quando un file UTF-16 di questo tipo non si decodifica, il primo messaggio indica `UTF-16` e ti dice comunque di riscrivere il file come UTF-8. Quando altre posizioni seguono quella indicata, il messaggio aggiunge un conteggio come `(+2 more)` dopo la posizione.
4608 4608
4609**Cosa fare:**4609**Cosa fare:**
4610 4610
4611* Di solito niente: Claude riscrive il file e lo pubblica di nuovo4611* Di solito nulla: Claude riscrive il file e lo pubblica di nuovo
4612* Se il file è uno che hai scritto o esportato tu, salvalo di nuovo come UTF-8, e sostituisci ogni `U+FFFD` con il carattere perso in una precedente modifica, operazione di incolla o conversione4612* Se il file è uno che hai scritto o esportato tu, salvalo di nuovo come UTF-8 e sostituisci ogni `U+FFFD` con il carattere perso da una modifica, un incolla o una conversione precedente
4613* Per mostrare un `U+FFFD` intenzionale nella pagina, scrivilo come `�` nell'HTML invece del carattere letterale4613* Per mostrare intenzionalmente un `U+FFFD` nella pagina, scrivilo come `�` nell'HTML invece del carattere letterale
4614 4614
4615Prima della v2.1.267, Claude Code caricava un file di questo tipo senza controllarlo, e il server rifiutava invece la pubblicazione.4615Prima della v2.1.267, Claude Code caricava un file di questo tipo senza controllarlo, ed era invece il server a rifiutare la pubblicazione.
4616 4616
4617<h3 id="not-published-that-file-is-on-a-network-share">4617<h3 id="not-published-that-file-is-on-a-network-share">
4618 Not published: that file is on a network share4618 Not published: that file is on a network share
4619</h3>4619</h3>
4620 4620
4621Claude ha tentato di pubblicare un [artefatto](/docs/it/artifacts) da un file in un percorso che nomina un host di rete:4621Claude ha tentato di pubblicare un [artefatto](/docs/it/artifacts) da un file in un percorso che indica un host di rete:
4622 4622
4623* Su Windows, un percorso `\\server\share` che non si trova in un'unità di rete mappata che hai passato all'avvio con [`--add-dir`](/docs/it/cli-reference#cli-flags)4623* Su Windows, un percorso `\\server\share` che non si trova sotto un'unità di rete mappata che hai passato all'avvio con [`--add-dir`](/docs/it/cli-reference#cli-flags)
4624* Su macOS o Linux, un percorso di automount come `/net/<host>/page.html`4624* Su macOS o Linux, un percorso di automount come `/net/<host>/page.html`
4625 4625
4626La risoluzione di un percorso di questo tipo contatta l'host che nomina, e su Windows quel contatto può inviare all'host le tue credenziali. Claude Code rifiuta di pubblicare il file e non lo legge. Il rifiuto appare nel risultato dello strumento Artifact:4626La risoluzione di un percorso di questo tipo contatta l'host indicato, e su Windows quel contatto può inviare all'host le tue credenziali. Claude Code rifiuta di pubblicare il file e non lo legge. Il rifiuto compare nel risultato dello strumento Artifact:
4627 4627
4628```text theme={null}4628```text theme={null}
4629Not published: that file is on a network share. Publish a file from this session's folders instead.4629Not published: that file is on a network share. Publish a file from this session's folders instead.
4631 4631
4632**Cosa fare:**4632**Cosa fare:**
4633 4633
4634* Niente, se non ti serve proprio quel file: il messaggio dice a Claude di pubblicare invece un file dalle cartelle della sessione4634* Nulla, se non ti serve esattamente quel file: il messaggio dice a Claude di pubblicare invece un file dalle cartelle della sessione
4635* Per pubblicare proprio quel file, copialo in una cartella su un disco locale e chiedi di nuovo4635* Per pubblicare esattamente quel file, copialo in una cartella su un disco locale e chiedi di nuovo
4636* Su Windows, per permettere a Claude di pubblicare direttamente dalla condivisione, mappala a una lettera di unità e passa l'unità quando avvii Claude Code. In PowerShell, ad esempio, esegui `net use Z: \\server\share` e poi `claude --add-dir Z:\`. Claude potrà quindi pubblicare file da quell'unità. Aggiungere l'unità a sessione in corso con `/add-dir` non è sufficiente.4636* Su Windows, per consentire a Claude di pubblicare direttamente dalla condivisione, mappala su una lettera di unità e passa l'unità quando avvii Claude Code. In PowerShell, ad esempio, esegui `net use Z: \\server\share` e poi `claude --add-dir Z:\`. Claude potrà quindi pubblicare file da quell'unità. Aggiungere l'unità durante la sessione con `/add-dir` non è sufficiente.
4637* Su macOS o Linux, monta la condivisione in una directory come una sotto `/mnt` o `/Volumes`, e pubblica da quel percorso invece che dal percorso di automount4637* Su macOS o Linux, monta la condivisione in una directory, ad esempio una sotto `/mnt` o `/Volumes`, e pubblica da quel percorso invece che dal percorso di automount
4638 4638
4639<h3 id="reading-a-local-file-from-outside-the-connected-folders">4639<h3 id="reading-a-local-file-from-outside-the-connected-folders">
4640 Reading a local file from outside the connected folders in a Cowork session4640 Lettura di un file locale al di fuori delle cartelle connesse in una sessione Cowork
4641</h3>4641</h3>
4642 4642
4643In una sessione [Cowork](https://claude.com/docs/cowork/overview) in esecuzione sulla tua macchina nell'app Claude Desktop, Claude ha indicato un file locale per un [artefatto](/docs/it/artifacts). Claude Code non è riuscito a confermare che il file sia un file semplice all'interno delle cartelle connesse della sessione: il percorso si trova al di fuori di quelle cartelle, passa attraverso un collegamento simbolico, o è scritto in un modo che può indicare un file diverso da quello che sembra. Leggere un file di questo tipo richiede la tua approvazione, e in una sessione che non può mostrarti la scheda di approvazione, come una impostata per saltare tutte le approvazioni, Claude Code rifiuta la lettura.4643In una sessione [Cowork](https://claude.com/docs/cowork/overview) in esecuzione sulla tua macchina nell'app Claude Desktop, Claude ha indicato un file locale per un [artefatto](/docs/it/artifacts). Claude Code non è riuscito a confermare che il file sia un file semplice all'interno delle cartelle connesse della sessione: il percorso si trova al di fuori di quelle cartelle, passa attraverso un collegamento simbolico o è scritto in un modo che può indicare un file diverso da quello che sembra. La lettura di un file di questo tipo richiede la tua approvazione, e in una sessione che non può mostrarti la scheda di approvazione, come una impostata per saltare tutte le approvazioni, Claude Code rifiuta la lettura.
4644 4644
4645Il rifiuto appare nel risultato dello strumento Artifact; quando non è stato possibile esaminare il file in alcun modo, indica invece quell'errore:4645Il rifiuto compare nel risultato dello strumento Artifact; quando non è stato possibile esaminare affatto il file, indica invece quell'errore:
4646 4646
4647```text wrap theme={null}4647```text wrap theme={null}
4648Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.4648Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.
4652 4652
4653**Cosa fare:**4653**Cosa fare:**
4654 4654
4655* Di solito niente: il messaggio dice a Claude di usare invece un file semplice all'interno delle cartelle connesse4655* Di solito nulla: il messaggio dice a Claude di usare invece un file semplice all'interno delle cartelle connesse
4656* Per inserire proprio quel file nell'artefatto, copialo in una delle cartelle connesse della sessione come file normale, non come collegamento simbolico, e chiedi di nuovo4656* Per inserire esattamente quel file nell'artefatto, copialo in una delle cartelle connesse della sessione come file normale, non come collegamento simbolico, e chiedi di nuovo
4657 4657
4658<h3 id="webfetch-cannot-fetch-localhost">4658<h3 id="webfetch-cannot-fetch-localhost">
4659 WebFetch cannot fetch localhost4659 WebFetch cannot fetch localhost
4667 4667
4668**Cosa fare:**4668**Cosa fare:**
4669 4669
4670* Di solito niente: il messaggio indirizza Claude verso `curl` tramite lo strumento Bash, che può raggiungere server locali e intranet4670* Di solito nulla: il messaggio indirizza Claude verso `curl` tramite lo strumento Bash, che può raggiungere server locali e intranet
4671 4671
4672Prima della v2.1.268, WebFetch segnalava questi URL con un errore generico `Invalid URL`.4672Prima della v2.1.268, WebFetch segnalava questi URL con un generico errore `Invalid URL`.
4673 4673
4674<h3 id="webfetch-domain-safety-check-failed">4674<h3 id="webfetch-domain-safety-check-failed">
4675 WebFetch domain safety check failed4675 Controllo di sicurezza del dominio di WebFetch non riuscito
4676</h3>4676</h3>
4677 4677
4678Prima di recuperare un URL, WebFetch invia l'hostname dell'URL a `api.anthropic.com` per verificarlo rispetto alla [lista di blocco per la sicurezza dei domini](/docs/it/data-usage#webfetch-domain-safety-check) di Anthropic. Se il controllo non può essere completato, WebFetch non può confermare che il dominio sia sicuro, quindi non recupera la pagina e il risultato dello strumento riporta invece uno di questi messaggi:4678Prima di recuperare un URL, WebFetch invia l'hostname dell'URL ad `api.anthropic.com` per verificarlo rispetto alla [blocklist di sicurezza dei domini](/docs/it/data-usage#webfetch-domain-safety-check) di Anthropic. Se il controllo non può essere completato, WebFetch non può confermare che il dominio sia sicuro, quindi non recupera la pagina e il risultato dello strumento riporta invece uno di questi messaggi:
4679 4679
4680```text wrap theme={null}4680```text wrap theme={null}
4681The safety check for domain example.com is rate-limited (too many domain checks from this network; the limit is shared and can stay exhausted for minutes). Do not retry WebFetch in a loop or sleep to wait it out; continue without this page and report that its safety check was rate-limited. A single later attempt is fine; if that is rate-limited too, stop.4681The safety check for domain example.com is rate-limited (too many domain checks from this network; the limit is shared and can stay exhausted for minutes). Do not retry WebFetch in a loop or sleep to wait it out; continue without this page and report that its safety check was rate-limited. A single later attempt is fine; if that is rate-limited too, stop.
4683Unable to verify if domain example.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.4683Unable to verify if domain example.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.
4684```4684```
4685 4685
4686* `rate-limited`: l'endpoint di controllo ha risposto con HTTP `429`. Il messaggio dice a Claude di continuare senza la pagina e di riprovare al massimo una volta più tardi. Claude Code non memorizza nella cache un controllo fallito, quindi un successivo recupero di quel dominio esegue di nuovo il controllo. Se le sessioni sulla tua rete incontrano spesso questo errore, puoi saltare il controllo con [`skipWebFetchPreflight: true`](/docs/it/settings-reference#skipwebfetchpreflight) nelle impostazioni.4686* `rate-limited`: l'endpoint del controllo ha risposto con HTTP `429`. Il messaggio dice a Claude di proseguire senza la pagina e di riprovare al massimo una volta più tardi. Claude Code non memorizza nella cache un controllo non riuscito, quindi un recupero successivo di quel dominio esegue di nuovo il controllo. Se le sessioni sulla tua rete incorrono spesso in questo rate limit, puoi saltare il controllo con [`skipWebFetchPreflight: true`](/docs/it/settings-reference#skipwebfetchpreflight) nelle impostazioni.
4687* `Unable to verify`: la richiesta di controllo è fallita, è andata in timeout o ha ricevuto un altro stato di errore. Se la tua rete blocca `api.anthropic.com`, aggiungi quel dominio all'allowlist, oppure salta il controllo con [`skipWebFetchPreflight: true`](/docs/it/settings-reference#skipwebfetchpreflight) nelle impostazioni.4687* `Unable to verify`: la richiesta di controllo è fallita, è scaduta o ha ricevuto un altro stato di errore. Se la tua rete blocca `api.anthropic.com`, aggiungi quel dominio all'allowlist, oppure salta il controllo con [`skipWebFetchPreflight: true`](/docs/it/settings-reference#skipwebfetchpreflight) nelle impostazioni.
4688 4688
4689Prima della v2.1.286, il messaggio di rate limit riportava `The safety check for domain example.com is temporarily rate-limited (too many domain checks from this network). Retry after about a minute; retrying sooner will fail the same way.`.4689Prima della v2.1.286, il messaggio di rate limit riportava `The safety check for domain example.com is temporarily rate-limited (too many domain checks from this network). Retry after about a minute; retrying sooner will fail the same way.`.
4690Prima della v2.1.285, un controllo soggetto a rate limit veniva invece segnalato con il messaggio `Unable to verify`.4690Prima della v2.1.285, un controllo soggetto a rate limit veniva segnalato invece con il messaggio `Unable to verify`.
4691 4691
4692<h2 id="background-session-errors">4692<h2 id="background-session-errors">
4693 Errori di sessione in background4693 Errori di sessione in background