Installare Claude Code su WSL - MODIFICATO

Claude Code è il CLI ufficiale di Anthropic per interagire con Claude direttamente dal terminale. Funziona come agente di coding autonomo: legge file, scrive codice, esegue comandi shell e gestisce workflow git — il tutto senza uscire dalla riga di comando.

Questa guida copre l’installazione completa su WSL (Windows Subsystem for Linux), testata su Ubuntu 22.04/24.04.


Prerequisiti

  • WSL 2 installato e funzionante (Ubuntu consigliato)
  • Node.js >= 18 (vedi Passo 1)
  • Un account Anthropic con piano Pro/Max, oppure una API key (pay-as-you-go)

Vuoi verificare la versione WSL in uso? Dal PowerShell Windows: wsl --list --verbose Se la colonna VERSION mostra 1, aggiorna con: wsl --set-version Ubuntu 2


1. Installa Node.js (via nvm)

Claude Code richiede Node.js 18 o superiore. Il modo più pulito su WSL è usare nvm (Node Version Manager), che evita problemi di permessi con npm globale:

# Installa nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
 
# Ricarica la shell (o apri un nuovo terminale)
source ~/.bashrc
 
# Installa la versione LTS di Node.js
nvm install --lts
nvm use --lts
 
# Verifica
node --version   # es. v22.x.x
npm --version

Perché nvm? Installa Node.js nella home dell’utente, eliminando la necessità di sudo per i pacchetti globali e i conseguenti errori EACCES.


2. Installa Claude Code

npm install -g @anthropic-ai/claude-code

Verifica l’installazione:

claude --version

Se ricevi command not found, vedi la sezione Risoluzione Problemi.


3. Autenticazione

Opzione A — OAuth con browser (piano Pro/Max)

claude

Al primo avvio Claude Code apre il browser per il login OAuth. Su WSL il browser di Windows si apre automaticamente (tramite wslview o xdg-open).

Opzione B — API key nel terminale (pay-as-you-go)

claude auth login --console

Ti viene chiesta la API key direttamente nel terminale — nessun browser necessario.

In alternativa, esportala come variabile d’ambiente:

export ANTHROPIC_API_KEY="sk-ant-..."
# Rendila permanente aggiungendola al profilo shell
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc

Opzione C — SSO aziendale

claude auth login --sso

Verifica lo stato

claude auth status --text

4. Health check

claude doctor

Controlla che l’installazione e l’auto-updater siano sani. Segnala eventuali problemi di configurazione prima che diventino un grattacapo.


5. Primo utilizzo

Entra in una cartella di progetto e avvia Claude:

cd ~/mio-progetto
claude

Al primo accesso a una directory viene chiesta una conferma (“Workspace Trust”). Premi Enter — la scelta di default è Yes, I trust this folder. Questa conferma appare solo la prima volta per ogni directory.

Modalità non interattiva (print mode)

Per task rapidi senza aprire una sessione interattiva:

claude -p "Spiega cosa fa questo codice" --max-turns 3

Utile per script, pipe e automazioni:

git diff HEAD~1 | claude -p "Riassumi le modifiche" --max-turns 1

Output strutturato in JSON

Per integrazioni e scripting:

claude -p "Analizza auth.py per vulnerabilità" --output-format json --max-turns 5

Riprendere una conversazione

claude -c        # riprende la sessione più recente nella directory corrente
claude -r <id>   # riprende una sessione specifica per ID

6. Memoria di progetto (CLAUDE.md)

Claude carica automaticamente un file CLAUDE.md dalla root del progetto. Usalo per dare contesto persistente senza doverlo ripetere ad ogni sessione:

# Il mio progetto
 
## Stack
- Python 3.12, FastAPI, PostgreSQL
 
## Comandi chiave
- `make test` — esegui i test
- `make dev` — avvia il server su :8000
 
## Convenzioni
- Type hints su tutte le funzioni pubbliche
- 4 spazi di indentazione
- Nessun import wildcard

Claude usa queste informazioni come contesto di base per ogni risposta nel progetto.

In una sessione interattiva, usa il prefisso # per aggiungere voci al CLAUDE.md al volo: # Usa sempre snake_case per i nomi di variabile


7. Comandi slash utili (sessione interattiva)

ComandoCosa fa
/helpLista tutti i comandi disponibili
/compactComprimi il contesto per risparmiare token
/clearPulisce la cronologia della conversazione
/modelCambia modello a metà sessione
/reviewRichiede una code review delle modifiche correnti
/contextVisualizza l’utilizzo della finestra di contesto
/costMostra l’utilizzo di token e costi
/exitTermina la sessione

8. Aggiornamenti

claude update
# oppure
claude upgrade

Riferimento rapido comandi

ComandoCosa fa
claudeAvvia la sessione interattiva
claude -p "task"Esegui un task one-shot ed esci
claude -cRiprendi la conversazione più recente
claude -r <id>Riprendi una sessione specifica
claude auth status --textControlla lo stato del login
claude doctorHealth check installazione
claude updateAggiorna alla versione più recente
claude mcp listLista i server MCP configurati
claude --versionMostra la versione installata
claude --model opusUsa un modello specifico

Risoluzione Problemi

Errore permessi npm (EACCES)

Succede se Node.js è stato installato con il package manager di sistema invece di nvm.

Soluzione A — Reinstalla con nvm (consigliata):

# Segui il Passo 1 con nvm e reinstalla
npm install -g @anthropic-ai/claude-code

Soluzione B — Cambia la directory globale npm:

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code

Il browser non si apre durante il login

Su alcune configurazioni WSL il browser non parte automaticamente. Usa l’autenticazione via console:

claude auth login --console

claude: command not found dopo installazione globale

Assicurati che la directory bin di npm sia nel PATH:

npm bin -g   # mostra il percorso, es. /home/user/.nvm/versions/node/v22.0.0/bin
# Aggiungilo al PATH se mancante
echo 'export PATH="$(npm bin -g):$PATH"' >> ~/.bashrc
source ~/.bashrc

Degrado della qualità delle risposte in sessioni lunghe

Claude Code lavora su una finestra di contesto limitata. In sessioni interattive lunghe, usa /compact per comprimere il contesto senza perdere la conversazione, oppure /context per vedere quanto contesto è già stato consumato. Sopra il 70% la qualità delle risposte può calare.