Claude su Linux: app desktop e CLI
Scopri cosa funziona davvero su Linux: app desktop beta via apt, CLI Claude Code, plugin per editor e piano a pagamento richiesto per ciascuno.
Quali componenti di Claude sono eseguiti nativamente su Linux oggi
Claude su Linux è disponibile su quattro superfici separate e, ad agosto 2026, tutte funzionano su una normale macchina Ubuntu o Debian. L'app desktop si installa dal repository apt di Anthropic ed è in versione beta. La CLI Claude Code (interfaccia a riga di comando) è un binario compilato e funziona su più distribuzioni rispetto all'app desktop. L'app web all'indirizzo claude.ai richiede soltanto un browser, mentre l'API è un endpoint HTTPS che si richiama dal proprio codice.
Nella versione beta desktop per Linux mancano due funzioni disponibili su macOS e Windows: Computer Use, con cui Claude controlla le applicazioni sullo schermo, e la dettatura vocale. Anthropic indica entrambe come non ancora disponibili su Linux. La CLI dispone di una propria dettatura vocale, quindi la limitazione riguarda l'app desktop e non Claude in generale.
La disponibilità cambia nel tempo. Considerate quindi questa pagina una descrizione delle superfici disponibili e verificate lo stato attuale prima di pianificare l'implementazione. L'ultima sezione elenca le pagine da controllare.
Installare l'app desktop Claude su Ubuntu o Debian
I requisiti documentati sono Ubuntu 22.04 o versioni successive oppure Debian 12 o versioni successive, su x86_64 (che dpkg chiama amd64) o arm64. Altre distribuzioni basate su Debian potrebbero funzionare, ma non sono testate. Per Fedora e RHEL non è ancora disponibile alcun pacchetto; su questi sistemi è quindi necessario usare la CLI o il browser.
Installare l'app dal repository apt anziché da un file .deb scaricato. L'app Linux non dispone di un proprio updater, quindi le nuove versioni arrivano solo tramite il package manager. La registrazione del repository consente a apt upgrade di trovarle.
sudo apt install curl gnupg
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc \
https://downloads.claude.ai/claude-desktop/key.asc
gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.ascgpg --show-keys dovrebbe stampare l'impronta digitale 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE. Confrontarla prima di registrare il repository, perché una chiave di firma non verificata è una chiave di cui ci si fida senza controllo. Se gpg segnala che il file non contiene dati OpenPGP validi, il download non è riuscito e apt update fallirà successivamente con NO_PUBKEY BAA929FF1A7ECACE.
La registrazione del repository consiste in una sola riga deb scritta in /etc/apt/sources.list.d/claude-desktop.list. Copiare quella riga dalla pagina di installazione Linux di Anthropic, code.claude.com/docs/en/desktop-linux, esattamente come è riportata. L'indirizzo del repository è la parte di questa procedura più soggetta a modifiche. Digitare la riga a memoria può lasciare E: Unable to locate package claude-desktop come unico risultato. Leggere la riga prima di incollarla: arch=amd64,arm64 indica perché apt non trova nulla su un'architettura diversa, mentre signed-by= fa riferimento al file keyring appena verificato. In questo modo la chiave resta limitata a questo repository, invece di essere considerata attendibile per tutto ciò che apt legge.
sudo apt update && sudo apt install claude-desktopAvviarla dal launcher delle applicazioni oppure eseguire claude-desktop in un terminale. Accedere con il proprio account claude.ai oppure tramite l'SSO (single sign-on) dell'organizzazione, se l'azienda lo ha configurato. L'app desktop non accetta una chiave API di Claude Console: l'autenticazione basata su chiave è una funzionalità della CLI.
E: Unable to locate package claude-desktop indica che apt non ha mai letto il repository. cat /etc/apt/sources.list.d/claude-desktop.list dovrebbe mostrare la riga deb appena scritta, mentre dpkg --print-architecture dovrebbe stampare amd64 o arm64, perché non vengono pubblicati pacchetti per altre architetture. Gli aggiornamenti arriveranno insieme agli altri aggiornamenti del sistema, da sudo apt update && sudo apt upgrade.
Ciò che esiste solo in un browser
claude.ai funziona in qualsiasi browser aggiornato su qualsiasi distribuzione, quindi è la soluzione per Fedora, RHEL, Arch, openSUSE e tutte le altre distribuzioni per cui non esiste un pacchetto. Il browser consente inoltre di usare Claude Code sul web, dove la sessione viene eseguita nel cloud di Anthropic anziché sul computer locale e utilizza sempre le credenziali del tuo abbonamento.
È importante capire il limite del browser. Una sessione cloud non può leggere i file presenti sul tuo server né eseguire comandi su di esso. Qualsiasi operazione che interagisca con il computer richiede software installato su quel computer, cioè la CLI o l'app desktop.
Cosa offre la CLI che l'app Web non offre
Avvia claude in una directory e il comando opererà su quella directory. Questa è la differenza, e tutto il resto ne deriva.
- Legge e modifica i file nella directory di lavoro e mostra ogni modifica prima di applicarla.
- Esegue i comandi shell approvati, quindi può compilare un progetto, eseguire una suite di test, leggere un log oppure ispezionare un servizio direttamente sul server.
- Funziona senza una sessione interattiva:
claude -p "read the nginx error log and summarise it"stampa una risposta e termina. È il comportamento da usare in un cron job o in una pipeline. Il formato della risposta è configurabile, perché uno stile di output modifica il prompt di sistema alla base di ogni risposta e può mantenere concisa un'esecuzione automatizzata, mentre una sessione interattiva fornisce spiegazioni dettagliate. - Collega i server MCP (model context protocol) tramite
claude mcp add, fornendo al modello strumenti che vanno oltre il filesystem. - Funziona anche dove non è disponibile alcun desktop grafico, come accade con ogni VPS (virtual private server) che si noleggia.
Quest'ultimo aspetto spiega perché una guida sui server deve occuparsi della CLI. Un server noleggiato dispone di SSH (secure shell) e di nient'altro, quindi il terminale è l'unica interfaccia disponibile per lavorare sul server. L'esecuzione in questo modo richiede regole specifiche, descritte in dettaglio da eseguire Claude Code su un VPS all'interno di tmux, mentre usare Claude per le attività quotidiane di amministrazione di sistema illustra le attività per cui è utile impiegarlo.
Le integrazioni con gli editor si collocano tra i due approcci. L'estensione per VS Code richiede VS Code 1.94.0 o versione successiva e offre un pannello grafico all'interno dell'editor, con visualizzazione delle differenze e revisione del piano. Per il pannello include una copia privata della CLI e non inserisce claude nel PATH, quindi per digitare claude nel terminale integrato è comunque necessaria l'installazione standalone. Gli editor basati su VS Code installano la stessa estensione dal registro Open VSX; è disponibile anche un plugin per JetBrains.
Servono Node.js per eseguire Claude Code su Linux?
Non con il metodo di installazione consigliato. L’installer nativo scarica un binario compilato, che non viene eseguito tramite Node.js.
curl -fsSL https://claude.ai/install.sh | bash
claude --versionclaude --version dovrebbe stampare un numero di versione, ad esempio 2.1.211 (Claude Code). Se qualcosa non torna, eseguire claude doctor, che stampa informazioni diagnostiche in sola lettura sull’installazione e sui file di configurazione, senza avviare una sessione.
Node.js è necessario solo per il metodo npm. A partire dalla versione del pacchetto 2.1.198, il pacchetto npm richiede Node.js 22 o versioni successive. Con una versione precedente di Node.js, npm stampa un avviso EBADENGINE invece di interrompersi. Il pacchetto include infatti lo stesso binario nativo come dipendenza specifica per la piattaforma e crea un collegamento verso il relativo percorso.
npm install -g @anthropic-ai/claude-codeNon eseguire questo comando con sudo. La documentazione sconsiglia sudo npm install -g perché crea file di proprietà di root nel prefisso globale di npm. Di conseguenza, la successiva installazione o il successivo aggiornamento eseguiti da un utente non privilegiato falliscono a causa dei permessi. Quando la directory globale di npm non è scrivibile, l’aggiornamento automatico in background smette di funzionare e claude doctor elenca le correzioni disponibili.
Anthropic pubblica inoltre repository di pacchetti firmati per Debian, Fedora, RHEL e Alpine. Pertanto, sudo apt install claude-code funziona in modo simile al pacchetto desktop e utilizza una propria chiave di firma in https://downloads.claude.ai/keys/claude-code.asc.
Installazione per utente o a livello di sistema?
L’installer nativo esegue un’installazione per utente. Crea un launcher in ~/.local/bin/claude come link simbolico a ~/.local/share/claude/versions/, non richiede root e si aggiorna in background. Ogni utente della macchina dispone di una copia separata, con una versione separata.
L’installazione tramite package manager è a livello di sistema. Un unico binario serve tutti gli utenti, richiede root e non si aggiorna automaticamente tramite Claude Code. Per aggiornarlo si usa sudo apt update && sudo apt upgrade claude-code, lo stesso comando già utilizzato per il resto del sistema.
Scegli l’installazione per utente su una macchina a cui accedi con il tuo account. Questa è la scelta più comune per la maggior parte delle attività sui VPS. Scegli l’installazione tramite package manager su un server condiviso o su un’immagine di macchina, quando vuoi usare una sola versione per tutti e aggiornarla secondo la tua pianificazione. In un’installazione nativa, due impostazioni in ~/.claude/settings.json determinano il comportamento degli aggiornamenti:
{
"autoUpdatesChannel": "stable",
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}Il canale stable segue una release che ha circa una settimana ed evita le release con regressioni rilevanti. DISABLE_AUTOUPDATER interrompe soltanto il controllo in background. claude update continua quindi a funzionare e puoi decidere quando installare una nuova versione. Questo è importante su un server in cui un’attività di lunga durata viene eseguita senza supervisione e vuoi evitare che il binario cambi mentre è in esecuzione.
Accedere tramite SSH e mantenere attiva la sessione
Quando esegui per la prima volta la CLI su un server a noleggio, si presentano due problemi specifici di Linux. Il flusso di accesso richiede un browser, ma il server non ne dispone. Se la connessione SSH cade, perdi anche il lavoro in esecuzione.
tmux risolve il secondo problema. Una sessione tmux appartiene al server tmux sulla macchina remota, non alla connessione. Di conseguenza, se il collegamento cade, il processo continua a essere eseguito.
tmux new -s claude
claudeScollegati con Ctrl-b, quindi d, e torna alla sessione in un secondo momento con tmux attach -t claude.
L'accesso è il primo problema. Esegui claude per visualizzare un URL di autorizzazione. Apri l'URL nel browser del tuo computer. Dopo l'accesso, il browser mostra un codice di accesso invece di reindirizzare la richiesta, perché il browser del laptop non può raggiungere il server di callback avviato da Claude Code sull'indirizzo di loopback della macchina remota. Incolla il codice nel terminale, al prompt Paste code here if prompted. Il terminale restituisce Login successful.
Per una sessione che deve avviarsi senza supervisione, claude setup-token apre la stessa procedura di autorizzazione nel browser e stampa nel terminale un token OAuth valido per un anno. Il token non viene salvato in alcun percorso. Copialo e impostalo nella posizione necessaria.
export CLAUDE_CODE_OAUTH_TOKEN=your-tokenIl token richiede un piano a pagamento e può effettuare soltanto richieste ai modelli. Trattalo come una password con validità di un anno. Dove conservarlo e come impedire che un agent lo legga nuovamente sono argomenti trattati in mantenere i secret fuori dalla portata degli agent AI.
I server con poche risorse presentano un ulteriore problema. L'installazione richiede circa 512 MB di memoria libera e il requisito hardware documentato per l'esecuzione è almeno 4 GB di RAM. Su un'istanza da 1 GB, quindi, il kernel termina l'installazione tramite il killer out-of-memory:
Setting up Claude Code...
Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.Aggiungi lo swap, quindi esegui nuovamente l'installer. Lo swap è spazio su disco che il kernel usa come memoria di overflow. È molto più lento della RAM, ma è sufficiente per completare un'installazione.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileswapon abilita il file solo per questo avvio. Aggiungi una riga per /swapfile a /etc/fstab se vuoi riattivarlo dopo un riavvio. Gli altri aspetti da mettere in sicurezza prima di consentire a un agent di eseguire comandi su un server in produzione sono trattati in eseguire Claude Code in sicurezza su un VPS.
Dove risiedono le credenziali di Claude su Linux
Su Linux, /login scrive la credenziale in ~/.claude/.credentials.json con la modalità file 0600. macOS inserisce la stessa credenziale nel portachiavi crittografato, quindi un'abitudine acquisita su Mac non è applicabile: su Linux il token è un file in chiaro nella home directory e ogni processo eseguito con il tuo utente può leggerlo. Impostando CLAUDE_CONFIG_DIR, il file viene spostato in quella directory.
Da questo derivano due conseguenze. Un backup di /home contiene un accesso ancora valido, quindi copiarlo su una macchina condivisa consegna il tuo account a chiunque altro possa leggerlo. Inoltre, un'immagine della macchina creata da un sistema in cui hai effettuato l'accesso include quell'accesso in ogni istanza clonata da essa. Esegui /logout prima di creare uno snapshot.
La precedenza delle credenziali può creare problemi a chi dispone contemporaneamente di un abbonamento e di una chiave API. Quando ANTHROPIC_API_KEY è impostata nella shell, Claude Code la utilizza dopo la tua approvazione; l'abbonamento resta quindi inutilizzato, mentre la chiave genera addebiti per token. /status mostra quale credenziale è attiva e unset ANTHROPIC_API_KEY riporta all'accesso tramite abbonamento.
Gli accessi scadono. Nei tre giorni precedenti alla scadenza, la riga di avvio contiene Your login expires in 3 days e questo avviso non blocca mai una richiesta. Dopo la scadenza, ogni richiesta non va a buon fine con Login expired · Please run /login. Tienilo presente prima di lasciare una sessione non presidiata in esecuzione per un fine settimana: la sessione smetterà di avanzare e non potrà recuperare autonomamente.
Una singola sottoscrizione Claude copre tutto?
Un unico piano a pagamento consente di usare tutte le superfici con lo stesso accesso. Un account Pro, Max, Team o Enterprise consente di accedere a claude.ai nel browser, all'app desktop, alla CLI e all'estensione per VS Code; in ogni caso si tratta della stessa sottoscrizione. Anche il plafond di utilizzo è condiviso, quindi una lunga esecuzione della CLI sul server riduce la quota disponibile nell'app desktop. Quando una delle superfici rifiuta le richieste, è importante capire quale finestra del limite è stata raggiunta e come intervenire. Il piano gratuito di claude.ai non include l'accesso a Claude Code. La CLI e le funzionalità Claude Code dell'app desktop richiedono quindi un piano a pagamento oppure un account Claude Console.
L'API è un prodotto distinto, con una fatturazione diversa. Un account Console addebita i token effettivamente inviati. Questo modello è adatto a un servizio che stai sviluppando, non all'interazione manuale da un terminale. Impostando ANTHROPIC_API_KEY, la CLI passa a questo modello di fatturazione. È una scelta esplicita, non un fallback.
I prezzi e i limiti dei piani cambiano troppo spesso per poterli riportare qui. Due pagine riportano i valori aggiornati: quanto costa realmente Claude Code e quale piano Claude serve. Se stai confrontando la fatturazione per token con un piano mensile, il confronto tra API e sottoscrizione mostra dove si trova il punto di pareggio.
Gli errori di installazione che si verificano realmente
bash: claude: command not found subito dopo un'installazione riuscita. Il binario si trova in ~/.local/bin/claude e questa directory non è inclusa nel percorso di ricerca della shell. Verificalo con echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin", che non stampa nulla quando la voce è assente. Correggi il problema in bash con echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc, quindi esegui source ~/.bashrc. L'installazione autonoma dell'estensione di VS Code non crea mai quel file, perché l'estensione mantiene la propria copia della CLI nella directory dell'estensione.
Error loading shared library libstdc++.so.6. L'installer ha scelto la build musl per un sistema glibc. Questo accade quando sono presenti pacchetti per la compilazione incrociata musl e il rilevamento li interpreta in modo errato. Esegui ldd --version 2>&1 | head -1: un output con il nome GNU libc o GLIBC indica che il sistema usa glibc e che è stato installato il binario sbagliato; rimuovi quindi l'installazione ed esegui di nuovo l'installer. Su Alpine e sugli altri sistemi musl la correzione è l'opposto, apk add libgcc libstdc++ ripgrep.
Due copie di claude sullo stesso host. which -a claude elenca tutte le corrispondenze presenti nel PATH. Un'installazione nativa è un link simbolico da ~/.local/bin/claude a ~/.local/share/claude/versions/, una vecchia installazione locale di npm si trova in ~/.claude/local/ e npm -g ls @anthropic-ai/claude-code mostra un'installazione globale di npm. Rimuovi le copie che non vuoi mantenere, perché una copia obsoleta posizionata prima nel PATH fa sembrare non risolto un bug già corretto.
Dove verificare lo stato attuale
- Stato del desktop Linux, requisiti e comandi di installazione: code.claude.com/docs/en/desktop-linux
- Distribuzioni supportate e tutti i metodi di installazione della CLI: code.claude.com/docs/en/setup
- Piattaforme per cui è disponibile un'app da scaricare: claude.com/download
- Contenuti e costi dei vari piani: claude.com/pricing
Tutti i numeri di versione e le date riportati in questa guida riflettono lo stato di agosto 2026. La struttura generale resta invariata: quattro modalità di utilizzo, un unico accesso per quelle a pagamento e una decisione da prendere sull'ambito di installazione della CLI, limitato al proprio utente oppure disponibile per l'intero sistema.
FAQ
Esiste un'app desktop di Claude per Linux?
Sì. Ad agosto 2026 è in beta e supporta Ubuntu 22.04 o versioni successive e Debian 12 o versioni successive su amd64 o arm64. Installala con sudo apt install claude-desktop dopo aver aggiunto il repository apt di Anthropic e la relativa chiave di firma, così le nuove versioni arriveranno con i normali aggiornamenti del sistema. La build Linux presenta le stesse schede dell'app macOS, inclusa la scheda Claude Code. Computer Use e la dettatura vocale non sono ancora disponibili nella build Linux. Fedora e RHEL non dispongono di un pacchetto, quindi su queste distribuzioni usa la CLI o claude.ai nel browser.
Serve Node.js per eseguire Claude Code su Linux?
Non per l'installazione consigliata. curl -fsSL https://claude.ai/install.sh | bash scarica un binario compilato che non usa Node.js durante l'esecuzione. Node.js è necessario soltanto se installi il pacchetto npm, che a partire dalla versione 2.1.198 richiede Node.js 22 o versioni successive. Con una versione precedente di Node.js, npm visualizza un avviso EBADENGINE e l'installazione termina comunque, perché lo stesso binario nativo viene installato come dipendenza specifica per la piattaforma. Non installarlo con sudo npm install -g, perché lascia file di proprietà di root nel tuo prefisso npm e impedisce i successivi aggiornamenti.
Come posso accedere a Claude Code tramite SSH?
Esegui claude: il comando visualizza un URL di autorizzazione. Apri l'URL nel browser del tuo computer, non sul server. Dopo l'accesso, il browser mostra un codice di accesso invece di eseguire il reindirizzamento, perché non può raggiungere il listener di callback avviato da Claude Code sull'indirizzo di loopback della macchina remota. Incolla il codice alla richiesta Paste code here if prompted. Per le sessioni avviate senza un utente presente, esegui claude setup-token e imposta il token visualizzato come CLAUDE_CODE_OAUTH_TOKEN nei punti in cui è necessario.
Dove salva Claude Code i dati di accesso su Linux?
In ~/.claude/.credentials.json con la modalità file 0600, oppure nel percorso CLAUDE_CONFIG_DIR quando imposti quella variabile. Su Linux non viene utilizzato alcun portachiavi, a differenza di macOS, quindi qualsiasi processo eseguito con il tuo utente può leggere il file. Di conseguenza, un backup /home o un'immagine della macchina contiene un accesso funzionante: esegui /logout prima di creare uno snapshot o copiare un sistema. Se nel tuo ambiente è impostato anche ANTHROPIC_API_KEY, questo ha la precedenza sull'accesso all'abbonamento salvato dopo la relativa approvazione, mentre /status mostra quale accesso è attivo.
Il mio abbonamento Claude Pro copre anche la CLI oltre all'app web?
Sì. Un piano Pro, Max, Team o Enterprise consente di accedere a claude.ai, all'app desktop, alla CLI e all'estensione VS Code con un unico account. Il piano gratuito di claude.ai non include Claude Code, quindi la CLI del terminale richiede un piano a pagamento o un account Claude Console. L'API viene fatturata separatamente per token tramite un account Console, che è un prodotto diverso da un abbonamento.