Installazione e configurazione di Claude Code per Ollama, llama.cpp, prezzi
Coding agentico, ora con backend di modelli locali.
Claude Code non è un’autocompletamento con un marketing migliore. È uno strumento di coding agentic: legge la tua codebase, modifica i file, esegue comandi e si integra con i tuoi strumenti di sviluppo.
Questa differenza è importante perché l’unità di lavoro smette di essere “una riga di codice” e diventa “un task con uno stato finale”.
Anthropic descrive chiaramente la distinzione: il code completion suggerisce la riga successiva mentre digiti, mentre Claude Code opera a livello di progetto, pianifica su più file, esegue modifiche, avvia test e itera sugli errori. Nella pratica, questo lo avvicina a un junior developer nativo del terminale che può eseguire compiti velocemente, ma che ha comunque bisogno di revisione.
Questa tensione tra velocità e supervisione è gran parte di ciò che le persone raggruppano sotto il termine “vibe coding”; Cos’è il Vibe Coding? analizza il termine, le sue origini e come appaiono efficienza e rischio nella pratica.

Un dettaglio facile da perdere quando si scorre la documentazione: il CLI del terminale (e l’interfaccia VS Code) può essere configurato per utilizzare provider di terze parti. È qui che entrano in gioco Ollama e llama.cpp.
Una volta che Claude Code è puntato verso un endpoint HTTP locale, i compromessi relativi al runtime, all’hardware e all’hosting rimangono esterni al client; questo confronto sull’hosting LLM nel 2026 allinea Ollama, stack di inferenza dedicati e opzioni cloud in un unico posto.
Per vedere come Claude Code si colloca accanto ad altri flussi di lavoro di coding e delivery assistiti dall’IA, questa guida agli strumenti per sviluppatori AI riunisce assistenti stile Copilot, automazione e pattern degli editor in un unico posto.
Per un’analisi strumento per strumento degli assistenti di coding nella stessa categoria, Confronto Assistenti di Coding AI analizza Cursor, Copilot, Cline e il resto a un livello più alto rispetto a questa guida di installazione.
Installazione e avvio rapido di Claude Code
Opzioni di installazione e le loro implicazioni
Esistono diversi percorsi di installazione, che non sono equivalenti:
- Gli script di installazione nativa sono l’opzione “sempre aggiornata” perché si aggiornano automaticamente.
- Homebrew e WinGet sono l’opzione “cambiamento controllato” perché aggiorni esplicitamente.
Comandi di installazione (avvio rapido ufficiale):
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
:: Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Avvia poi una sessione interattiva da dentro una cartella di progetto:
cd /path/to/your/project
claude
Login e tipi di account
Claude Code necessita di un account per funzionare in modalità first-party. Il flusso di avvio rapido supporta il login tramite un abbonamento Claude (Pro, Max, Team, Enterprise), un account Console (crediti API) o provider cloud supportati. Una nota operativa utile: al primo login su Console, viene creato uno spazio di lavoro “Claude Code” per il monitoraggio centralizzato dei costi.
Configurazione di Claude Code: settings.json e variabili d’ambiente
Se Claude Code sembra magico quando funziona, spesso sembra “misterioso” quando non funziona. La cura è comprendere la sua architettura di configurazione e le poche variabili d’ambiente che contano davvero.
File di configurazione e precedenza
Le impostazioni di Claude Code sono gerarchiche, con tre file visibili allo sviluppatore:
- Ambito utente, applicato ovunque: ~/.claude/settings.json
- Ambito progetto, condiviso in un repo: .claude/settings.json
- Ambito locale, override per macchina: .claude/settings.local.json (ignorato da git)
La precedenza è (dal più alto al più basso): policy gestita, flag CLI, locale, progetto, utente. Questo ordine spiega diversi momenti di “perché la mia configurazione è ignorata”.
Puoi gestire le impostazioni in modo interattivo tramite il comando /config, che apre un’interfaccia delle impostazioni dentro il REPL.
Variabili d’ambiente che controllano il routing del provider
Claude Code può essere indirizzato in fase di runtime da variabili d’ambiente. Due stranezze comportamentali meritano di essere trattate come vincoli di design:
-
Se ANTHROPIC_API_KEY è impostata, Claude Code userà la chiave invece di un abbonamento Claude anche quando sei connesso. In modalità print (-p) la chiave è sempre utilizzata quando presente.
-
Se ANTHROPIC_BASE_URL punta a un host non first-party (un proxy, gateway o server locale), alcune funzionalità sono intenzionalmente conservative. Ad esempio, la ricerca di strumenti MCP è disabilitata di default a meno che tu non la riabiliti esplicitamente.
Per il confine specifico degli abbonamenti ora imposto negli stack agent di terze parti, questo aggiornamento delle policy Anthropic per i flussi di lavoro OpenClaw spiega perché l’uso basato su API è richiesto.
Un pattern minimo “usa un gateway” appare così:
export ANTHROPIC_BASE_URL=https://your-gateway.example
export ANTHROPIC_API_KEY=sk-your-key
Nota sul gateway: Claude Code si aspetta certi formati API. Per il formato Anthropic Messages, il gateway deve esporre /v1/messages e /v1/messages/count_tokens e deve inoltrare le intestazioni anthropic-beta e anthropic-version. Se un gateway rifiuta quelle intestazioni, esiste un parametro dedicato per rimuovere le beta sperimentali.
Selezione del modello in Claude Code quando non si usa Anthropic direttamente
Claude Code ha un concetto di alias (opus, sonnet, haiku) e supporta anche il fissaggio di ID modello specifici. Esiste anche un allowlist che può limitare cosa gli utenti possono selezionare nel selettore del modello, anche quando instradato tramite provider di terze parti.
Un pattern pragmatico è impostare un modello iniziale e limitare il selettore, poi fissare cosa “default” risolve via env:
{
"model": "claude-sonnet-4-5",
"availableModels": ["claude-sonnet-4-5", "haiku"],
"env": {
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
}
}
Esecuzione di LLM self-hosted tramite Ollama
Ollama è attualmente il modo a minor attrito per far eseguire Claude Code su modelli non-Anthropic, perché espone un’API compatibile con Anthropic per Claude Code.
Setup rapido con ollama launch
Se hai Ollama installato e in esecuzione, il percorso veloce è:
ollama launch claude
O specifica un modello all’avvio:
ollama launch claude --model glm-4.7-flash
Setup manuale con variabili d’ambiente esplicite
L’integrazione Ollama documenta un semplice cablaggio manuale dove Claude Code parla con Ollama tramite l’endpoint API compatibile con Anthropic:
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model qwen3.5
Questo pattern è opinionato in un modo utile: tratta il “routing del provider” come un problema d’ambiente, non qualcosa che clicchi in una GUI.
Verifica della realtà della finestra di contesto
Il coding agentic è affamato di contesto. Ollama lo dice chiaramente: Claude Code richiede una grande finestra di contesto e raccomanda almeno 64k token. Se il tuo modello locale si ferma a 8k o 16k, Claude Code continuerà a funzionare, ma la promessa “a livello di progetto” diventa fragile.
Per un comportamento hands-on di modelli locali in un setup simile di agent terminale (Ollama e llama.cpp, task di coding e note di fallimento oneste), Migliori LLM per OpenCode - Testati Localmente è un utile cross-check quando fai la shortlist di tag GGUF o Ollama per Claude Code.
Esecuzione di LLM self-hosted tramite llama.cpp
llama.cpp è attraente per il motivo opposto: non cerca di essere una piattaforma. È un server veloce e leggero che può esporre sia rotte compatibili con OpenAI sia una rotta compatibile con l’API Anthropic Messages.
Per i percorsi di installazione, llama-cli e il comportamento di llama-server oltre ai frammenti qui sotto, llama.cpp Quickstart con CLI e Server è il riferimento end-to-end.
Cosa eseguire sul lato server
Il server HTTP llama.cpp (llama-server) supporta un’API Messages compatibile con Anthropic su POST /v1/messages, con streaming tramite SSE. Offre anche count_tokens su /v1/messages/count_tokens.
Due dettagli contano per Claude Code:
- Il server non fa esplicitamente affermazioni forti sulla piena compatibilità dello spec API Anthropic, ma dichiara che funziona bene per molte app.
- L’uso di strumenti richiede l’avvio di llama-server con il flag –jinja. Se ti perdi questo, Claude Code si comporterà come se avesse dimenticato improvvisamente come essere un agent.
Un’esecuzione locale minima appare così:
# Compila o scarica llama-server, poi esegui con un modello GGUF
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080
Se vuoi un confine di autenticazione rigido, llama-server può essere configurato con una chiave API:
./llama-server -m /models/your-model.gguf --jinja --api-key my-local-key --host 127.0.0.1 --port 8080
Punta Claude Code verso llama-server
Con il server in esecuzione, il lato Claude Code è principalmente un override dell’URL base:
export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key # solo se hai abilitato --api-key su llama-server
claude --model your-model-alias
Se non imposti una chiave API o un token di autenticazione, Claude Code potrebbe provare a tornare al login con abbonamento, che è la fonte di molte lamentele del tipo “perché sta aprendo un browser”.
Controlli di salute e prima triage dei fallimenti
llama-server espone un semplice endpoint di salute che restituisce “loading model” finché il modello non è pronto, e “ok” quando è utilizzabile. Quando Claude Code sembra bloccarsi alla prima richiesta, controllare /health è un modo veloce per distinguere un “bug di configurazione client” da un “server ancora in caricamento”.
Prezzi e modello di costo
Il prezzo di Claude Code è meno una questione di “comprare un CLI” e più di “quale binario di fatturazione supporta i token”.
I piani di abbonamento includono Claude Code
Anthropic include Claude Code nei livelli di abbonamento Claude a pagamento. Ad aprile 2026, i prezzi pubblicati elencano:
- Pro a $17 al mese con uno sconto annuale ($200 fatturati in anticipo), o $20 fatturati mensilmente, e include Claude Code.
- Piani Max a partire da $100 al mese.
- Piani Team prezzi per sede, con una sede standard a $20 per sede al mese fatturata annualmente ($25 mensile) e una sede premium a $100 per sede al mese fatturata annualmente ($125 mensile).
Prezzi dei token API
Se usi Claude Code tramite fatturazione API, i costi seguono i tassi dei token. Anthropic pubblica prezzi per milione di token (MTok) per modelli come:
- Haiku 4.5 a $1/MTok in input e $5/MTok in output.
- Sonnet 4.5 a $3/MTok in input e $15/MTok in output.
- Opus 4.5 a $5/MTok in input e $25/MTok in output.
Controlli dei costi nel CLI
La modalità print (-p) supporta limiti di budget diretti come –max-budget-usd, che è utile quando stai scripting task e vuoi una spesa prevedibile.
Dentro le sessioni interattive, /cost mostra le statistiche di utilizzo dei token.
I backend locali cambiano la fattura, non la fisica
Instradare Claude Code verso Ollama o llama.cpp può rimuovere le fatture API per token, ma non rende il lavoro gratuito. Stai scambiando costi cloud per compute locale, memoria e “qualcuno possiede l’uptime”. Per alcuni team, quel compromesso è l’intero punto.
Flusso di lavoro tipico: dal piano al PR
Il mio bias è che Claude Code è più forte quando lo tratti come un motore di flusso di lavoro, non come un chatbot. Gli strumenti suggeriscono questo.
Inizia con il modello di permessi, non con il prompt
Claude Code è gateato dai permessi per design. I documenti descrivono un modello a livelli: le operazioni di sola lettura come letture di file e grep sono consentite, mentre i comandi bash e le modifiche ai file necessitano approvazione.
Le modalità di permesso esistono per gestire l’attrito. Nel CLI puoi ciclare le modalità con Shift+Tab (default -> acceptEdits -> plan). La modalità Plan legge e propone cambiamenti ma non edita. La modalità acceptEdits permette a Claude Code di creare e editare file nella tua directory di lavoro senza richiedere conferma, pur richiedendo ancora conferma per comandi con effetti collaterali fuori dalla sua lista sicura.
La modalità Auto è un’opzione più recente che riduce le richieste di conferma delegando le approvazioni a un classificatore, posizionata come un percorso intermedio più sicuro tra prompt costanti e la disabilitazione completa dei prompt. Richiede una versione minima di Claude Code e requisiti specifici di piano e modello.
Usa i comandi integrati per mantenere le sessioni oneste
Alcuni comandi trasformano Claude Code da “assistente” a “strumentazione”:
- /init genera una guida al progetto CLAUDE.md, che è un modo leggero per fornire contesto consistente. Per playbook riutilizzabili e flussi di lavoro ripetibili che si trovano sopra
CLAUDE.md, Claude Skills per sviluppatori copre layout SKILL.md, compatibilità IDE, tuning dei trigger e testing. - /diff dà una vista interattiva dei cambiamenti, inclusi diff per turno.
- /rewind ti permette di riavvolgere la conversazione e/o il codice a un punto precedente, usando checkpoint.
- /debug abilita il logging di debug a metà sessione.
- /doctor diagnostica e verifica la tua installazione e impostazioni.
Questi non sono gimmick; sono le ringhiere di sicurezza su cui ti appoggi quando un agent edita più del previsto.
Quando andare non-interattivo
Per task one-shot (spiegare, riassumere, generare un piano di patch), la modalità print è una buona scelta:
claude -p "Riassumi l'architettura del repository e lista i moduli più rischiosi"
Esce dopo la risposta, che funziona bene in script e CI.
Checklist di troubleshooting
La maggior parte dei problemi di Claude Code sono problemi di configurazione in incognito. Ecco una checklist che mappa sintomi comuni al meccanismo sottostante.
Claude Code continua a chiedere di accedere mentre si usa un server locale
Questo di solito significa che Claude Code sta ancora cercando di usare l’autenticazione first-party con abbonamento. Assicurati di impostare una modalità di auth esplicita per il proxy:
- Imposta ANTHROPIC_API_KEY per gateway che si aspettano X-Api-Key.
- O imposta ANTHROPIC_AUTH_TOKEN per gateway che usano Authorization Bearer.
Ricorda che ANTHROPIC_API_KEY sovrascrive l’uso dell’abbonamento anche se sei connesso, e in modalità interattiva potresti dover approvare quel override una volta.
Il gateway dà errore sulle intestazioni anthropic-beta
Alcuni gateway rifiutano intestazioni sconosciute o campi beta. C’è una variabile d’ambiente progettata per questa modalità di fallimento esatta:
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
La documentazione del gateway LLM nota anche che potresti averne bisogno quando usi il formato Anthropic Messages con Bedrock o Vertex.
Il tool calling non funziona su llama.cpp
Ricontrolla i flag del server. llama-server documenta che l’uso di strumenti richiede il flag –jinja. Senza di esso, il server può rispondere, ma il loop dell’agent si degraderà.
I prompt di permesso stanno interrommando ogni comando
Questo può essere normale, a seconda della modalità e delle regole di permesso. Le opzioni includono:
- Passare ad acceptEdits temporaneamente (le modifiche ai file scorrono più velocemente).
- Scrivere regole allow esplicite per comandi bash noti come sicuri in settings.json.
- Usare /sandbox per isolare lo strumento bash riducendo i prompt.
- Valutare la modalità auto se il tuo piano e versione la supportano, come via di mezzo.
Qualcosa sembra strano e hai bisogno di osservabilità
Usa gli integrati:
- /doctor per validare installazione e impostazioni.
- /debug per iniziare a catturare log da quel punto in poi.
- Se sei in modalità print, considera un max budget e max turns stretti per mantenere gli esperimenti limitati.
La posizione di Claude Code come strumento first-party protetto da Anthropic è diventata strategicamente significativa ad aprile 2026, quando Anthropic ha bloccato l’accesso agli abbonamenti Claude per framework agent di terze parti mantenendo Claude Code sulla fatturazione con abbonamento. La cronologia dell’ascesa e caduta di OpenClaw copre quell’evento e cosa rivela sull’approccio di Anthropic agli strumenti first-party versus third-party.