Trova il tuo errore
Abbina il messaggio di errore o il sintomo che stai vedendo a una soluzione:
Se il tuo problema non è elencato, esegui i controlli diagnostici di seguito per restringere la causa.
Esegui controlli diagnostici
Controlla la connettività di rete
Il programma di installazione scarica dadownloads.claude.ai. Verifica di poterlo raggiungere:
- macOS/Linux
- Windows PowerShell
200. Vedrai HTTP/2 200 su macOS e Linux, e HTTP/1.1 200 OK da curl.exe incluso con Windows. Altri risultati indicano la causa:
403: solitamente un proxy o un filtro di rete che blocca l’host, o Claude Code non è disponibile nella tua regione5xx: solitamente un problema temporaneo del servizio; attendi alcuni minuti e riprova
Could not resolve host, o un timeout di connessione, la tua rete sta bloccando la connessione. Le cause comuni sono:
- Firewall aziendali o proxy che bloccano
downloads.claude.ai - Restrizioni di rete regionali: prova una VPN o una rete alternativa
- Problemi TLS/SSL: aggiorna i certificati CA del tuo sistema, o controlla se
HTTPS_PROXYè configurato
HTTPS_PROXY e HTTP_PROXY all’indirizzo del tuo proxy prima di installare. Chiedi al tuo team IT l’URL del proxy se non lo conosci, o controlla le impostazioni del proxy del tuo browser.
Questo esempio imposta entrambe le variabili proxy, quindi esegue il programma di installazione attraverso il tuo proxy:
- macOS/Linux
- Windows PowerShell
Verifica il tuo PATH
Se l’installazione è riuscita ma ricevi un errorecommand not found o not recognized quando esegui claude, la directory di installazione non è nel tuo PATH. La tua shell cerca i programmi nelle directory elencate in PATH, e il programma di installazione posiziona claude in ~/.local/bin/claude su macOS/Linux o %USERPROFILE%\.local\bin\claude.exe su Windows.
L’estensione VS Code non posiziona
claude in questa posizione. Raggruppa una copia privata della CLI all’interno della directory dell’estensione per il suo pannello di chat e non la aggiunge a PATH. Se hai installato solo l’estensione, ~/.local/bin/claude non esisterà. Esegui l’installazione standalone per utilizzare claude da un terminale, quindi continua di seguito.local/bin:
- macOS/Linux
- Windows PowerShell
- Windows CMD
/Users/you/.local/bin o /home/you/.local/bin, la directory è nel tuo PATH e puoi saltare a Controlla le installazioni in conflitto. Se non c’è output, aggiungilo alla tua configurazione shell.Per Zsh, il default su macOS:~/.local/bin al tuo PATH usando la sintassi di configurazione del tuo shell, quindi riavvia il tuo terminale.Verifica che la correzione abbia funzionato:Controlla le installazioni in conflitto
Più installazioni di Claude Code possono causare mancate corrispondenze di versione o comportamenti inaspettati. Controlla cosa è installato:- macOS/Linux
- Windows PowerShell
Elenca tutti i binari Se questo non stampa nulla, nessun Un’installazione nativa mostra un collegamento simbolico in
claude trovati nel tuo PATH:claude è ancora nel tuo PATH. Torna a Verifica il tuo PATH.Controlla le tre posizioni da cui un binario claude può provenire. ~/.local/bin/claude è il programma di installazione nativo, ~/.claude/local/ è un’installazione npm locale legacy creata da versioni precedenti di Claude Code, e l’elenco npm globale mostra un’installazione -g:~/.local/share/claude/versions/. Uno script o un collegamento simbolico che hai creato tu stesso in questo percorso è un launcher personalizzato, che l’aggiornamento automatico lascia in posizione.Se uno dei comandi ls stampa No such file or directory, non è un errore. Significa che nulla è installato in quella posizione, quindi passa al controllo successivo.~/.local/bin/claude su macOS/Linux o %USERPROFILE%\.local\bin\claude.exe su Windows è consigliata. Rimuovi le altre:
Disinstalla un’installazione npm globale:
- macOS/Linux
- Windows PowerShell
claude-code@latest, sostituisci quel nome:
Controlla i permessi della directory
Il programma di installazione ha bisogno di accesso in scrittura a~/.local/bin/ e ~/.claude/ su macOS e Linux. Su Windows la posizione di installazione è sotto %USERPROFILE%, che è scrivibile dal tuo utente per impostazione predefinita, quindi questa sezione raramente si applica lì.
Controlla se le directory sono scrivibili:
Verifica che il binario funzioni
Seclaude --version stampa una versione ma claude si arresta in modo anomalo o si blocca all’avvio, esegui questi controlli per restringere la causa. Se claude --version dice comando non trovato, vai a Verifica il tuo PATH prima; i comandi di seguito presuppongono che claude sia nel tuo PATH.
Conferma che il binario esiste ed è eseguibile:
- macOS/Linux
- Windows PowerShell
ldd mostra librerie mancanti, potrebbe essere necessario installare pacchetti di sistema. Su Alpine Linux e altre distribuzioni basate su musl, vedi Configurazione di Alpine Linux.
Problemi di installazione comuni
Questi sono i problemi di installazione più frequentemente riscontrati e le loro soluzioni.Lo script di installazione restituisce HTML invece di uno script shell
Quando esegui il comando di installazione, potresti vedere uno di questi errori:iex che tenta di eseguire HTML e CSS come PowerShell:
Missing expression after unary operator '--' o un ParserError con ParseException invece. I tag HTML o CSS nel testo tra virgolette identificano questo errore. Se scarichi con -OutFile install.ps1 invece, il file salvato è la stessa pagina web, quindi nemmeno questo aiuta.
A seconda di come la richiesta è stata instradata, potresti invece vedere un 403 senza corpo HTML:
-
Usa un metodo di installazione alternativo:
Su macOS, installa tramite Homebrew:
Su Windows, installa tramite WinGet:Quindi esegui
claude --versionper confermare: il comando stampa un numero di versione come2.1.211 (Claude Code). Se la shell segnala checlaudenon è trovato, apri una nuova finestra di terminale e riprova: la sessione da cui hai installato mantiene il vecchioPATH. - Riprova dopo alcuni minuti: il problema è spesso temporaneo. Aspetta e prova di nuovo il comando originale.
command not found: claude dopo l’installazione
L’installazione è terminata ma claude non funziona. L’errore esatto varia in base alla piattaforma:
Questo significa che la directory di installazione non è nel percorso di ricerca della tua shell. Vedi Verifica il tuo PATH per la correzione su ogni piattaforma.
curl: (56) Failure writing output to destination
Il comando curl ... | bash scarica lo script e lo invia a Bash per l’esecuzione. Questo errore, e l’errore correlato curl: (23) Failure writing output to destination, significa che Bash non ha ricevuto lo script completo. Il codice di uscita 56 indica che il download stesso è stato interrotto, e il codice di uscita 23 indica che curl non ha potuto scrivere quello che ha ricevuto al pipe, di solito perché Bash è uscito anticipatamente.
Soluzioni:
-
Controlla la stabilità della rete: i binari di Claude Code sono ospitati in
downloads.claude.ai. Testa che puoi raggiungerlo:Una rigaHTTP/2 200significa che hai raggiunto il server e il fallimento originale era probabilmente intermittente; riprova il comando di installazione. Altri risultati puntano alla causa:403: di solito un proxy o un filtro di rete che blocca l’host, o Claude Code non è disponibile nella tua regione5xx: di solito un problema temporaneo del servizio; aspetta alcuni minuti e riprovaCould not resolve hosto un timeout di connessione: la tua rete sta bloccando il download
-
Prova un metodo di installazione alternativo:
Su macOS:
Su Windows:Quindi esegui
claude --versionper confermare: il comando stampa un numero di versione come2.1.211 (Claude Code). Se la shell segnala checlaudenon è trovato, apri una nuova finestra di terminale e riprova: la sessione da cui hai installato mantiene il vecchioPATH.
Cask Homebrew non disponibile o obsoleto
Homebrew segnalaError: Cask 'claude-code' is unavailable: No Cask with this name exists quando la tua copia locale dell’indice cask di Homebrew è precedente alla pubblicazione del cask. Aggiorna l’indice e riprova:
claude-code traccia il canale stabile ed è in genere circa una settimana dietro l’ultima versione; per la versione più recente esegui brew install --cask claude-code@latest invece. Vedi Configura il canale di rilascio per la differenza tra i due cask.
Errori di connessione TLS o SSL
Errori comecurl: (35) TLS connect error, schannel: next InitializeSecurityContext failed, o il Could not establish trust relationship for the SSL/TLS secure channel di PowerShell indicano fallimenti dell’handshake TLS.
Soluzioni:
-
Aggiorna i certificati CA del tuo sistema:
Su Ubuntu/Debian:
Su macOS, il curl di sistema utilizza l’archivio di fiducia Keychain; l’aggiornamento di macOS stesso aggiorna i certificati root.
-
Su Windows, abilita TLS 1.2 in PowerShell prima di eseguire il programma di installazione:
-
Controlla l’interferenza del proxy o del firewall: i proxy aziendali che eseguono l’ispezione TLS possono causare questi errori, inclusi
unable to get local issuer certificateeSELF_SIGNED_CERT_IN_CHAIN. Per il passaggio di installazione, fai in modo che il download di installazione si fidi del CA aziendale:Per Claude Code stesso una volta installato, imposta- macOS/Linux
- Windows PowerShell
NODE_EXTRA_CA_CERTSin modo che le richieste API si fidino dello stesso bundle:Chiedi al tuo team IT il file di certificato se non lo hai. Puoi anche provare su una connessione diretta per confermare che il proxy è la causa.- macOS/Linux
- Windows PowerShell
-
Su Windows, aggira i controlli di revoca bloccati. Gli errori
CRYPT_E_NO_REVOCATION_CHECK (0x80092012)eCRYPT_E_REVOCATION_OFFLINE (0x80092013)significano che curl ha raggiunto il server ma la tua rete blocca la ricerca di revoca del certificato, che è comune dietro firewall aziendali. Se il comando che fallisce è ilcurlche scaricainstall.cmd, rieseguilo da un Prompt dei comandi con--ssl-revoke-best-effortaggiunto:Quando i download dello script stesso colpiscono gli stessi errori, li ritenta con il controllo di revoca best-effort automaticamente, quindi il flag è necessario solo sul comando che esegui tu stesso. Il controllo best-effort tollera un server di revoca irraggiungibile ma rifiuta comunque un certificato che è noto essere revocato, corrispondendo a come i browser gestiscono la revoca. Puoi anche evitare completamente il controllo di revoca di curl eseguendo il programma di installazione PowerShell da PowerShell, che scarica tramite .NET e non fallisce quando il server di revoca è irraggiungibile:Puoi anche installare conwinget install Anthropic.ClaudeCode, che evita curl completamente.
Failed to fetch version from downloads.claude.ai
Il programma di installazione non ha potuto raggiungere il server di download. Questo in genere significa che downloads.claude.ai è bloccato sulla tua rete. Vedi Controlla la connettività di rete.
Comando di installazione sbagliato su Windows
Se vedi'irm' is not recognized, The token '&&' is not valid, A parameter cannot be found that matches parameter name 'fsSL', o 'bash' is not recognized as the name of a cmdlet, hai copiato il comando di installazione per una shell o un sistema operativo diverso. Se il comando stampa il testo dello script invece di installare qualcosa, hai eseguito solo parte di esso.
-
irmnon riconosciuto: sei in CMD, non PowerShell. Hai due opzioni: Apri PowerShell cercando “PowerShell” nel menu Start, quindi esegui il comando di installazione originale:Oppure rimani in CMD e usa il programma di installazione CMD invece: -
&&non valido: sei in PowerShell ma hai eseguito il comando del programma di installazione CMD. Usa il programma di installazione PowerShell: -
A parameter cannot be found that matches parameter name 'fsSL': hai eseguito il programma di installazione macOS/Linuxcurl -fsSL ... | bashin Windows PowerShell, dovecurlè un alias perInvoke-WebRequeste rifiuta i flag-fsSL. Usa il programma di installazione PowerShell invece: -
bashnon riconosciuto: hai eseguito il programma di installazione macOS/Linux su Windows. Usa il programma di installazione PowerShell invece: -
Il comando stampa il testo dello script invece di installare: hai eseguito la metà del download del comando senza la parte che lo esegue.
irm https://claude.ai/install.ps1da solo stampa lo script scaricato al terminale. Invialo aiexper eseguirlo:In CMD,curl -fsSL https://claude.ai/install.cmdsenza-ostampa lo script batch invece di salvarlo. Esegui il comando completo:
claude --version, che stampa un numero di versione come 2.1.211 (Claude Code).
running scripts is disabled on this system
L’installazione o l’esecuzione di Claude Code tramite npm su Windows può fallire con un SecurityError:
claude.ps1 quando esegui claude dopo un’installazione npm. La politica di esecuzione di PowerShell sta bloccando gli script launcher .ps1 che npm crea per i suoi comandi. La politica si applica ai file di script, quindi non influisce sul programma di installazione PowerShell irm https://claude.ai/install.ps1 | iex, che esegue il testo scaricato direttamente.
Soluzioni:
- Consenti gli script creati localmente per il tuo utente, quindi riprova:
- Chiama il launcher
.cmdinvece:npm.cmdeclaude.cmdfanno lo stesso lavoro, e la politica non li copre. - Usa il programma di installazione PowerShell invece di npm. Installa un binario piuttosto che uno script
.ps1.
The process cannot access the file durante l’installazione su Windows
Se il programma di installazione PowerShell non riesce con Failed to download binary: The process cannot access the file ... because it is being used by another process, il programma di installazione non ha potuto scrivere in %USERPROFILE%\.claude\downloads. Questo di solito significa che un tentativo di installazione precedente è ancora in esecuzione, o il software antivirus sta scansionando un binario parzialmente scaricato in quella cartella.
Chiudi tutte le altre finestre di PowerShell che eseguono il programma di installazione e aspetta che le scansioni antivirus rilascino il file. Quindi elimina la cartella dei download e esegui di nuovo il programma di installazione:
L’installazione viene interrotta su server Linux a bassa memoria
Un messaggioKilled durante l’installazione di solito significa che il killer OOM (out-of-memory) di Linux ha terminato il passaggio claude install perché il sistema ha esaurito la memoria libera. Questo è comune su piccoli VPS e istanze cloud. Lo script di installazione segnala la causa e esce con codice 137. In questo esempio, il numero di riga e l’ID del processo variano in base alla versione e all’esecuzione:
-
Aggiungi spazio di swap se il tuo server ha RAM limitata. Lo swap utilizza lo spazio su disco come memoria di overflow, consentendo al programma di installazione di completarsi anche con RAM fisica bassa.
Crea un file di swap da 2 GB e abilitalo:
Quindi riprova l’installazione:
- Chiudi altri processi per liberare memoria prima di installare.
- Usa un’istanza più grande se possibile. Claude Code richiede almeno 4 GB di RAM.
L’installazione si blocca in Docker
Quando installi Claude Code in un contenitore Docker, l’installazione come root in/ può causare blocchi.
Soluzioni:
-
Imposta una directory di lavoro prima di eseguire il programma di installazione. Quando eseguito da
/, il programma di installazione scansiona l’intero filesystem, il che causa un utilizzo eccessivo della memoria. L’impostazione diWORKDIRlimita la scansione a una piccola directory: - Dai a Docker più memoria se usi Docker Desktop. I contenitori di build condividono la memoria allocata alla macchina virtuale Docker Desktop, quindi apri Settings > Resources in Docker Desktop, aumenta il limite di memoria, e riesegui la build.
Raw mode is not supported durante l’installazione
Quando le impostazioni gestite dal server della tua organizzazione includono modifiche che necessitano di approvazione di sicurezza, le versioni di Claude Code precedenti a 2.1.246 tentano di mostrare la finestra di dialogo di approvazione durante claude install. La finestra di dialogo ha bisogno di un terminale su stdin. Quando il programma di installazione esegue claude install da un pipe, come fa curl -fsSL https://claude.ai/install.sh | bash, stdin è il pipe piuttosto che un terminale, quindi l’installazione fallisce con un errore contenente Raw mode is not supported.
Claude Code v2.1.246 e versioni successive non mostrano la finestra di dialogo durante claude install o claude update. Il comando viene eseguito con le impostazioni che hai approvato l’ultima volta, e Claude Code mostra la finestra di dialogo nella tua prossima sessione interattiva. Se la configurazione di avvio della tua organizzazione attende il recupero delle impostazioni, come quando imposta forceRemoteSettingsRefresh, la finestra di dialogo appare comunque durante questi comandi, e un’esecuzione di installazione da un pipe fallisce comunque.
In ogni altra configurazione, rieseguire il programma di installazione supera questo errore, perché lo script esegue il comando install della versione più recente anche quando chiedi di installare una versione precedente. Riesegui il comando per la tua piattaforma:
- macOS/Linux
- Windows PowerShell
claude --version stampa la versione che la riesecuzione ha installato.
claude update o claude doctor si blocca
claude update e claude doctor scansionano i tuoi file di configurazione della shell per un alias claude obsoleto: ~/.zshrc, ~/.bashrc, e ~/.config/fish/config.fish, più su macOS il primo di ~/.bash_profile, ~/.bash_login, o ~/.profile che esiste. Se imposti ZDOTDIR, il file Zsh è $ZDOTDIR/.zshrc invece. Quando uno di questi percorsi è una directory, Claude Code lo salta e entrambi i comandi si completano normalmente. Prima della v2.1.214, una directory in uno di questi percorsi faceva bloccare entrambi i comandi e lasciava la sezione System diagnostics di /status vuota. claude doctor si bloccava senza output; claude update si bloccava subito dopo aver stampato Checking for updates.
Se colpisci il blocco su una versione precedente, trova la directory. Nell’output di questo comando, una riga che inizia con d contrassegna quel percorso come una directory. Una riga No such file or directory significa che nulla esiste in quel percorso e non è la causa:
claude update si blocca sulle versioni interessate, aggiorna rieseguendo lo script di installazione invece.
Claude Desktop sostituisce il comando claude su Windows
Se hai installato una versione precedente di Claude Desktop, potrebbe registrare un Claude.exe nella directory WindowsApps che ha priorità nel PATH rispetto a Claude Code CLI. L’esecuzione di claude apre l’app Desktop invece della CLI.
Aggiorna Claude Desktop alla versione più recente per risolvere questo problema.
Claude Code su Windows richiede Git for Windows (per bash) o PowerShell
Git for Windows è facoltativo. Claude Code utilizza lo strumento PowerShell quando Git Bash è assente, quindi questo errore significa che nessuna delle due shell è stata trovata. Se PowerShell manca dal tuo PATH, la sua posizione predefinita èC:\Windows\System32\WindowsPowerShell\v1.0\. Aggiungi quella directory al tuo PATH, o installa PowerShell 7, che fornisce pwsh.
Per installare Git for Windows invece, scaricalo da git-scm.com/downloads/win. Durante la configurazione, seleziona “Add to PATH.” Riavvia il tuo terminale dopo l’installazione. L’installazione abilita lo strumento Bash, utile quando si lavora con script e strumenti basati su Bash.
Se Git è già installato ma Claude Code non riesce a trovarlo, confronta la sua posizione rispetto ai posti che Claude Code controlla. Quando CLAUDE_CODE_GIT_BASH_PATH non è impostato, Claude Code cerca bash.exe in questo ordine:
- Le posizioni di installazione predefinite
C:\Program Files\GiteC:\Program Files (x86)\Git. - Il
gitsul tuoPATH, usando ilbin\bash.exeda quella installazione di Git.
git che si trova nella cartella da cui hai lanciato Claude Code, o sotto di essa in un percorso che contiene node_modules o una cartella di ambiente virtuale come .venv o env, ad esempio C:\dev\env\myproject\Git quando hai lanciato da C:\dev\env\myproject. Questo impedisce a Claude Code di eseguire un eseguibile che un progetto ha messo lì. Se il tuo Git è in una posizione come quella, punta CLAUDE_CODE_GIT_BASH_PATH ad esso.
Per puntare Claude Code a un’installazione Git specifica, trovalo eseguendo where.exe git in PowerShell, quindi imposta il percorso bin\bash.exe da quella installazione come CLAUDE_CODE_GIT_BASH_PATH nel tuo file settings.json:
CLAUDE_CODE_GIT_BASH_PATH è impostato al percorso corretto e il file esiste ma Claude Code ancora non lo usa, controlla prima il nome del file. Claude Code accetta solo un file denominato bash.exe, sh.exe, bash, o sh; con qualsiasi altro nome, come il launcher git-bash.exe di Git for Windows, ignora la variabile e auto-rileva Git Bash come se fosse non impostato, registrando un avviso visibile con --debug. Un percorso che non esiste ottiene lo stesso fallback e avviso. Prima della v2.1.219, Claude Code usava qualsiasi file esistente come shell senza controllare il suo nome, e usciva all’avvio con Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path quando il percorso non esisteva.
Se il nome del file è corretto, il software di sicurezza degli endpoint come AppLocker, i criteri di restrizione software di Criteri di gruppo, o gli agenti EDR potrebbero interferire. Chiedi al tuo team IT di aggiungere alla whitelist claude.exe e i processi che genera, inclusi cmd.exe e bash.exe, nella tua politica di protezione degli endpoint.
Claude Code non supporta Windows a 32 bit
Windows include due voci di PowerShell nel menu Start:Windows PowerShell e Windows PowerShell (x86). La voce x86 viene eseguita come processo a 32 bit e attiva questo errore anche su una macchina a 64 bit. Per verificare quale caso sei, esegui questo nella stessa finestra che ha prodotto l’errore:
True, il tuo sistema operativo va bene. Chiudi la finestra, apri Windows PowerShell senza il suffisso x86, e esegui di nuovo il comando di installazione.
Se questo stampa False, sei su un’edizione Windows a 32 bit. Claude Code richiede un sistema operativo a 64 bit. Vedi i requisiti di sistema.
Mancata corrispondenza binaria musl o glibc di Linux
Se vedi errori su librerie condivise mancanti comelibstdc++.so.6 o libgcc_s.so.1 dopo l’installazione, il programma di installazione potrebbe aver scaricato la variante binaria sbagliata per il tuo sistema.
-
Controlla quale libc usa il tuo sistema:
L’output che menziona
GNU libcoGLIBCsignifica glibc. L’output che menzionamuslsignifica musl. -
Se sei su glibc ma hai ottenuto il binario musl, rimuovi l’installazione e reinstalla. Puoi anche scaricare manualmente il binario corretto usando il manifesto in
https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json. Apri un problema GitHub con l’output dildd --versionels /lib/libc.musl*. -
Se sei effettivamente su musl, come Alpine Linux, installa i pacchetti richiesti:
Su Alpine,
ripgrepè nel repository community. Seapksegnala che il pacchetto manca, vedi Configurazione di Alpine Linux.
Illegal instruction
Se l’esecuzione di claude o del programma di installazione stampa Illegal instruction, il binario nativo utilizza istruzioni CPU che il tuo processore non supporta. Ci sono due cause distinte.
Mancata corrispondenza dell’architettura. Il programma di installazione ha scaricato il binario sbagliato, ad esempio x86 su un server ARM. Controlla con uname -m su macOS o Linux, o $env:PROCESSOR_ARCHITECTURE in PowerShell. Se il risultato non corrisponde al binario che hai ricevuto, apri un problema GitHub con l’output.
Set di istruzioni AVX mancante. Se la tua architettura è corretta ma vedi ancora Illegal instruction, la tua CPU probabilmente manca di AVX o di un’altra istruzione che il binario richiede. Questo colpisce approssimativamente i processori Intel e AMD pre-2013, e le macchine virtuali dove l’hypervisor non passa AVX al guest.
Su un VPS o VM, esegui grep -m1 -ow avx /proc/cpuinfo; un risultato vuoto significa che AVX non è disponibile per il guest.
Non c’è una soluzione binaria nativa; traccia il problema #50384 per lo stato, e includi il modello della tua CPU da grep -m1 "model name" /proc/cpuinfo su Linux o sysctl -n machdep.cpu.brand_string su macOS quando segnali.
I metodi di installazione alternativi scaricano lo stesso binario nativo e non risolveranno nessuna delle due cause.
dyld: cannot load su macOS
Se vedi dyld: Symbol not found, dyld: cannot load, o Abort trap: 6 durante l’installazione, il binario è incompatibile con la tua versione di macOS o hardware.
Un errore Symbol not found che fa riferimento a libicucore significa che la tua versione di macOS è più vecchia di quella supportata dal binario:
- Controlla la tua versione di macOS: Claude Code richiede macOS 13.0 o successivo. Apri il menu Apple e seleziona About This Mac per controllare la tua versione.
- Aggiorna macOS se sei su una versione precedente. Il binario utilizza comandi di caricamento e librerie di sistema che le versioni macOS precedenti non supportano. I metodi di installazione alternativi come Homebrew scaricano lo stesso binario e non risolveranno questo errore.
Exec format error su WSL1
Se l’esecuzione di claude in WSL stampa cannot execute binary file: Exec format error, sei su WSL1 e stai colpendo una regressione binaria nativa nota tracciata nel problema #38788. Le intestazioni del programma del binario sono cambiate in un modo che il caricatore di WSL1 non può gestire.
La correzione più pulita è convertire la tua distribuzione a WSL2 da PowerShell:
~/.bashrc all’interno di WSL, sostituendo il percorso se la tua directory home è diversa:
source ~/.bashrc e riprova claude.
Errori di installazione npm in WSL
Questi problemi si applicano se hai installato Claude Code connpm install -g all’interno di WSL. Se hai usato il programma di installazione nativo, salta questa sezione.
Problemi di rilevamento del sistema operativo o della piattaforma. Se npm segnala una mancata corrispondenza della piattaforma durante l’installazione, WSL probabilmente sta raccogliendo il npm di Windows. Esegui prima npm config set os linux, quindi installa con npm install -g @anthropic-ai/claude-code --force. Non usare sudo.
exec: node: not found quando esegui claude. Il tuo ambiente WSL probabilmente sta usando l’installazione di Node.js di Windows. Conferma con which npm e which node: i percorsi che iniziano con /mnt/c/ sono binari Windows, mentre i percorsi Linux iniziano con /usr/. Per risolvere questo, installa Node tramite il gestore di pacchetti della tua distribuzione Linux o tramite nvm.
Conflitti di versione nvm. Se hai nvm installato sia in WSL che in Windows, il cambio delle versioni di Node in WSL potrebbe interrompersi perché WSL importa il PATH di Windows per impostazione predefinita e nvm di Windows ha priorità. La causa più comune è che nvm non è caricato nella tua shell. Aggiungi il caricatore nvm a ~/.bashrc o ~/.zshrc:
Errori di permessi durante l’installazione
Se il programma di installazione nativo non riesce con errori di permessi, la directory di destinazione potrebbe non essere scrivibile. Vedi Controlla i permessi della directory. Se hai precedentemente installato con npm e stai riscontrando errori di permessi specifici di npm, passa al programma di installazione nativo:Binario nativo non trovato dopo l’installazione npm
Il pacchetto npm@anthropic-ai/claude-code scarica il binario nativo come dipendenza opzionale per piattaforma, come @anthropic-ai/claude-code-darwin-arm64. npm quindi esegue lo script postinstall del pacchetto, che copia quel binario in posizione come comando claude; fino a quando non viene eseguito, claude è uno script placeholder. Se uno dei due passaggi di download o postinstall viene saltato, il placeholder rimane in posizione, e l’esecuzione di claude su macOS e Linux stampa:
bin/claude.exe è quello stesso placeholder di script shell piuttosto che un vero eseguibile, quindi PowerShell e CMD segnalano che non possono eseguire il file invece di stampare questo messaggio.
Controlla le seguenti cause:
- Le dipendenze opzionali sono disabilitate. Rimuovi
--omit=optionaldal tuo comando di installazione npm,--no-optionalda pnpm, o--ignore-optionalda yarn, e controlla che.npmrcnon impostioptional=false. Quindi reinstalla. Il binario nativo viene consegnato solo come dipendenza opzionale, quindi non c’è fallback JavaScript se viene saltato, e l’esecuzione diinstall.cjsdi nuovo non può mettere un binario che non è mai stato scaricato. - Gli script di installazione sono disabilitati.
--ignore-scriptse alcune configurazioni pnpm saltano il passaggio postinstall ma scaricano comunque il pacchetto della piattaforma. Eseguinode node_modules/@anthropic-ai/claude-code/install.cjscome il messaggio suggerisce, o reinstalla senza il flag. Se postinstall non può essere eseguito nel tuo ambiente affatto,node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjstrova il pacchetto scaricato e lo avvia, al costo di un processo Node extra ad ogni avvio. Se il wrapper stampaCould not find native binary packageinvece, il pacchetto della piattaforma non è mai stato scaricato, quindi prima correggi la causa delle dipendenze opzionali sopra. - Piattaforma non supportata. I binari precompilati vengono pubblicati per
darwin-arm64,darwin-x64,linux-x64,linux-arm64,linux-x64-musl,linux-arm64-musl,win32-x64, ewin32-arm64. Claude Code non spedisce un binario per altre piattaforme; vedi i requisiti di sistema. Su FreeBSD, il programma di installazione segnala la piattaforma come non supportata. Prima della v2.1.205, ha trattato FreeBSD come Linux e ha scaricato un binario che non poteva essere eseguito. - Lo specchio npm aziendale manca dei pacchetti della piattaforma. Assicurati che il tuo registro rispecchi tutti gli otto pacchetti
@anthropic-ai/claude-code-*della piattaforma oltre al pacchetto meta.
Errore npm ENOTEMPTY durante l’aggiornamento o la reinstallazione
Quando esegui npm install -g @anthropic-ai/claude-code su un’installazione esistente, npm può fallire mentre sposta la vecchia directory del pacchetto da parte:
npm error path nomina la directory che npm non ha potuto spostare. Elimina quella directory e qualsiasi directory .claude-code-* rimanente accanto ad essa, che le esecuzioni interrotte precedenti possono lasciare dietro. I comandi di seguito trovano la tua directory di pacchetto globale con npm root -g; se la directory che la riga npm error path nomina non è sotto la directory che npm root -g stampa, ad esempio perché hai cambiato versioni di Node con nvm, elimina le directory che l’errore nomina invece:
- macOS/Linux
- Windows PowerShell
no matches found, non ce n’erano da rimuovere:claude --version, che stampa un numero di versione come 2.1.211 (Claude Code).
Accesso e autenticazione
Queste sezioni affrontano i fallimenti di accesso, gli errori OAuth e i problemi di token.Reimposta il tuo accesso
Quando l’accesso non riesce e la causa non è ovvia, una re-autenticazione pulita risolve la maggior parte dei casi:- Esegui
/logoutper disconnetterti completamente - Chiudi Claude Code
- Riavvia con
claudee completa di nuovo il processo di autenticazione
c per copiare l’URL OAuth negli appunti, quindi incollalo in un browser manualmente. Questo funziona anche quando l’URL si avvolge su più righe in un terminale stretto o SSH e non può essere cliccato direttamente.
Errore OAuth: codice non valido
Se vediOAuth error: Invalid code. Please make sure the full code was copied, il codice di accesso è scaduto o è stato troncato durante il copia-incolla.
Soluzioni:
- Premi Invio per riprovare e completa l’accesso rapidamente dopo che il browser si apre
- Digita
cper copiare l’URL completo se il browser non si apre automaticamente - Se usi una sessione remota/SSH, il browser potrebbe aprirsi sulla macchina sbagliata. Copia l’URL visualizzato nel terminale e aprilo nel tuo browser locale invece.
403 Forbidden dopo l’accesso
Se vediAPI Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}} dopo l’accesso:
- Utenti Claude Pro/Max: verifica che il tuo abbonamento sia attivo in claude.ai/settings
- Utenti della Console Anthropic: conferma che il tuo account ha il ruolo “Claude Code” o “Developer”. Gli amministratori assegnano questo nella Console Anthropic sotto Impostazioni → Membri.
- Dietro un proxy: i proxy aziendali possono interferire con le richieste API. Vedi configurazione di rete per la configurazione del proxy.
Questa organizzazione è stata disabilitata con un abbonamento attivo
Se vediAPI Error: 400 ... "This organization has been disabled" nonostante tu abbia un abbonamento Claude attivo, una variabile di ambiente ANTHROPIC_API_KEY sta sostituendo il tuo abbonamento. Questo accade comunemente quando una vecchia chiave API da un precedente datore di lavoro o progetto è ancora impostata nel tuo profilo shell.
Quando ANTHROPIC_API_KEY è presente e l’hai approvato, Claude Code utilizza quella chiave invece delle credenziali OAuth del tuo abbonamento. In modalità non interattiva con il flag -p, la chiave viene sempre utilizzata quando presente. Vedi precedenza di autenticazione per l’ordine di risoluzione completo.
Per usare il tuo abbonamento invece, annulla l’impostazione della variabile di ambiente e rimuovila dal tuo profilo shell:
- macOS/Linux
- Windows PowerShell
~/.zshrc, ~/.bashrc, o ~/.profile per le righe export ANTHROPIC_API_KEY=... e rimuovile per rendere il cambiamento permanente. Su Windows, controlla il tuo profilo PowerShell in $PROFILE e le tue variabili di ambiente dell’utente per ANTHROPIC_API_KEY. Esegui /status all’interno di Claude Code per confermare quale metodo di autenticazione è attivo.
L’accesso OAuth non riesce in WSL2, SSH o container
Quando Claude Code viene eseguito in WSL2, su una macchina remota tramite SSH, o all’interno di un container, il browser di solito si apre su un host diverso e il suo reindirizzamento non può raggiungere il server di callback locale di Claude Code. Dopo che accedi, il browser mostra un codice di accesso invece di reindirizzare automaticamente. Incolla quel codice nel terminale al promptPaste code here if prompted per completare l’accesso.
Se il browser non si apre affatto da WSL2, imposta la variabile di ambiente BROWSER al percorso del tuo browser Windows:
c al prompt di accesso interattivo per copiare l’URL OAuth, o copia l’URL che claude auth login stampa, e aprilo in un browser sulla tua macchina locale.
Se incollare il codice nel prompt interattivo non fa nulla, il binding di incolla del tuo terminale probabilmente non sta raggiungendo il campo di input. Prova il collegamento di incolla alternativo del tuo terminale, spesso clic destro o Maiusc+Inserisci in Windows Terminal, o usa claude auth login invece, che legge il codice incollato dall’input standard:
Non connesso o token scaduto
Se Claude Code ti chiede di accedere di nuovo dopo una sessione, il tuo token OAuth potrebbe essere scaduto. Esegui/login per re-autenticarti. Se questo accade frequentemente, controlla che l’orologio di sistema sia accurato, poiché la convalida del token dipende da timestamp corretti.
Le sessioni parallele su una macchina condividono un accesso salvato e coordinano il suo rinnovo in modo che solo un processo aggiorni il token alla volta. Prima della v2.1.211, il risveglio della macchina dal sonno potrebbe causare a due sessioni di rinnovare con lo stesso token, il che revocava l’accesso salvato e richiedeva a ogni sessione aperta di accedere di nuovo contemporaneamente.
Su macOS, Claude Code salva le credenziali nel Keychain di accesso. Quando il Keychain rifiuta la scrittura, ad esempio quando è bloccato in una sessione SSH o la sua password non è sincronizzata con la password del tuo account, Claude Code salva il tuo accesso nel file di testo semplice ~/.claude/.credentials.json invece. Un accesso alla Console che crea una chiave API non riesce finché il Keychain non è di nuovo scrivibile.
Per rendere il Keychain scrivibile di nuovo e spostare il tuo accesso nel Keychain crittografato:
1
Controlla l'accesso al Keychain
Esegui
claude doctor per controllare l’accesso al Keychain. Quando il Keychain rifiuta le scritture, il rapporto elenca un avviso che inizia con macOS Keychain is not writable, seguito da una correzione suggerita. Quando il rapporto non elenca alcun avviso del Keychain, il Keychain è scrivibile e puoi saltare all’ultimo passaggio.2
Sblocca il Keychain
claude doctor. Quando lo sblocco ha funzionato, il rapporto non elenca più l’avviso del Keychain.3
Risincronizza la password del Keychain se lo sblocco non aiuta
Apri Accesso Portachiavi, seleziona il keychain
login, e scegli Modifica > Cambia password per Portachiavi “login” per risincronizzarlo con la password del tuo account. Quindi esegui di nuovo claude doctor. Procedi al passaggio successivo una volta che il rapporto non elenca più l’avviso del Keychain.4
Esci e accedi di nuovo
Una volta che il Keychain è di nuovo scrivibile, Claude Code sposta le credenziali indietro la prossima volta che scrive una credenziale. Per forzarlo ora, esegui
/logout e poi /login. L’uscita rimuove tutte le credenziali archiviate, inclusi i contenuti del file di testo semplice, gli accessi ai server MCP salvati e i valori sensibili dei plugin, quindi aspettati di re-autorizzare i server MCP e re-inserire i segreti dei plugin in seguito. L’accesso di nuovo archivia il tuo accesso nel Keychain.Credenziali Bedrock, Agent Platform o Foundry non caricate
Se hai configurato Claude Code per usare un provider cloud e vediCould not load credentials from any providers su Amazon Bedrock, Could not load the default credentials su Google Cloud’s Agent Platform, o ChainedTokenCredential authentication failed su Microsoft Foundry, la tua CLI del provider cloud probabilmente non è autenticata nella shell corrente.
Per Amazon Bedrock, conferma che le tue credenziali AWS sono valide:
ANTHROPIC_VERTEX_PROJECT_ID e CLOUD_ML_REGION sono impostati nella tua shell, quindi imposta le credenziali predefinite dell’applicazione:
ANTHROPIC_FOUNDRY_API_KEY è impostato, o accedi con l’interfaccia della riga di comando di Azure in modo che la catena di credenziali predefinita possa trovare il tuo account:
Ancora bloccato
Se nessuno dei precedenti risolve il tuo problema:- Controlla il repository GitHub per i problemi noti, o apri uno nuovo con il tuo sistema operativo, il comando di installazione che hai eseguito, e l’output di errore completo
- Se
claude --versionfunziona ma qualcos’altro non va, eseguiclaude doctorper un rapporto diagnostico automatizzato - Se riesci ad avviare una sessione, usa
/feedbackall’interno di Claude Code per segnalare il problema - Se il problema riguarda il tuo account piuttosto che l’installazione, come un ciclo di accesso, un abbonamento non riconosciuto, o un’organizzazione disabilitata, contatta il supporto di Anthropic: accedi a claude.ai (utenti Console: platform.claude.com), fai clic sulle tue iniziali in basso a sinistra, e seleziona Ottieni aiuto. Vedi Come ottenere supporto per il flusso completo.