Vai al contenuto principale

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Se l’installazione non riesce o non riesci ad accedere, trova il tuo errore di seguito. Per i problemi di runtime dopo che Claude Code è funzionante, vedi Risoluzione dei problemi. Per i problemi di configurazione come impostazioni non applicate o hook non attivati, vedi Debug della tua configurazione.

Trova il tuo errore

Abbina il messaggio di errore o il sintomo che stai vedendo a una soluzione:
Quello che vediSoluzione
command not found: claude o 'claude' is not recognizedCorreggi il tuo PATH
syntax error near unexpected token '<'Lo script di installazione restituisce HTML
curl: (56) Failure writing output to destinationControlla la connettività o usa un programma di installazione alternativo
Killed durante l’installazione su LinuxAggiungi spazio di swap per server a bassa memoria
TLS connect error o SSL/TLS secure channelAggiorna i certificati CA
Failed to fetch version o impossibile raggiungere il server di downloadControlla le impostazioni di rete e proxy
irm is not recognized o && is not validUsa il comando giusto per la tua shell
'bash' is not recognized as the name of a cmdletUsa il comando del programma di installazione di Windows
Claude Code on Windows requires git-bashInstalla o configura Git Bash
Claude Code does not support 32-bit WindowsApri Windows PowerShell, non la voce x86
Error loading shared libraryVariante binaria sbagliata per il tuo sistema
Illegal instructionMancata corrispondenza dell’architettura o del set di istruzioni della CPU
cannot execute binary file: Exec format error in WSLRegressione binaria nativa WSL1
Il programma di installazione di PowerShell si completa ma claude non viene trovato o mostra una versione precedenteRiavvia il tuo terminale e verifica PATH
dyld: cannot load, dyld: Symbol not found, o Abort trap su macOSIncompatibilità binaria
Invoke-Expression: Missing argument in parameter listLo script di installazione restituisce HTML
App unavailable in regionClaude Code non è disponibile nel tuo paese. Vedi paesi supportati.
unable to get local issuer certificateConfigura i certificati CA aziendali
OAuth error o 403 ForbiddenCorreggi l’autenticazione
Could not load the default credentials o Could not load credentials from any providersCredenziali Bedrock, Vertex o Foundry
ChainedTokenCredential authentication failed o CredentialUnavailableErrorCredenziali Bedrock, Vertex o Foundry
API Error: 500, 529 Overloaded, 429, o altri errori 4xx e 5xx non elencati sopraVedi il riferimento degli errori
Se il tuo problema non è elencato, esegui i controlli diagnostici di seguito per restringere la causa.
Se preferisci saltare completamente il terminale, l’app Claude Code Desktop ti consente di installare e utilizzare Claude Code tramite un’interfaccia grafica. Scaricala per macOS o Windows e inizia a codificare senza alcuna configurazione da riga di comando.

Esegui controlli diagnostici

Controlla la connettività di rete

Il programma di installazione scarica da downloads.claude.ai. Verifica di poterlo raggiungere:
curl -sI https://downloads.claude.ai/claude-code-releases/latest
Una riga HTTP/2 200 significa che hai raggiunto il server. Se non vedi output, 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
Se sei dietro un proxy aziendale, imposta 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:
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
curl -fsSL https://claude.ai/install.sh | bash

Verifica il tuo PATH

Se l’installazione è riuscita ma ricevi un errore command 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. Controlla se la directory di installazione è nel tuo PATH elencando le tue voci PATH e filtrando per local/bin:
echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"
Se questo stampa /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:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Per Bash, il default sulla maggior parte delle distribuzioni Linux:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
In alternativa, chiudi e riapri il tuo terminale.Verifica che la correzione abbia funzionato:
claude --version

Controlla le installazioni in conflitto

Più installazioni di Claude Code possono causare mancate corrispondenze di versione o comportamenti inaspettati. Controlla cosa è installato:
Elenca tutti i binari claude trovati nel tuo PATH:
which -a claude
Se questo non stampa nulla, nessun 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:
ls -la ~/.local/bin/claude
ls -la ~/.claude/local/
npm -g ls @anthropic-ai/claude-code 2>/dev/null
Se trovi più installazioni, mantieni solo una. L’installazione nativa in ~/.local/bin/claude su macOS/Linux o %USERPROFILE%\.local\bin\claude.exe su Windows è consigliata. Rimuovi le altre: Disinstalla un’installazione npm globale:
npm uninstall -g @anthropic-ai/claude-code
Rimuovi l’installazione npm locale legacy:
rm -rf ~/.claude/local
Su Windows, usa PowerShell:
Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"
Rimuovi un’installazione Homebrew su macOS. Se hai installato il cask claude-code@latest, sostituisci quel nome:
brew uninstall --cask claude-code
Rimuovi un’installazione WinGet su Windows:
winget uninstall Anthropic.ClaudeCode

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:
test -w ~/.local/bin && echo "writable" || echo "not writable"
test -w ~/.claude && echo "writable" || echo "not writable"
Se una directory non è scrivibile, crea la directory di installazione e imposta il tuo utente come proprietario:
sudo mkdir -p ~/.local/bin
sudo chown -R $(whoami) ~/.local

Verifica che il binario funzioni

Se claude --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:
ls -la "$(command -v claude)"
Su Windows, usa PowerShell:
Get-Command claude | Select-Object Source
Su Linux, controlla le librerie condivise mancanti. Se 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.
ldd "$(command -v claude)" | grep "not found"
Conferma che il binario può essere eseguito:
claude --version

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:
bash: line 1: syntax error near unexpected token `<'
bash: line 1: `<!DOCTYPE html>'
Su PowerShell, lo stesso problema appare come:
Invoke-Expression: Missing argument in parameter list.
Questo significa che l’URL di installazione ha restituito una pagina HTML invece dello script di installazione. Se la pagina HTML dice “App unavailable in region,” Claude Code non è disponibile nel tuo paese. Vedi paesi supportati. Altrimenti, questo può accadere a causa di problemi di rete, routing regionale, o un’interruzione temporanea del servizio. Soluzioni:
  1. Usa un metodo di installazione alternativo: Su macOS, installa tramite Homebrew:
    brew install --cask claude-code
    
    Su Windows, installa tramite WinGet:
    winget install Anthropic.ClaudeCode
    
  2. 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:
PiattaformaMessaggio di errore
macOSzsh: command not found: claude
Linuxbash: claude: command not found
Windows CMD'claude' is not recognized as an internal or external command
PowerShellclaude : The term 'claude' is not recognized as the name of a cmdlet
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 significa che la connessione si è interrotta prima che lo script finisse di scaricarsi. Le cause comuni includono interruzioni di rete, il download bloccato a metà flusso, o limiti di risorse di sistema. Soluzioni:
  1. Controlla la stabilità della rete: i binari di Claude Code sono ospitati in downloads.claude.ai. Testa che puoi raggiungerlo:
    curl -sI https://downloads.claude.ai/claude-code-releases/latest
    
    Una riga HTTP/2 200 significa che hai raggiunto il server e il fallimento originale era probabilmente intermittente; riprova il comando di installazione. Se vedi Could not resolve host o un timeout di connessione, la tua rete sta bloccando il download.
  2. Prova un metodo di installazione alternativo: Su macOS:
    brew install --cask claude-code
    
    Su Windows:
    winget install Anthropic.ClaudeCode
    

Errori di connessione TLS o SSL

Errori come curl: (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:
  1. Aggiorna i certificati CA del tuo sistema: Su Ubuntu/Debian:
    sudo apt-get update && sudo apt-get install ca-certificates
    
    Su macOS, il curl di sistema utilizza l’archivio di fiducia Keychain; l’aggiornamento di macOS stesso aggiorna i certificati root.
  2. Su Windows, abilita TLS 1.2 in PowerShell prima di eseguire il programma di installazione:
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    irm https://claude.ai/install.ps1 | iex
    
  3. 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 certificate e SELF_SIGNED_CERT_IN_CHAIN. Per il passaggio di installazione, punta curl al tuo bundle CA aziendale con --cacert:
    curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash
    
    Per Claude Code stesso una volta installato, imposta NODE_EXTRA_CA_CERTS in modo che le richieste API si fidino dello stesso bundle:
    export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem
    
    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.
  4. Su Windows, ignora i controlli di revoca dei certificati se vedi CRYPT_E_NO_REVOCATION_CHECK (0x80092012) o CRYPT_E_REVOCATION_OFFLINE (0x80092013). Questi significano che curl ha raggiunto il server ma la tua rete blocca la ricerca di revoca del certificato, che è comune dietro firewall aziendali. Aggiungi --ssl-revoke-best-effort al comando di installazione:
    curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
    
    In alternativa, installa con winget 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. Soluzioni:
  1. Testa la connettività direttamente:
    curl -sI https://downloads.claude.ai/claude-code-releases/latest
    
  2. Se dietro un proxy, imposta HTTPS_PROXY in modo che il programma di installazione possa instradarlo attraverso. Vedi configurazione del proxy per i dettagli.
    export HTTPS_PROXY=http://proxy.example.com:8080
    curl -fsSL https://claude.ai/install.sh | bash
    
  3. Se su una rete ristretta, prova una rete diversa o una VPN, o usa un metodo di installazione alternativo: Su macOS:
    brew install --cask claude-code
    
    Su Windows:
    winget install Anthropic.ClaudeCode
    

Comando di installazione sbagliato su Windows

Se vedi 'irm' is not recognized, The token '&&' is not valid, 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.
  • irm non riconosciuto: sei in CMD, non PowerShell. Hai due opzioni: Apri PowerShell cercando “PowerShell” nel menu Start, quindi esegui il comando di installazione originale:
    irm https://claude.ai/install.ps1 | iex
    
    Oppure rimani in CMD e usa il programma di installazione CMD invece:
    curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
    
  • && non valido: sei in PowerShell ma hai eseguito il comando del programma di installazione CMD. Usa il programma di installazione PowerShell:
    irm https://claude.ai/install.ps1 | iex
    
  • bash non riconosciuto: hai eseguito il programma di installazione macOS/Linux su Windows. Usa il programma di installazione PowerShell invece:
    irm https://claude.ai/install.ps1 | iex
    

Installazione interrotta su server Linux a bassa memoria

Se vedi Killed durante l’installazione su un VPS o un’istanza cloud:
Setting up Claude Code...
Installing Claude Code native build latest...
bash: line 142: 34803 Killed    "$binary_path" install ${TARGET:+"$TARGET"}
L’OOM killer di Linux ha terminato il processo perché il sistema ha esaurito la memoria. Claude Code richiede almeno 4 GB di RAM disponibile. Soluzioni:
  1. 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:
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    
    Quindi riprova l’installazione:
    curl -fsSL https://claude.ai/install.sh | bash
    
  2. Chiudi altri processi per liberare memoria prima di installare.
  3. 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:
  1. 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 di WORKDIR limita la scansione a una piccola directory:
    WORKDIR /tmp
    RUN curl -fsSL https://claude.ai/install.sh | bash
    
  2. Aumenta i limiti di memoria di Docker se usi Docker Desktop:
    docker build --memory=4g .
    

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 Bash

Claude Code su Windows nativo ha bisogno di Git per Windows, che fornisce Git Bash per l’esecuzione di comandi shell. Se Git non è installato, scaricalo da git-scm.com/downloads/win. Durante la configurazione, seleziona “Add to PATH.” Riavvia il tuo terminale dopo l’installazione. Se Git è già installato ma Claude Code non riesce a trovarlo, imposta il percorso nel tuo file settings.json:
{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}
Se il tuo Git è installato da qualche altra parte, trova il percorso eseguendo where.exe git in PowerShell e usa il percorso bin\bash.exe da quella directory.

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:
[Environment]::Is64BitOperatingSystem
Se questo stampa 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 come libstdc++.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.
Error loading shared library libstdc++.so.6: No such file or directory
Questo può accadere su sistemi basati su glibc che hanno pacchetti di cross-compilazione musl installati, causando al programma di installazione di rilevare erroneamente il sistema come musl. Soluzioni:
  1. Controlla quale libc usa il tuo sistema:
    ldd --version 2>&1 | head -1
    
    L’output che menziona GNU libc o GLIBC significa glibc. L’output che menziona musl significa musl.
  2. 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 di ldd --version e ls /lib/libc.musl*.
  3. Se sei effettivamente su musl, come Alpine Linux, installa i pacchetti richiesti:
    apk add libgcc libstdc++ ripgrep
    

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 mancante su CPU più vecchie. 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. Attualmente non c’è una soluzione binaria nativa; traccia il problema #50384 per lo stato, e includi il modello della tua CPU da cat /proc/cpuinfo | grep "model name" | head -1 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: cannot load, dyld: Symbol not found, o Abort trap: 6 durante l’installazione, il binario è incompatibile con la tua versione di macOS o hardware.
dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)
Abort trap: 6
Un errore Symbol not found che fa riferimento a libicucore indica anche che la tua versione di macOS è più vecchia di quella supportata dal binario:
dyld: Symbol not found: _ubrk_clone
  Referenced from: claude-darwin-x64 (which was built for Mac OS X 13.0)
  Expected in: /usr/lib/libicucore.A.dylib
Soluzioni:
  1. 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.
  2. 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:
wsl --set-version <DistroName> 2
Se devi rimanere su WSL1, invoca il binario attraverso il linker dinamico. Aggiungi questa funzione a ~/.bashrc all’interno di WSL, sostituendo il percorso se la tua directory home è diversa:
claude() {
  /lib64/ld-linux-x86-64.so.2 "$(readlink -f "$HOME/.local/bin/claude")" "$@"
}
Quindi esegui source ~/.bashrc e riprova claude.

Errori di installazione npm in WSL

Questi problemi si applicano se hai installato Claude Code con npm 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:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Oppure caricalo nella tua sessione corrente:
source ~/.nvm/nvm.sh
Se nvm è caricato ma i percorsi di Windows hanno ancora priorità, anteponi esplicitamente il tuo percorso Node di Linux:
export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"
Evita di disabilitare l’importazione del PATH di Windows tramite appendWindowsPath = false poiché questo interrompe la capacità di chiamare eseguibili di Windows da WSL. Allo stesso modo, evita di disinstallare Node.js da Windows se lo usi per lo sviluppo di Windows.

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:
curl -fsSL https://claude.ai/install.sh | bash

Binario nativo non trovato dopo l’installazione npm

Il pacchetto npm @anthropic-ai/claude-code estrae il binario nativo attraverso una dipendenza opzionale per piattaforma come @anthropic-ai/claude-code-darwin-arm64. Se l’esecuzione di claude dopo l’installazione stampa Could not find native binary package "@anthropic-ai/claude-code-<platform>", controlla le seguenti cause:
  • Le dipendenze opzionali sono disabilitate. Rimuovi --omit=optional dal tuo comando di installazione npm, --no-optional da pnpm, o --ignore-optional da yarn, e controlla che .npmrc non imposti optional=false. Quindi reinstalla. Il binario nativo viene consegnato solo come dipendenza opzionale, quindi non c’è fallback JavaScript se viene saltato.
  • 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, e win32-arm64. Claude Code non spedisce un binario per altre piattaforme; vedi i requisiti di sistema.
  • 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.
L’installazione con --ignore-scripts non attiva questo errore. Il passaggio postinstall che collega il binario in posizione viene saltato, quindi Claude Code ricade su un wrapper che individua e genera il binario della piattaforma ad ogni avvio. Questo funziona ma si avvia più lentamente; reinstalla con gli script abilitati per l’esecuzione diretta.

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:
  1. Esegui /logout per disconnetterti completamente
  2. Chiudi Claude Code
  3. Riavvia con claude e completa di nuovo il processo di autenticazione
Se il browser non si apre automaticamente durante l’accesso, premi 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 vedi OAuth 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 c per 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 vedi API 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 vedi API 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:
unset ANTHROPIC_API_KEY
claude
Controlla ~/.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

L’accesso basato su browser in WSL2 può non riuscire in due modi: WSL non può aprire il tuo browser Windows, o il terminale non accetterà il codice di autorizzazione incollato. Se il browser non si apre, imposta la variabile di ambiente BROWSER al percorso del tuo browser Windows:
export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
claude
Oppure premi c al prompt di accesso per copiare l’URL OAuth e incollarlo nel tuo browser Windows tu stesso. Se il browser si apre ma l’incollamento del codice nel terminale non fa nulla, il binding di incolla del tuo terminale probabilmente non sta raggiungendo il prompt. Prova il collegamento di incolla alternativo del tuo terminale, spesso clic destro o Maiusc+Inserisci in Windows Terminal, o esegui l’accesso al di fuori dell’interfaccia utente interattiva:
claude auth login
Questo fallback si applica anche su Windows nativo o su qualsiasi terminale in cui l’incollamento del codice nel prompt interattivo non riesce.

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. Su macOS, l’accesso può anche non riuscire quando il Keychain è bloccato o la sua password non è sincronizzata con la password del tuo account, il che impedisce a Claude Code di salvare le credenziali. Esegui claude doctor per controllare l’accesso al Keychain. Per sbloccare il Keychain manualmente, esegui security unlock-keychain ~/Library/Keychains/login.keychain-db. 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.

Credenziali Bedrock, Vertex o Foundry non caricate

Se hai configurato Claude Code per usare un provider cloud e vedi Could not load credentials from any providers su Bedrock, Could not load the default credentials su Vertex, o ChainedTokenCredential authentication failed su Foundry, la tua CLI del provider cloud probabilmente non è autenticata nella shell corrente. Per Bedrock, conferma che le tue credenziali AWS sono valide:
aws sts get-caller-identity
Per Vertex AI, conferma che ANTHROPIC_VERTEX_PROJECT_ID e CLOUD_ML_REGION sono impostati nella tua shell, quindi imposta le credenziali predefinite dell’applicazione:
gcloud auth application-default login
Per Microsoft Foundry, conferma che 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:
az login
Se le credenziali funzionano nel tuo terminale ma non nell’estensione VS Code o JetBrains, il processo IDE probabilmente non ha ereditato il tuo ambiente shell. Imposta le variabili di ambiente del provider nelle impostazioni dell’IDE stesso, o avvia l’IDE da un terminale dove sono già esportate. Vedi Amazon Bedrock, Google Vertex AI, o Microsoft Foundry per la configurazione completa del provider.

Ancora bloccato

Se nessuno dei precedenti risolve il tuo problema:
  1. 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
  2. Se claude --version funziona ma qualcos’altro non va, esegui claude doctor per un rapporto diagnostico automatizzato
  3. Se riesci ad avviare una sessione, usa /feedback all’interno di Claude Code per segnalare il problema