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 --verboseSe la colonna VERSION mostra1, 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 --versionPerché nvm? Installa Node.js nella home dell’utente, eliminando la necessità di
sudoper i pacchetti globali e i conseguenti erroriEACCES.
2. Installa Claude Code
npm install -g @anthropic-ai/claude-codeVerifica l’installazione:
claude --versionSe ricevi command not found, vedi la sezione Risoluzione Problemi.
3. Autenticazione
Opzione A — OAuth con browser (piano Pro/Max)
claudeAl 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 --consoleTi 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-..."' >> ~/.bashrcOpzione C — SSO aziendale
claude auth login --ssoVerifica lo stato
claude auth status --text4. Health check
claude doctorControlla 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
claudeAl 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 3Utile per script, pipe e automazioni:
git diff HEAD~1 | claude -p "Riassumi le modifiche" --max-turns 1Output strutturato in JSON
Per integrazioni e scripting:
claude -p "Analizza auth.py per vulnerabilità" --output-format json --max-turns 5Riprendere una conversazione
claude -c # riprende la sessione più recente nella directory corrente
claude -r <id> # riprende una sessione specifica per ID6. 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 wildcardClaude 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)
| Comando | Cosa fa |
|---|---|
/help | Lista tutti i comandi disponibili |
/compact | Comprimi il contesto per risparmiare token |
/clear | Pulisce la cronologia della conversazione |
/model | Cambia modello a metà sessione |
/review | Richiede una code review delle modifiche correnti |
/context | Visualizza l’utilizzo della finestra di contesto |
/cost | Mostra l’utilizzo di token e costi |
/exit | Termina la sessione |
8. Aggiornamenti
claude update
# oppure
claude upgradeRiferimento rapido comandi
| Comando | Cosa fa |
|---|---|
claude | Avvia la sessione interattiva |
claude -p "task" | Esegui un task one-shot ed esci |
claude -c | Riprendi la conversazione più recente |
claude -r <id> | Riprendi una sessione specifica |
claude auth status --text | Controlla lo stato del login |
claude doctor | Health check installazione |
claude update | Aggiorna alla versione più recente |
claude mcp list | Lista i server MCP configurati |
claude --version | Mostra la versione installata |
claude --model opus | Usa 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-codeSoluzione 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-codeIl browser non si apre durante il login
Su alcune configurazioni WSL il browser non parte automaticamente. Usa l’autenticazione via console:
claude auth login --consoleclaude: 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 ~/.bashrcDegrado 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.
Link utili
- Hermes su WSL — l’agente AI che orchestra Claude Code
- Documentazione ufficiale Claude Code
- Pagina npm @anthropic-ai/claude-code
- Repositorio GitHub