SpyBara
Go Premium

Documentation 2026-10-02 22:59 UTC to 2026-10-03 01:57 UTC

13 files changed +237 −157. View all changes and history on the product overview
2026
Sat 3 02:59 Fri 2 22:59 Thu 1 23:59

chrome.md +1 −1

Details

130In una sessione VS Code, il fatto che Claude Code ti chieda conferma prima di un'azione del browser dipende da come la sessione si è connessa al tuo browser:130In una sessione VS Code, il fatto che Claude Code ti chieda conferma prima di un'azione del browser dipende da come la sessione si è connessa al tuo browser:

131 131 

132* **Hai digitato `@browser`**: l'estensione approva ogni azione del browser per cui Claude Code altrimenti ti chiederebbe conferma.132* **Hai digitato `@browser`**: l'estensione approva ogni azione del browser per cui Claude Code altrimenti ti chiederebbe conferma.

133* **L'impostazione [Enabled by default](#enable-chrome-by-default) l'ha connessa all'avvio**: Claude Code ti chiede conferma prima delle azioni del browser nelle modalità Manual, Edit automatically, Auto e Bypass permissions, finché non digiti `@browser` in quella sessione.133* **L'impostazione [Enabled by default](#enable-chrome-by-default) l'ha connessa all'avvio**: Claude Code ti chiede conferma prima delle azioni del browser su un sito che non hai consentito, nelle modalità Manual, Edit automatically, Auto e Bypass permissions, finché non digiti `@browser` in quella sessione.

134 134 

135<h3 id="browser-tools-in-plan-mode">135<h3 id="browser-tools-in-plan-mode">

136 Strumenti del browser in plan mode136 Strumenti del browser in plan mode

Details

79| Campo | Obbligatorio | Descrizione |79| Campo | Obbligatorio | Descrizione |

80| - | - | - |80| - | - | - |

81| `issuer` | Sì | Base di scoperta OIDC. Deve servire la scoperta su `/.well-known/openid-configuration`. Usa HTTPS in produzione; il gateway accetta un emittente `http://`. Un emittente loopback come `http://localhost:8081` è rifiutato dalla [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) a meno che `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` non sia impostato nell'ambiente del gateway. |81| `issuer` | Sì | Base di scoperta OIDC. Deve servire la scoperta su `/.well-known/openid-configuration`. Usa HTTPS in produzione; il gateway accetta un emittente `http://`. Un emittente loopback come `http://localhost:8081` è rifiutato dalla [guardia SSRF](/docs/it/claude-apps-gateway-deploy#threat-model-summary) a meno che `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` non sia impostato nell'ambiente del gateway. |

82| `client_id` / `client_secret` | Sì | Dalla tua registrazione del client OAuth |82| `client_id` | Sì | Dalla tua registrazione del client OAuth |

83| `client_secret` | A meno che `token_endpoint_auth_method` non sia `private_key_jwt` | Dalla tua registrazione del client OAuth. Omettilo quando usi l'[autenticazione del client con certificato](#certificate-client-authentication). |

83| `allowed_email_domains` | No | Rifiuta gli id\_token il cui claim `email` non è in uno di questi domini, senza distinzione tra maiuscole e minuscole. Difesa in profondità contro la configurazione errata dell'IdP multi-tenant. Indipendentemente da questa impostazione, un id\_token il cui claim `email_verified` è esplicitamente `false` è sempre rifiutato. |84| `allowed_email_domains` | No | Rifiuta gli id\_token il cui claim `email` non è in uno di questi domini, senza distinzione tra maiuscole e minuscole. Difesa in profondità contro la configurazione errata dell'IdP multi-tenant. Indipendentemente da questa impostazione, un id\_token il cui claim `email_verified` è esplicitamente `false` è sempre rifiutato. |

84| `allowed_groups` | No | Limita l'accesso ai membri di questi gruppi IdP, abbinati rispetto a `groups_claim`. Un utente in un dominio email consentito ma in nessuno di questi gruppi è rifiutato. Richiede che l'IdP emetta il claim dei gruppi. L'abbinamento è un confronto di stringhe esatto e case-sensitive rispetto ai valori in quel claim, e il gateway non espande i gruppi annidati: per ammettere i membri di un sottogruppo, elenca il sottogruppo qui o configura l'IdP per emettere l'appartenenza appiattita. |85| `allowed_groups` | No | Limita l'accesso ai membri di questi gruppi IdP, abbinati rispetto a `groups_claim`. Un utente in un dominio email consentito ma in nessuno di questi gruppi è rifiutato. Richiede che l'IdP emetta il claim dei gruppi. L'abbinamento è un confronto di stringhe esatto e case-sensitive rispetto ai valori in quel claim, e il gateway non espande i gruppi annidati: per ammettere i membri di un sottogruppo, elenca il sottogruppo qui o configura l'IdP per emettere l'appartenenza appiattita. |

85| `groups_claim` | No | Quale claim dell'id\_token porta l'appartenenza al gruppo. Predefinito `groups`. Microsoft Entra emette i ruoli dell'app sotto `roles`. Accetta una chiave flat o un JSON Pointer RFC 6901 come `/resource_access/gateway/roles` per i claim annidati. |86| `groups_claim` | No | Quale claim dell'id\_token porta l'appartenenza al gruppo. Predefinito `groups`. Microsoft Entra emette i ruoli dell'app sotto `roles`. Accetta una chiave flat o un JSON Pointer RFC 6901 come `/resource_access/gateway/roles` per i claim annidati. |


91| `userinfo_fallback` | No | Quando l'id\_token omette email o gruppi, recuperali da `/userinfo`. Necessario per i token di accesso leggeri di Keycloak, il server org di Okta e i token minimi di ADFS. L'id\_token rimane autorevole; userinfo riempie solo i vuoti. Predefinito `false`. |92| `userinfo_fallback` | No | Quando l'id\_token omette email o gruppi, recuperali da `/userinfo`. Necessario per i token di accesso leggeri di Keycloak, il server org di Okta e i token minimi di ADFS. L'id\_token rimane autorevole; userinfo riempie solo i vuoti. Predefinito `false`. |

92| `use_pkce` | No | Invia una sfida PKCE (S256) sulla richiesta di autorizzazione. Predefinito `true`. Imposta `false` solo se il tuo IdP rifiuta PKCE per questo client confidenziale. |93| `use_pkce` | No | Invia una sfida PKCE (S256) sulla richiesta di autorizzazione. Predefinito `true`. Imposta `false` solo se il tuo IdP rifiuta PKCE per questo client confidenziale. |

93| `clock_skew_seconds` | No | Tollera la deriva dell'orologio quando si convalidano i claim temporali dell'id\_token. Predefinito `0`, che è rigoroso. Aumentalo se vedi errori "token scaduto / non ancora valido" subito dopo l'accesso a causa della deriva dell'orologio tra host e IdP. |94| `clock_skew_seconds` | No | Tollera la deriva dell'orologio quando si convalidano i claim temporali dell'id\_token. Predefinito `0`, che è rigoroso. Aumentalo se vedi errori "token scaduto / non ancora valido" subito dopo l'accesso a causa della deriva dell'orologio tra host e IdP. |

94| `token_endpoint_auth_method` | No | Override del metodo di autenticazione dell'endpoint del token. Accetta `client_secret_basic` o `client_secret_post`. Negoziato automaticamente per impostazione predefinita. |95| `token_endpoint_auth_method` | No | Come il gateway si autentica presso l'endpoint del token dell'IdP: `client_secret_basic`, `client_secret_post` o `private_key_jwt` per l'[autenticazione del client con certificato](#certificate-client-authentication). Per impostazione predefinita il gateway sceglie uno dei due metodi `client_secret` in base a ciò che l'IdP dichiara. |

96| `client_assertion` | Con `private_key_jwt` | Un blocco con `private_key_pem` e `certificate_pem`: la chiave privata e il certificato per l'[autenticazione del client con certificato](#certificate-client-authentication). Richiede v2.1.284 o successivo. |

95| `id_token_signed_response_alg` | No | Algoritmo di firma dell'id\_token previsto. Predefinito `RS256`. Impostalo per gli IdP che firmano con ES256, PS256 o EdDSA. |97| `id_token_signed_response_alg` | No | Algoritmo di firma dell'id\_token previsto. Predefinito `RS256`. Impostalo per gli IdP che firmano con ES256, PS256 o EdDSA. |

96| `additional_authorized_parties` | No | Valori `azp` extra da accettare oltre a `client_id`, per i flussi di broker e scambio di token di Keycloak |98| `additional_authorized_parties` | No | Valori `azp` extra da accettare oltre a `client_id`, per i flussi di broker e scambio di token di Keycloak |

97| `discovery_url` | No | Recupera il documento di scoperta da questo URL invece di derivarlo da `issuer`, per gli IdP dietro un proxy che riscrive l'host dell'emittente. Il percorso deve contenere `/.well-known/`. |99| `discovery_url` | No | Recupera il documento di scoperta da questo URL invece di derivarlo da `issuer`, per gli IdP dietro un proxy che riscrive l'host dell'emittente. Il percorso deve contenere `/.well-known/`. |


99| `form_action_origins` | No | Origini aggiuntive per la direttiva `Content-Security-Policy: form-action` della pagina `/device`. Il gateway consente già `'self'` e l'origine dell'`authorization_endpoint` scoperta, ma Chrome applica `form-action` all'intera catena di reindirizzamento. Se il tuo IdP reindirizza attraverso un secondo host, come Azure AD federato ad ADFS, Okta hub-spoke o un intercettore SSO aziendale, elenca ogni origine attraverso cui la richiesta di autorizzazione può essere reindirizzata. |101| `form_action_origins` | No | Origini aggiuntive per la direttiva `Content-Security-Policy: form-action` della pagina `/device`. Il gateway consente già `'self'` e l'origine dell'`authorization_endpoint` scoperta, ma Chrome applica `form-action` all'intera catena di reindirizzamento. Se il tuo IdP reindirizza attraverso un secondo host, come Azure AD federato ad ADFS, Okta hub-spoke o un intercettore SSO aziendale, elenca ogni origine attraverso cui la richiesta di autorizzazione può essere reindirizzata. |

100| `ca_cert_pem` | No | Il certificato CA codificato in PEM stesso, non un percorso a un file. Sostituisce l'archivio di attendibilità del sistema solo per le richieste IdP. Per caricare un file montato, scrivi `${file:/etc/gateway/idp-ca.pem}`. Usalo per Keycloak o Dex dietro una PKI aziendale. |102| `ca_cert_pem` | No | Il certificato CA codificato in PEM stesso, non un percorso a un file. Sostituisce l'archivio di attendibilità del sistema solo per le richieste IdP. Per caricare un file montato, scrivi `${file:/etc/gateway/idp-ca.pem}`. Usalo per Keycloak o Dex dietro una PKI aziendale. |

101 103 

104<h4 id="certificate-client-authentication">

105 Autenticazione del client con certificato

106</h4>

107 

108Se il tuo provider di identità autentica i client OAuth con un certificato invece che con un client secret, come fa Microsoft Entra con le credenziali basate su certificato, imposta `token_endpoint_auth_method: private_key_jwt`. Richiede Claude Code v2.1.284 o successivo sul server del gateway.

109 

110Con questa configurazione il gateway non invia alcun segreto. Si autentica presso l'endpoint del token dell'IdP con un JWT a breve durata firmato con la chiave privata del certificato quando uno sviluppatore accede e ogni volta che il gateway aggiorna la sua sessione. Il JWT è firmato con RS256 e identifica il certificato tramite gli header di thumbprint `x5t` e `x5t#S256` anziché tramite un `kid`. Il tuo IdP deve essere in grado di trovare il certificato registrato tramite thumbprint.

111 

112<Steps>

113 <Step title="Crea la chiave e il certificato">

114 Crea una chiave privata RSA non cifrata di almeno 2048 bit, in formato PEM PKCS#8 o PKCS#1, e un certificato per essa. Il gateway si rifiuta di avviarsi con qualsiasi chiave che non soddisfi queste condizioni. Questo comando `openssl` crea una chiave di questo tipo con un certificato autofirmato valido per un anno:

115 

116 ```bash theme={null}

117 openssl req -x509 -newkey rsa:2048 -nodes -keyout idp-client.key -out idp-client.crt -days 365 -subj "/CN=claude-gateway"

118 ```

119 

120 Scrive `idp-client.key` e `idp-client.crt` nella directory corrente. Copia o monta entrambi i file dove il gateway può leggerli. L'esempio del passaggio 3 usa `/etc/gateway/`.

121 </Step>

122 

123 <Step title="Carica il certificato sull'IdP">

124 Carica il certificato, non la chiave privata, nella registrazione dell'app del gateway presso l'IdP.

125 </Step>

126 

127 <Step title="Aggiungi la chiave e il certificato a gateway.yaml">

128 Fornisci al gateway la chiave privata e il certificato in un blocco `client_assertion`. Ometti `client_secret`, perché il gateway si rifiuta di avviarsi quando è impostato insieme a `private_key_jwt`. Questo blocco `oidc` autentica il gateway presso un tenant Microsoft Entra con un certificato:

129 

130 ```yaml theme={null}

131 oidc:

132 issuer: https://login.microsoftonline.com/<tenant-id>/v2.0

133 client_id: <application-id>

134 token_endpoint_auth_method: private_key_jwt

135 client_assertion:

136 private_key_pem: ${file:/etc/gateway/idp-client.key}

137 certificate_pem: ${file:/etc/gateway/idp-client.crt}

138 ```

139 

140 Entrambi i valori sono il contenuto PEM, non percorsi di file, quindi carica i file montati con `${file:/path}` come fa l'esempio. Il gateway si rifiuta di avviarsi a meno che `certificate_pem` non sia un singolo certificato PEM, senza il resto della sua catena, la cui chiave pubblica corrisponde a `private_key_pem`.

141 </Step>

142 

143 <Step title="Riavvia il gateway e controlla il log di avvio">

144 Riavvia il gateway e trova questa riga nel log di avvio:

145 

146 ```text theme={null}

147 [gateway] 2026-10-01T23:07:40.512Z info oidc: client authentication private_key_jwt; certificate CN=claude-gateway, SHA-1 thumbprint DE92821854EE8BAA1D98C758FAA04AABE80B9F57, expires Oct 1 23:07:31 2027 GMT

148 ```

149 

150 Confronta il thumbprint SHA-1 con quello che l'IdP mostra per il certificato che hai caricato. Se il certificato è scaduto o non è ancora valido, il gateway si avvia comunque ma registra un avviso che gli accessi e gli aggiornamenti falliranno finché non lo sostituisci. Per confermare che l'IdP accetta il certificato, fai accedere uno sviluppatore tramite il gateway.

151 </Step>

152</Steps>

153 

154<h4 id="rotate-the-client-certificate">

155 Ruotare il certificato del client

156</h4>

157 

158Il gateway legge la chiave e il certificato una sola volta all'avvio, quindi un file modificato ha effetto solo dopo un riavvio. Esegui la rotazione in questo ordine in modo che nessuna richiesta di token presenti un certificato che l'IdP non ha:

159 

1601. Carica il nuovo certificato sull'IdP accanto a quello vecchio.

1612. Sostituisci i file della chiave e del certificato che `gateway.yaml` carica, quindi riavvia il gateway.

1623. Rimuovi il vecchio certificato dall'IdP.

163 

102<h4 id="idp-requests-through-a-forward-proxy">164<h4 id="idp-requests-through-a-forward-proxy">

103 Richieste IdP attraverso un forward proxy165 Richieste IdP attraverso un forward proxy

104</h4>166</h4>

Details

25 Configurazione del provider di identità25 Configurazione del provider di identità

26</h2>26</h2>

27 27 

28Registra un'applicazione web OAuth/OpenID Connect (OIDC) confidenziale con un singolo URI di reindirizzamento, `https://<gateway>/oauth/callback`, e assegnala agli utenti o ai gruppi che dovrebbero avere accesso al gateway.28Registra un'applicazione web OAuth/OpenID Connect (OIDC) confidenziale con un singolo URI di reindirizzamento, `https://<gateway>/oauth/callback`, e assegnala agli utenti o ai gruppi che dovrebbero avere accesso al gateway. Il gateway si autentica presso l'IdP con il client secret della registrazione, oppure con un certificato che carichi nella registrazione se il tuo IdP usa invece le [credenziali con certificato](/docs/it/claude-apps-gateway-config#certificate-client-authentication).

29 29 

30Qualsiasi IdP conforme a OIDC funziona: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate e altri. L'IdP deve soddisfare tre requisiti:30Qualsiasi IdP conforme a OIDC funziona: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate e altri. L'IdP deve soddisfare tre requisiti:

31 31 

Details

226* **La sessione ricevente richiede autorizzazioni**: Claude Code consegna ogni messaggio. Trattiene uno per la tua approvazione solo quando la sessione di invio si identifica come bypassando i prompt di autorizzazione.226* **La sessione ricevente richiede autorizzazioni**: Claude Code consegna ogni messaggio. Trattiene uno per la tua approvazione solo quando la sessione di invio si identifica come bypassando i prompt di autorizzazione.

227* **La sessione ricevente bypassa i prompt di autorizzazione**: Claude Code trattiene ogni messaggio per la tua approvazione. Consegna uno solo quando la sessione di invio si identifica come bypassando anche.227* **La sessione ricevente bypassa i prompt di autorizzazione**: Claude Code trattiene ogni messaggio per la tua approvazione. Consegna uno solo quando la sessione di invio si identifica come bypassando anche.

228 228 

229Quando il default trattiene un messaggio, Claude Code apre una finestra di dialogo di approvazione nella sessione ricevente. La finestra di dialogo mostra il mittente e un'anteprima:229Quando il default trattiene un messaggio in una sessione interattiva nel terminale, Claude Code apre lì una finestra di dialogo di approvazione. La finestra di dialogo mostra il mittente e un'anteprima:

230 230 

231* **Approve** consegna quel messaggio a Claude.231* **Approve** consegna quel messaggio a Claude.

232* **Deny**, o chiudere la finestra di dialogo, lo elimina.232* **Deny**, o chiudere la finestra di dialogo, lo elimina.


234* Mentre nessun terminale è collegato a una [sessione in background](/docs/it/agent-view), Claude Code lascia la finestra di dialogo aperta oltre la scadenza. Dopo che colleghi, se la finestra di dialogo rimane senza risposta per un intero periodo di scadenza, Claude Code la chiude e elimina il messaggio.234* Mentre nessun terminale è collegato a una [sessione in background](/docs/it/agent-view), Claude Code lascia la finestra di dialogo aperta oltre la scadenza. Dopo che colleghi, se la finestra di dialogo rimane senza risposta per un intero periodo di scadenza, Claude Code la chiude e elimina il messaggio.

235* Se la classe di modalità di autorizzazione di questa sessione cambia mentre i messaggi sono trattenuti, Claude Code riapplica le regole in entrata, consegna i messaggi che ora accetta, e mostra un avviso.235* Se la classe di modalità di autorizzazione di questa sessione cambia mentre i messaggi sono trattenuti, Claude Code riapplica le regole in entrata, consegna i messaggi che ora accetta, e mostra un avviso.

236 236 

237Una sessione nell'estensione VS Code o nell'app Desktop non può mostrare la finestra di dialogo. Lì Claude Code mantiene un messaggio trattenuto fino alla stessa scadenza, come descritto in [Sessioni non interattive](#non-interactive-sessions).

238 

237Claude Code trattiene al massimo 100 messaggi, e oltre quello elimina i più vecchi.239Claude Code trattiene al massimo 100 messaggi, e oltre quello elimina i più vecchi.

238 240 

239<h3 id="non-interactive-sessions">241<h3 id="non-interactive-sessions">

env-vars.md +1 −0

Details

275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Imposta su `1` per impedire a Claude Code di eseguire i tuoi [hook `Notification` per le richieste di permesso senza risposta](/docs/it/hooks#notification) nelle sessioni in cui Claude Code le invia alla callback `canUseTool` dell'Agent SDK, che è il modo in cui Claude Desktop e l'estensione VS Code ospitano Claude Code. Non ha effetto nelle sessioni del terminale. Richiede Claude Code v2.1.233 o successiva |275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Imposta su `1` per impedire a Claude Code di eseguire i tuoi [hook `Notification` per le richieste di permesso senza risposta](/docs/it/hooks#notification) nelle sessioni in cui Claude Code le invia alla callback `canUseTool` dell'Agent SDK, che è il modo in cui Claude Desktop e l'estensione VS Code ospitano Claude Code. Non ha effetto nelle sessioni del terminale. Richiede Claude Code v2.1.233 o successiva |

276| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per sessioni in container o CI che non devono caricare skill fornite dall'operatore |276| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per sessioni in container o CI che non devono caricare skill fornite dall'operatore |

277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Imposta su `1` per disattivare il controllo dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) che nega i comandi integrati di `cmd` `rd`, `rmdir`, `del` ed `erase` su un [percorso di sistema](/docs/it/permission-modes#remove-item-in-powershell), come la radice di un'unità o la tua directory home. Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.283 o successiva |277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Imposta su `1` per disattivare il controllo dello [strumento PowerShell](/docs/it/tools-reference#powershell-tool) che nega i comandi integrati di `cmd` `rd`, `rmdir`, `del` ed `erase` su un [percorso di sistema](/docs/it/permission-modes#remove-item-in-powershell), come la radice di un'unità o la tua directory home. Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.283 o successiva |

278| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Imposta su `1` per impedire a Claude Code di inviare il campo di output strutturato `output_config.format` e il valore `anthropic-beta` associato, per un [gateway LLM](/docs/it/llm-gateway-protocol#feature-pass-through) il cui upstream li rifiuta. Questo lascia attive le altre funzionalità di pre-release che [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) disattiva. Richiede Claude Code v2.1.288 o successiva |

278| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Imposta su `1` per disattivare il controllo dei [percorsi critici](/docs/it/permission-modes#critical-paths) per un `rm` ricorsivo il cui obiettivo è interamente l'output di una sostituzione di comando, come `rm -rf "$(pwd)"`. Gli altri controlli dei percorsi critici continuano a essere eseguiti. Impostala nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita tramite un blocco `env` delle impostazioni. Richiede Claude Code v2.1.281 o successiva |279| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Imposta su `1` per disattivare il controllo dei [percorsi critici](/docs/it/permission-modes#critical-paths) per un `rm` ricorsivo il cui obiettivo è interamente l'output di una sostituzione di comando, come `rm -rf "$(pwd)"`. Gli altri controlli dei percorsi critici continuano a essere eseguiti. Impostala nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita tramite un blocco `env` delle impostazioni. Richiede Claude Code v2.1.281 o successiva |

279| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disattivare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. Questo salta anche la richiesta in background al modello piccolo/veloce che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |280| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disattivare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. Questo salta anche la richiesta in background al modello piccolo/veloce che [genera un titolo per la sessione](/docs/it/sessions#name-your-sessions) |

280| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere completamente il parametro `thinking` dalle richieste API. Si tratta di un'opzione di compatibilità per proxy e gateway che rifiutano il parametro. Sui modelli che ragionano per impostazione predefinita, omettere il parametro significa che il modello potrebbe comunque ragionare. Per disattivare esplicitamente il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, usa invece `MAX_THINKING_TOKENS=0`. Nessuna delle due variabili disattiva il ragionamento su Opus 5.5, Sonnet 5.5 o sui modelli Fable, per i quali il ragionamento non può essere disattivato. Sui [provider di terze parti](/docs/it/third-party-integrations), anche `MAX_THINKING_TOKENS=0` omette il parametro, quindi lì le due variabili si comportano allo stesso modo |281| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere completamente il parametro `thinking` dalle richieste API. Si tratta di un'opzione di compatibilità per proxy e gateway che rifiutano il parametro. Sui modelli che ragionano per impostazione predefinita, omettere il parametro significa che il modello potrebbe comunque ragionare. Per disattivare esplicitamente il [ragionamento esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, usa invece `MAX_THINKING_TOKENS=0`. Nessuna delle due variabili disattiva il ragionamento su Opus 5.5, Sonnet 5.5 o sui modelli Fable, per i quali il ragionamento non può essere disattivato. Sui [provider di terze parti](/docs/it/third-party-integrations), anche `MAX_THINKING_TOKENS=0` omette il parametro, quindi lì le due variabili si comportano allo stesso modo |

errors.md +123 −123

Details

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 &#xFFFD;), 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 &#xFFFD;), 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 `&#xFFFD;` nell'HTML invece del carattere letterale4613* Per mostrare intenzionalmente un `U+FFFD` nella pagina, scrivilo come `&#xFFFD;` 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

hooks.md +1 −1

Details

1931| Campo | Descrizione |1931| Campo | Descrizione |

1932| :- | :- |1932| :- | :- |

1933| `permissionDecision` | `"allow"` salta il prompt di permesso, tranne per le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves) e per `AskUserQuestion` e `ExitPlanMode`, che hanno bisogno di [`updatedInput` accoppiato con esso](#allow-with-updatedinput). `"deny"` impedisce la chiamata dello strumento. `"ask"` chiede all'utente di confermare. `"defer"` esce con grazia in modo che lo strumento possa essere ripreso in seguito. Le [regole di negazione e richiesta](/docs/it/permissions#manage-permissions) vengono comunque valutate indipendentemente da ciò che l'hook restituisce |1933| `permissionDecision` | `"allow"` salta il prompt di permesso, tranne per le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves) e per `AskUserQuestion` e `ExitPlanMode`, che hanno bisogno di [`updatedInput` accoppiato con esso](#allow-with-updatedinput). `"deny"` impedisce la chiamata dello strumento. `"ask"` chiede all'utente di confermare. `"defer"` esce con grazia in modo che lo strumento possa essere ripreso in seguito. Le [regole di negazione e richiesta](/docs/it/permissions#manage-permissions) vengono comunque valutate indipendentemente da ciò che l'hook restituisce |

1934| `permissionDecisionReason` | Per `"ask"`, mostrato all'utente ma non a Claude. Per `"deny"`, mostrato a Claude. Per `"allow"` e `"defer"`, scritto nel [debug log](#debug-hooks) solo |1934| `permissionDecisionReason` | Per `"ask"`, mostrato all'utente nella richiesta di permesso. Quando Claude Code [nega la chiamata](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs) in un'esecuzione `-p` in cui nessuno può rispondere a quella richiesta, Claude legge invece il motivo nel risultato dello strumento. Per `"deny"`, mostrato a Claude. Per `"allow"` e `"defer"`, scritto solo nel [log di debug](#debug-hooks) |

1935| `updatedInput` | Modifica i parametri di input dello strumento prima dell'esecuzione. Sostituisce l'intero oggetto di input, quindi includi i campi invariati insieme a quelli modificati. Claude Code valuta le regole di permesso e l'idoneità [auto-background](/docs/it/tools-reference#background-commands) di un comando Bash rispetto all'input che il tuo hook restituisce, non l'input che Claude ha inviato. Combina con `"allow"` per auto-approvare, o `"ask"` per mostrare l'input modificato all'utente. Per `"defer"`, ignorato |1935| `updatedInput` | Modifica i parametri di input dello strumento prima dell'esecuzione. Sostituisce l'intero oggetto di input, quindi includi i campi invariati insieme a quelli modificati. Claude Code valuta le regole di permesso e l'idoneità [auto-background](/docs/it/tools-reference#background-commands) di un comando Bash rispetto all'input che il tuo hook restituisce, non l'input che Claude ha inviato. Combina con `"allow"` per auto-approvare, o `"ask"` per mostrare l'input modificato all'utente. Per `"defer"`, ignorato |

1936| `additionalContext` | Stringa aggiunta al contesto di Claude insieme al risultato dello strumento. Ignorato quando `permissionDecision` è `"defer"`. Vedi [Aggiungi contesto per Claude](#add-context-for-claude) |1936| `additionalContext` | Stringa aggiunta al contesto di Claude insieme al risultato dello strumento. Ignorato quando `permissionDecision` è `"defer"`. Vedi [Aggiungi contesto per Claude](#add-context-for-claude) |

1937 1937 

Details

245| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-editing) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra ad Amazon Bedrock | Inoltrare entrambi, oppure [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |245| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-editing) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra ad Amazon Bedrock | Inoltrare entrambi, oppure [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

246| [Contesto esteso](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) e [pensiero interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo intestazioni beta, nessun campo del corpo | Silenziosamente non disponibile quando l'intestazione viene rimossa; l'upstream non vede mai la richiesta di capacità | Inoltrare `anthropic-beta` verbatim |246| [Contesto esteso](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) e [pensiero interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo intestazioni beta, nessun campo del corpo | Silenziosamente non disponibile quando l'intestazione viene rimossa; l'upstream non vede mai la richiesta di capacità | Inoltrare `anthropic-beta` verbatim |

247| Beta [tool fields](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |247| Beta [tool fields](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

248| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene le impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuna si associa alla propria intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Amazon Bedrock e Google Cloud's Agent Platform | Inoltrare il campo e le sue intestazioni insieme, oppure chiedere agli sviluppatori di impostare [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), che rimuove le impostazioni di formato e budget dei compiti ma non lo sforzo |248| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene le impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuna si associa alla propria intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Amazon Bedrock e Google Cloud's Agent Platform | Inoltrare il campo e le sue intestazioni insieme, oppure chiedere agli sviluppatori di impostare [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), che rimuove le impostazioni di formato e budget dei compiti ma non lo sforzo. Per rimuovere solo il formato, possono invece impostare [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/it/env-vars), che richiede la v2.1.288 o successiva |

249| [Prompt caching](/docs/it/prompt-caching) | Nessun accoppiamento beta. Claude Code allega marcatori `cache_control` ai blocchi `system` e alle voci `messages`, incluse le voci `role: "system"` aggiunte a metà conversazione | Nessun errore: la conversazione viene fatturata come input non memorizzato in cache ad ogni turno, visibile come `input_tokens` elevati con poca o nessuna attività di cache in `usage` | Inoltrare `cache_control` invariato ovunque appaia, e non convertire il contenuto del blocco `system` o del messaggio in stringhe semplici |249| [Prompt caching](/docs/it/prompt-caching) | Nessun accoppiamento beta. Claude Code allega marcatori `cache_control` ai blocchi `system` e alle voci `messages`, incluse le voci `role: "system"` aggiunte a metà conversazione | Nessun errore: la conversazione viene fatturata come input non memorizzato in cache ad ogni turno, visibile come `input_tokens` elevati con poca o nessuna attività di cache in `usage` | Inoltrare `cache_control` invariato ovunque appaia, e non convertire il contenuto del blocco `system` o del messaggio in stringhe semplici |

250| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Nessun errore: Claude Code ricade a una stima basata su caratteri, quindi `/context` mostra conteggi approssimativi | Esporre l'endpoint per conteggi di token esatti |250| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Nessun errore: Claude Code ricade a una stima basata su caratteri, quindi `/context` mostra conteggi approssimativi | Esporre l'endpoint per conteggi di token esatti |

251 251 

model-config.md +4 −3

Details

794 794 

795<span id="context-window-behind-a-gateway" />795<span id="context-window-behind-a-gateway" />

796 796 

797Se imposti `ANTHROPIC_BASE_URL` a un [gateway LLM](/docs/it/llm-gateway) o un altro proxy, Claude Code assegna a ogni modello che riconosce la stessa finestra di contesto che il modello ha su Anthropic API. Fable 5.1, Fable 5, Sonnet 5 e successivi, e Opus 4.7 e successivi ottengono la finestra 1M senza variante `[1m]` da selezionare, e un modello che raggiunge 1M solo attraverso la sua variante `[1m]`, come Opus 4.6, viene eseguito a 200K senza di essa. Claude Code non può rilevare un limite inferiore che il gateway o il server dietro di esso applica. Se il tuo gateway rifiuta le richieste sopra 200K token, esegui [`/autocompact 200k`](#set-the-auto-compact-window) in modo che le sessioni si compattino a quel confine.797Se imposti `ANTHROPIC_BASE_URL` su un [gateway LLM](/docs/it/llm-gateway) o un altro proxy, Claude Code assegna a ogni modello che riconosce la stessa finestra di contesto che il modello ha su Anthropic API. Fable 5.1, Fable 5, Sonnet 5 e successivi, e Opus 4.7 e successivi ottengono la finestra 1M senza una variante `[1m]` da selezionare, e un modello che raggiunge 1M solo tramite la sua variante `[1m]`, come Opus 4.6, viene eseguito a 200K senza di essa. Claude Code non può rilevare un limite inferiore applicato dal gateway o dal server che si trova dietro di esso. Se il tuo gateway rifiuta le richieste sopra i 200K token, imposta [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/it/env-vars) nell'ambiente che avvia Claude Code, in modo che le sessioni su ogni modello [si compattino a quel limite](#set-the-auto-compact-window).

798 798 

799Per disattivare il contesto 1M, imposta `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code rimuove le varianti di modello 1M dal selettore di modelli. Su modelli con una finestra 1M nativa, come Sonnet 5 e i modelli Fable, tratta anche il modello come avente una finestra di contesto di 200K:799Per disattivare il contesto 1M, imposta `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code rimuove le varianti di modello 1M dal selettore di modelli. Su modelli con una finestra 1M nativa, come Sonnet 5 e i modelli Fable, tratta anche il modello come avente una finestra di contesto di 200K:

800 800 


840 Impostare la finestra auto-compact840 Impostare la finestra auto-compact

841</h3>841</h3>

842 842 

843È possibile impostare la finestra auto-compact in tre posizioni:843Puoi impostare la finestra di compattazione automatica in queste posizioni:

844 844 

845* **Per questa sessione e quelle successive**: eseguire `/autocompact` con un valore, come `/autocompact 500k`. Claude Code lo salva nelle impostazioni utente come [`autoCompactWindow`](/docs/it/settings-reference#autocompactwindow) e lo applica alla sessione corrente; se un [ambito di impostazioni](/docs/it/settings#settings-precedence) con priorità più alta, come le impostazioni gestite, imposta la chiave, il comando salva il valore ma la sessione mantiene la finestra di tale ambito, e il comando lo comunica. Eseguire `/autocompact auto` per tornare alla finestra ottimizzata per il modello.845* **Per il modello corrente, in questa sessione e in quelle successive**: esegui `/autocompact` con un valore, come `/autocompact 500k`. Claude Code lo salva nelle tue impostazioni utente sotto il modello corrente in [`modelSettings`](/docs/it/settings-reference#modelsettings) e lo applica alla sessione corrente. Se un [ambito di impostazioni](/docs/it/settings#settings-precedence) con priorità più alta, come le impostazioni gestite, imposta una propria finestra per quel modello o per tutti i modelli, il comando salva il tuo valore ma la sessione mantiene la finestra di tale ambito, e il comando lo comunica. Esegui `/autocompact auto` per tornare alla finestra ottimizzata per il tuo modello. Prima della v2.1.288, il comando salvava un'unica finestra per tutti i modelli, come `autoCompactWindow` di primo livello.

846* **Per tutti i modelli**: imposta [`autoCompactWindow`](/docs/it/settings-reference#autocompactwindow) in un file di impostazioni, ad esempio `"autoCompactWindow": 200000` in `~/.claude/settings.json`. Una finestra che hai salvato per un modello con `/autocompact` ha la precedenza su questa chiave nello stesso file per quel modello.

846* **Per un singolo avvio**: passare [`--autocompact`](/docs/it/cli-reference#cli-flags) all'avvio di Claude Code. Il flag sostituisce l'impostazione salvata per tale avvio senza modificarla, e `claude --autocompact auto` esegue la sessione alla finestra ottimizzata anche se l'impostazione salvata ha un valore. A differenza di `/autocompact`, il flag non è prevenuto da un ambito di impostazioni con priorità più alta, come le impostazioni gestite.847* **Per un singolo avvio**: passare [`--autocompact`](/docs/it/cli-reference#cli-flags) all'avvio di Claude Code. Il flag sostituisce l'impostazione salvata per tale avvio senza modificarla, e `claude --autocompact auto` esegue la sessione alla finestra ottimizzata anche se l'impostazione salvata ha un valore. A differenza di `/autocompact`, il flag non è prevenuto da un ambito di impostazioni con priorità più alta, come le impostazioni gestite.

847* **In script e ambienti cloud**: impostare [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/env-vars). Mentre è impostato, ha precedenza sul comando, sul flag e sull'impostazione, e `/autocompact` segnala l'override invece di modificare la finestra.848* **In script e ambienti cloud**: impostare [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/env-vars). Mentre è impostato, ha precedenza sul comando, sul flag e sull'impostazione, e `/autocompact` segnala l'override invece di modificare la finestra.

848 849 

plugins/publish.md +26 −11

Details

145 Invia alla directory di Anthropic145 Invia alla directory di Anthropic

146</h2>146</h2>

147 147 

148La directory di Anthropic è il catalogo che le persone sfogliano su claude.ai e in Cowork per aggiungere plugin e connettori. Un'inserzione lì raggiunge le persone su claude.ai, in Cowork e in Claude Code. Invii dal portale degli sviluppatori su [claude.ai/directory/manage](https://claude.ai/directory/manage); [Prepara per la revisione](https://claude.com/docs/directory/publish#prepare-for-review) su claude.com descrive cosa accade a ogni versione prima che sia pubblicata.148La [directory di Anthropic](https://claude.ai/directory) è il catalogo che le persone sfogliano su claude.ai e in Cowork per aggiungere plugin e connettori. Un'inserzione lì raggiunge le persone su claude.ai, in Cowork e in Claude Code. Invii dal portale degli sviluppatori su [claude.ai/directory/manage](https://claude.ai/directory/manage), e [Invia un plugin](https://claude.com/docs/plugins/submit#submit-a-plugin) su claude.com illustra il portale passo dopo passo.

149 149 

150L'invio richiede un piano claude.ai a pagamento. Su Pro e Max invii dal tuo account personale. Su Team e Enterprise, un Proprietario può inviare, e su Enterprise un Proprietario può anche concedere l'autorizzazione **Directory** ad altri membri attraverso un ruolo personalizzato in **Impostazioni organizzazione > Ruoli**. Vedi [Conferma che puoi inviare alla directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).150Il marketplace ufficiale di Anthropic, `claude-plugins-official`, non accetta invii attraverso il portale della directory. Se lavori con un contatto partner di Anthropic, chiedi loro informazioni su un'inserzione nel marketplace ufficiale.

151 151 

152I passaggi di invio, i controlli che ogni versione deve superare e cosa accade dopo la pubblicazione sono documentati su claude.com, perché sono gli stessi indipendentemente da quale superficie i tuoi utenti utilizzano:152Per inviare un plugin:

153 153 

154* [Pubblica nella directory](https://claude.com/docs/directory/publish#before-you-submit-to-the-directory): cosa puoi inviare e chi può inviarlo154<Steps>

155* [Invia un plugin](https://claude.com/docs/plugins/submit#submit-a-plugin): i passaggi del portale e [aggiornamento di un plugin pubblicato](https://claude.com/docs/plugins/submit#update-a-published-plugin)155 <Step title="Conferma che puoi inviare">

156* [Checklist di pre-invio del plugin](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit): i controlli da eseguire e correggere prima di inviare156 L'invio richiede un piano claude.ai a pagamento. Su Pro e Max invii dal tuo account personale. Su Team e Enterprise, un Proprietario può inviare, e su Enterprise un Proprietario può anche concedere il permesso **Directory** ad altri membri attraverso un ruolo personalizzato in **Impostazioni organizzazione > Ruoli**. Vedi [Conferma che puoi inviare alla directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

157* [Sposta un invio precedente al portale degli sviluppatori](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): cosa fare se hai inviato un plugin attraverso uno dei moduli di invio precedenti, prima che il portale esistesse157 </Step>

158 158 

159Prima di aprire il portale, convalida localmente e controlla quali dei tuoi componenti si caricano al di fuori di Claude Code:159 <Step title="Convalida il plugin localmente">

160 Esegui `claude plugin validate ./your-plugin --strict` nella tua shell. Sostituisci `./your-plugin` con il percorso della tua directory plugin. Il comando cattura gli errori del manifest localmente; [plugin validate](/docs/it/plugins/cli-reference#plugin-validate) elenca quali file ogni esecuzione legge. Il portale applica regole di directory aggiuntive che la CLI non controlla, quindi un'esecuzione locale pulita non garantisce una convalida del portale pulita.

160 161 

161* **Esegui `claude plugin validate ./your-plugin --strict` nel tuo shell**: sostituisci `./your-plugin` con il percorso della tua directory plugin. Il comando cattura gli errori del manifest localmente; [plugin validate](/docs/it/plugins/cli-reference#plugin-validate) elenca quali file ogni esecuzione legge. Il portale applica regole di directory aggiuntive che la CLI non controlla, quindi un'esecuzione locale pulita non garantisce una convalida del portale pulita.162 La [checklist di pre-invio del plugin](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit) su claude.com contiene i controlli da eseguire e correggere prima di inviare.

162* **Controlla cosa si carica dove**: alcuni componenti del plugin sono solo Claude Code e non si caricano su claude.ai o in Cowork. La [tabella di supporto dei componenti](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) elenca ogni componente per app, così sai cosa riceveranno gli utenti al di fuori di Claude Code.163 </Step>

163 164 

164Il marketplace ufficiale di Anthropic, `claude-plugins-official`, non accetta invii attraverso il portale della directory. Se lavori con un contatto partner di Anthropic, chiedi loro informazioni su un'inserzione nel marketplace ufficiale.165 <Step title="Controlla cosa si carica dove">

166 Alcuni componenti del plugin sono solo Claude Code e non si caricano su claude.ai o in Cowork. La [tabella di supporto dei componenti](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) elenca ogni componente per app, così sai cosa riceveranno gli utenti al di fuori di Claude Code.

167 </Step>

168 

169 <Step title="Invia nel portale degli sviluppatori">

170 Apri il portale degli sviluppatori su [claude.ai/directory/manage](https://claude.ai/directory/manage) e segui [Invia un plugin](https://claude.com/docs/plugins/submit#submit-a-plugin) su claude.com.

171 </Step>

172</Steps>

173 

174Il resto del processo è documentato su claude.com:

175 

176* [Prepara per la revisione](https://claude.com/docs/directory/publish#prepare-for-review): cosa accade a ogni versione prima che sia pubblicata

177* [Aggiorna un plugin pubblicato](https://claude.com/docs/plugins/submit#update-a-published-plugin): come una nuova versione raggiunge le persone che hanno il tuo plugin

178* [Invia il tuo plugin, e il tuo server MCP come connettore](https://claude.com/docs/directory/publish#submit-your-plugin-and-your-mcp-server-as-a-connector): cosa puoi inviare

179* [Sposta un invio precedente al portale degli sviluppatori](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): cosa fare se hai inviato un plugin attraverso uno dei moduli di invio precedenti, prima che il portale esistesse

165 180 

166<h3 id="how-a-listed-plugin-reaches-claude-code-users">181<h3 id="how-a-listed-plugin-reaches-claude-code-users">

167 Come un plugin elencato raggiunge gli utenti di Claude Code182 Come un plugin elencato raggiunge gli utenti di Claude Code

Details

708| [`modelOverrides`](#modeloverrides) | [Mappa gli ID dei modelli](/docs/it/model-config#override-model-ids-per-version) agli ID del tuo provider, come gli ARN di Bedrock | Modello e risposte | Any file |708| [`modelOverrides`](#modeloverrides) | [Mappa gli ID dei modelli](/docs/it/model-config#override-model-ids-per-version) agli ID del tuo provider, come gli ARN di Bedrock | Modello e risposte | Any file |

709| [`modelPicker`](#modelpicker) | Scegli quali modelli elenca il [selettore `/model`](/docs/it/model-config#available-models), nel tuo ordine e con le tue etichette | Modello e risposte | User or managed |709| [`modelPicker`](#modelpicker) | Scegli quali modelli elenca il [selettore `/model`](/docs/it/model-config#available-models), nel tuo ordine e con le tue etichette | Modello e risposte | User or managed |

710| [`modelPricing`](#modelpricing) | Riporta la spesa alle tariffe contrattuali della tua organizzazione invece che al prezzo di listino | Modello e risposte | Managed |710| [`modelPricing`](#modelpricing) | Riporta la spesa alle tariffe contrattuali della tua organizzazione invece che al prezzo di listino | Modello e risposte | Managed |

711| [`modelSettings`](#modelsettings) | Mantieni un [livello di sforzo](/docs/it/model-config#adjust-effort-level) salvato per ogni modello, o limita lo sforzo di un modello | Modello e risposte | Any file |711| [`modelSettings`](#modelsettings) | Mantieni un [livello di sforzo](/docs/it/model-config#adjust-effort-level) o una [finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window) salvati per ogni modello, o limita lo sforzo di un modello | Modello e risposte | Any file |

712| [`otelHeadersHelper`](#otelheadershelper) | Genera intestazioni [OpenTelemetry](/docs/it/monitoring-usage#dynamic-headers) a rotazione con un tuo comando | Autenticazione e provider | Any file |712| [`otelHeadersHelper`](#otelheadershelper) | Genera intestazioni [OpenTelemetry](/docs/it/monitoring-usage#dynamic-headers) a rotazione con un tuo comando | Autenticazione e provider | Any file |

713| [`outputStyle`](#outputstyle) | Cambia il ruolo, il tono e il formato di output di Claude con uno [stile di output](/docs/it/output-styles) | Modello e risposte | Any file |713| [`outputStyle`](#outputstyle) | Cambia il ruolo, il tono e il formato di output di Claude con uno [stile di output](/docs/it/output-styles) | Modello e risposte | Any file |

714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Applica o ignora le restrizioni che un [host SDK o IDE](/docs/it/managed-settings#let-an-embedding-host-add-policy) passa quando distribuisci [impostazioni gestite](/docs/it/managed-settings) | Impostazioni aziendali e gestite | Managed |714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Applica o ignora le restrizioni che un [host SDK o IDE](/docs/it/managed-settings#let-an-embedding-host-add-policy) passa quando distribuisci [impostazioni gestite](/docs/it/managed-settings) | Impostazioni aziendali e gestite | Managed |


1282Per limitare l'effort di un modello piuttosto che impostare il suo livello, aggiungi un campo [`maxEffortLevel`](#maxeffortlevel) alla voce di quel modello. Il campo richiede Claude Code v2.1.267 o successivo.1282Per limitare l'effort di un modello piuttosto che impostare il suo livello, aggiungi un campo [`maxEffortLevel`](#maxeffortlevel) alla voce di quel modello. Il campo richiede Claude Code v2.1.267 o successivo.

1283 1283 

1284* **Scope**: [`Any file`](#scopes)1284* **Scope**: [`Any file`](#scopes)

1285* **Type**: object che mappa un nome di modello a un object con un campo `effortLevel`, uno di `"low"`, `"medium"`, `"high"`, o `"xhigh"`, un campo [`maxEffortLevel`](#maxeffortlevel), o entrambi1285* **Type**: object che mappa un nome di modello a un object con uno qualsiasi di questi campi:

1286 * `effortLevel`: uno di `"low"`, `"medium"`, `"high"`, o `"xhigh"`

1287 * [`maxEffortLevel`](#maxeffortlevel): il livello di sforzo più alto a cui il modello può funzionare

1288 * `autoCompactWindow`: un numero di token da `100000` a `1000000`, o `"auto"` per la finestra ottimizzata per il modello. [`/autocompact`](/docs/it/model-config#set-the-auto-compact-window) salva qui. Per quel modello, il valore ha la precedenza su un [`autoCompactWindow`](#autocompactwindow) di livello superiore nello stesso file di impostazioni. Richiede Claude Code v2.1.288 o successivo

1286* **Default**: non impostato1289* **Default**: non impostato

1287 1290 

1288Claude Code scrive ogni voce sotto il nome canonico del modello, come `claude-opus-5-5`, e corrisponde all'alias di quel modello, datato, `[1m]`, e ID specifici del provider riconosciuti alla stessa voce.1291Claude Code scrive ogni voce sotto il nome canonico del modello, come `claude-opus-5-5`, e corrisponde all'alias di quel modello, datato, `[1m]`, e ID specifici del provider riconosciuti alla stessa voce.


2967}2970}

2968```2971```

2969 2972 

2970Impostala con il comando [`/autocompact`](/docs/it/commands#all-commands), che scrive questa chiave nelle tue impostazioni utente. [Impostare la finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window) spiega come interagiscono comando, flag, variabile e impostazione.2973Il comando [`/autocompact`](/docs/it/commands#all-commands) salva una finestra per il modello corrente in [`modelSettings`](#modelsettings), che per quel modello ha la precedenza su questa chiave nello stesso file. [Impostare la finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window) spiega come interagiscono comando, flag, variabile e impostazione.

2971 2974 

2972<h3 id="automemorydirectory">2975<h3 id="automemorydirectory">

2973 `autoMemoryDirectory`2976 `autoMemoryDirectory`

setup.md +5 −5

Details

45 <Tab title="Installazione nativa (consigliata)">45 <Tab title="Installazione nativa (consigliata)">

46 **macOS, Linux, WSL:**46 **macOS, Linux, WSL:**

47 47 

48 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}48 ```bash theme={null}

49 curl -fsSL https://claude.ai/install.sh | bash49 curl -fsSL https://claude.ai/install.sh | bash

50 ```50 ```

51 51 

52 **Windows PowerShell:**52 **Windows PowerShell:**

53 53 

54 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}54 ```powershell theme={null}

55 irm https://claude.ai/install.ps1 | iex55 irm https://claude.ai/install.ps1 | iex

56 ```56 ```

57 57 

58 **Windows CMD:**58 **Windows CMD:**

59 59 

60 ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}60 ```batch theme={null}

61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

62 ```62 ```

63 63 


75 </Tab>75 </Tab>

76 76 

77 <Tab title="Homebrew">77 <Tab title="Homebrew">

78 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}78 ```bash theme={null}

79 brew install --cask claude-code79 brew install --cask claude-code

80 ```80 ```

81 81 


87 </Tab>87 </Tab>

88 88 

89 <Tab title="WinGet">89 <Tab title="WinGet">

90 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}90 ```powershell theme={null}

91 winget install Anthropic.ClaudeCode91 winget install Anthropic.ClaudeCode

92 ```92 ```

93 93 

ultrareview.md +1 −5

Details

134| - | - | - |134| - | - | - |

135| Pro | 3 run gratuiti | fatturato come [utilizzo extra](https://support.claude.com/it/articles/12429409-extra-usage-for-paid-claude-plans) |135| Pro | 3 run gratuiti | fatturato come [utilizzo extra](https://support.claude.com/it/articles/12429409-extra-usage-for-paid-claude-plans) |

136| Max | 3 run gratuiti | fatturato come [utilizzo extra](https://support.claude.com/it/articles/12429409-extra-usage-for-paid-claude-plans) |136| Max | 3 run gratuiti | fatturato come [utilizzo extra](https://support.claude.com/it/articles/12429409-extra-usage-for-paid-claude-plans) |

137| Team e Enterprise | nessuno | fatturato come [utilizzo extra](https://support.claude.com/it/articles/12429409-extra-usage-for-paid-claude-plans) |

138 137 

139* **Run gratuiti**: i tre run Pro e Max sono un'allocazione una tantum per account e non si rinnovano.138* **Run gratuiti**: i tre run Pro e Max sono un'allocazione una tantum per account e non si rinnovano.

140* **Costo per revisione**: dopo aver utilizzato i run gratuiti, in genere da \$5 a \$25 in crediti di utilizzo a seconda della dimensione della modifica, corrispondente alla stima che la finestra di dialogo di avvio mostra prima di ogni run.139* **Costo per revisione**: dopo aver utilizzato i run gratuiti, in genere da \$5 a \$25 in crediti di utilizzo a seconda della dimensione della modifica, corrispondente alla stima che la finestra di dialogo di avvio mostra prima di ogni run.

141* **Quando un run viene conteggiato**: una volta che la sessione cloud inizia. Una revisione che interrompete anticipatamente o che non riesce a completarsi utilizza comunque un run gratuito; una revisione a pagamento viene fatturata solo per la parte che è stata eseguita.140* **Quando un run viene conteggiato**: una volta che la sessione cloud inizia. Una revisione che interrompete anticipatamente o che non riesce a completarsi utilizza comunque un run gratuito; una revisione a pagamento viene fatturata solo per la parte che è stata eseguita.

142 141 

143Poiché ultrareview viene sempre fatturato come crediti di utilizzo al di fuori dei run gratuiti, il vostro account o la vostra organizzazione deve avere i crediti di utilizzo abilitati prima di poter avviare una revisione a pagamento. Se i crediti di utilizzo non sono abilitati, Claude Code blocca l'avvio e come attivarli dipende dal vostro accesso alla fatturazione:142Poiché ultrareview viene sempre fatturato come crediti di utilizzo al di fuori dei run gratuiti, il tuo account o la tua organizzazione deve avere i crediti di utilizzo attivati prima di poter avviare una revisione a pagamento. Se i crediti di utilizzo non sono attivati, Claude Code blocca l'avvio. Se puoi gestire la fatturazione per il tuo account, Claude Code ti collega alle impostazioni di fatturazione dove puoi attivare i crediti di utilizzo.

144 

145* Se potete gestire la fatturazione per il vostro account, Claude Code vi collega alle impostazioni di fatturazione dove potete attivare i crediti di utilizzo.

146* Nei piani Team e Enterprise, i membri senza accesso alla fatturazione inviano una richiesta dalla CLI chiedendo al loro amministratore di attivare i crediti di utilizzo.

147 143 

148Potete anche eseguire `/usage-credits` per controllare o modificare l'impostazione dei crediti di utilizzo.144Potete anche eseguire `/usage-credits` per controllare o modificare l'impostazione dei crediti di utilizzo.

149 145