Installazione e configurazione di Claude Code per Ollama e llama.cpp, listino prezzi

Agentic coding, ora con backend di modelli locali.

Indice

Claude Code non è autocompletamento con una marketing migliore. È uno strumento di codifica agentico: legge il tuo codebase, modifica i file, esegue comandi e si integra con i tuoi strumenti di sviluppo.

Questa differenza conta perché l’unità di lavoro smette di essere “una riga di codice” e inizia a essere “un compito con uno stato finale”.

Anthropic inquadra la distinzione chiaramente: l’autocompletamento del codice suggerisce la riga successiva mentre digiti, mentre Claude Code opera a livello di progetto, pianifica su più file, esegue modifiche, esegue test e itera sui fallimenti. Nella pratica, questo lo rende più simile a un ingegnere junior nativo del terminale che può sbrigare le faccende rapidamente, ma che ha ancora bisogno di revisione.

La tensione tra velocità e supervisione è gran parte di ciò che le persone raggruppano sotto “vibe coding”; Cosa è la Vibe Coding? spiega il termine, da dove proviene e come appaiono efficienza e rischio nella pratica.

laptop-homeresver-claude-code-coffee-books

Un dettaglio che è facile perdere quando si scorre la documentazione: la CLI del Terminale (e la superficie VS Code) può essere configurata per utilizzare provider di terze parti. È lì che entrano in gioco Ollama e llama.cpp.

Una volta che Claude Code è puntato verso un endpoint HTTP locale, il runtime, l’hardware e i compromessi di hosting si trovano al di fuori del client; questa guida al confronto dell’hosting di LLM nel 2026 mette a confronto Ollama, stack di inferenza dedicati e opzioni cloud in un unico posto.

Per vedere come Claude Code si inserisce accanto ad altri flussi di lavoro di codifica e consegna assistita da AI, questa guida agli strumenti per sviluppatori AI riunisce assistenti in stile Copilot, automazione e modelli di editor in un unico posto.

Per una survey strumento per strumento di assistenti di codifica nella stessa categoria, Confronto degli assistenti di codifica AI analizza Cursor, Copilot, Cline e il resto a un livello più alto rispetto a questa guida di installazione.

Installazione di Claude Code e avvio rapido

Opzioni di installazione e ciò che implicano

Ci sono diversi percorsi di installazione, e non sono tutti uguali:

  • Gli script di installazione nativi sono l’opzione “sempre aggiornata” perché si aggiornano automaticamente.
  • Homebrew e WinGet sono l’opzione “variazione controllata” perché l’aggiornamento è esplicito.

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

Poi avvia una sessione interattiva da dentro una cartella di progetto:

cd /path/to/your/project
claude

Login e tipi di account

Claude Code ha bisogno di un account per funzionare in modalità first-party. Il flusso di avvio rapido supporta 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 Console, viene creato un workspace “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. Il rimedio è comprendere il suo stratificazione 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 rivolti agli sviluppatori:

  • Ambito utente, applicato ovunque: ~/.claude/settings.json
  • Ambito progetto, condiviso in un repository: .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”.

Un’installazione Hindsight per Claude Code fonde tre hook nel file utente ~/.claude/settings.json, registra MCP all’ambito utente e aggiunge la skill ~/.claude/skills/hindsight-coding-agent. Hindsight Memory per OpenCode, Cursor e altri agenti di codifica copre quel plugin, inclusa la configurazione di OpenCode e Cursor CLI.

Puoi gestire le impostazioni in modo interattivo tramite il comando /config, che apre un’interfaccia delle impostazioni all’interno della REPL.

Variabili d’ambiente che controllano il routing del provider

Claude Code può essere guidato in tempo reale tramite variabili d’ambiente. Due peculiarità comportamentali vale la pena considerare come vincoli di design:

  1. Se ANTHROPIC_API_KEY è impostato, Claude Code utilizzerà la chiave invece di un abbonamento Claude anche se sei effettuato il login. In modalità stampa (-p) la chiave viene sempre utilizzata quando presente.

  2. 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 degli strumenti MCP è disabilitata di default a meno che non la riabiliti esplicitamente.

Per il limite specifico di abbonamento ora applicato negli stack di agenti di terze parti, questo aggiornamento della policy Claude per i flussi di lavoro OpenClaw spiega perché l’uso basato su API è richiesto.

Un pattern minimo “usa un gateway” sembra così:

export ANTHROPIC_BASE_URL=https://your-gateway.example
export ANTHROPIC_API_KEY=sk-your-key

Nota sul gateway: Claude Code si aspetta determinati formati API. Per il formato Anthropic Messages, il gateway deve esporre /v1/messages e /v1/messages/count_tokens e deve inoltrare le header anthropic-beta e anthropic-version. Se un gateway rifiuta quelle header, c’è un’interruttore dedicato per rimuovere i 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. C’è anche un allowlist che può limitare ciò che gli utenti possono selezionare nel selettore del modello, anche quando instradato attraverso provider di terze parti.

Un pattern pragmatico è impostare un modello iniziale e limitare il selettore, poi fissare a cosa si risolve il “default” tramite 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 con attrito più basso per far funzionare Claude Code su modelli non-Anthropic, perché espone un’API compatibile con Anthropic a cui Claude Code può parlare.

Configurazione rapida con ollama launch

Se hai Ollama installato e in esecuzione, il percorso rapido è:

ollama launch claude

O specifica un modello all’avvio:

ollama launch claude --model glm-4.7-flash

Configurazione manuale con variabili d’ambiente esplicite

L’integrazione Ollama documenta un cablaggio manuale semplice in cui 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 una questione di ambiente, non qualcosa che clicchi in una GUI.

Realtà della finestra di contesto

La codifica agentica ha fame di contesto. Ollama lo chiama francamente: 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 funzionerà comunque, ma la promessa “a livello di progetto” diventa fragile.

Per il comportamento pratico di modelli locali in una configurazione simile di agent di terminale (Ollama e llama.cpp, compiti di codifica e note di fallimento franche), [Migliori LLM per OpenCode - Testati Localmente](https://www.glukhov.org/it/ai-devtools/opencode/llms-comparison/ “Confronto pratico di LLM in OpenCode - modelli locali Ollama e llama.cpp rispetto al cloud. Compiti di codifica, statistiche di accuratezza della mappa di migrazione e analisi onesta dei fallimenti.”}) è un utile cross-check quando stai facendo un’elenco di tag GGUF o Ollama per Claude Code.

Esecuzione di LLM self-hosted tramite llama.cpp

llama.cpp è attraente per la ragione opposta: non cerca di essere una piattaforma. È un server rapido e leggero che può esporre sia rotte compatibili con OpenAI che una rotta compatibile con l’API di Messaggi Anthropic.

Per i percorsi di installazione, il comportamento di llama-cli e di llama-server oltre gli snippet qui sotto, [llama.cpp Avvio rapido con CLI e Server](https://www.glukhov.org/it/llm-hosting/llama-cpp/ “Installa llama.cpp, esegui modelli GGUF con llama-cli e servi API compatibili con OpenAI usando llama-server. Flag chiave, esempi e suggerimenti di tuning con una scheda rapida dei comandi”}) è il riferimento end-to-end.

Cosa eseguire sul lato server

Il server HTTP di llama.cpp (llama-server) supporta un’API di Messaggi 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 forti affermazioni di piena compatibilità con la specifica dell’API Anthropic, ma afferma di funzionare bene abbastanza per molte app.
  • L’uso degli strumenti richiede l’avvio di llama-server con il flag –jinja. Se lo dimentichi, Claude Code si comporterà come se avesse improvvisamente dimenticato come essere un agente.

Un’esecuzione locale minima sembra 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 di Claude Code è per lo più un override dell’URL di 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 dell’abbonamento, che è la fonte di molte lamentele del “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 essersi bloccato alla prima richiesta, controllare /health è un modo rapido per distinguere tra “bug di configurazione del client” e “server ancora in caricamento”.

Prezzi e modello di costo

I prezzi di Claude Code hanno meno a che fare con “l’acquisto di una CLI” e più con “quale binario di fatturazione supporta i token”.

I piani di abbonamento includono Claude Code

Anthropic include Claude Code nei livelli a pagamento dell’abbonamento Claude. Al aprile 2026, la lista di prezzi pubblicata elenca:

  • Pro a $17 al mese con uno sconto annuale ($200 fatturati in anticipo), oppure $20 fatturati mensilmente, e include Claude Code.
  • Piani Max a partire da $100 al mese.
  • Piani Team con prezzo per posto, con un posto standard a $20 al posto al mese fatturato annualmente ($25 mensilmente) e un posto premium a $100 al posto al mese fatturato annualmente ($125 mensilmente).

Prezzo 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 nella CLI

La modalità stampa (-p) supporta limiti di budget diretti come –max-budget-usd, che è comodo quando stai scriptando compiti e vuoi una spesa prevedibile.

Nelle 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ò eliminare le fatture API per token, ma non rende il lavoro gratuito. Stai scambiando i costi del cloud per calcolo locale, memoria e “qualcuno possiede l’uptime”. Per alcune squadre, questo compromesso è l’intero punto.

Flusso di lavoro tipico: dal piano al PR

Il mio pregiudizio è che Claude Code sia più forte quando lo tratti come un motore di flusso di lavoro, non come un chatbot. Gli strumenti lo suggeriscono.

Inizia con il modello di permessi, non con il prompt

Claude Code è protetto dai permessi per design. I documenti descrivono un modello a livelli: le operazioni in sola lettura come la lettura di file e grep sono permesse, mentre i comandi bash e le modifiche ai file hanno bisogno di approvazione.

Le modalità di permesso esistono per gestire l’attrito. Nella CLI puoi cambiare modalità con Shift+Tab (default -> acceptEdits -> plan). La modalità Plan legge e propone modifiche ma non modifica. La modalità acceptEdits permette a Claude Code di creare e modificare file nella tua directory di lavoro senza chiedere, pur continuando a chiedere per comandi con effetti collaterali al di fuori della sua lista sicura.

La modalità Auto è un’opzione più recente che riduce i prompt delegando le approvazioni a un classificatore, posizionata come un percorso intermedio più sicuro tra i prompt costanti e la disattivazione completa dei prompt. Richiede una versione minima di Claude Code e requisiti specifici di piano e modello.

Usa comandi integrati per mantenere le sessioni oneste

Pochi comandi trasformano Claude Code da “assistente” a “strumentazione”:

  • /init genera una guida di progetto CLAUDE.md, che è un modo leggero per fornire contesto coerente. Per playbook riutilizzabili e flussi di lavoro ripetibili che stanno sopra CLAUDE.md, [Claude Skills per sviluppatori](https://www.glukhov.org/it/ai-devtools/claude-code/claude-skills-for-developers/ “Costruisci Claude Skills per VS Code, JetBrains e Cursor — layout di SKILL.md, convenzioni di cartella, tuning dei trigger, test e risoluzione dei problemi.”}) copre il layout di SKILL.md, la compatibilità IDE, il tuning dei trigger e il testing. Per confrontare le skill SDD di Claude Code contro GitHub Spec Kit e Kiro, vedi [GitHub Spec Kit vs Kiro vs flussi di lavoro SDD di Claude Code](https://www.glukhov.org/it/ai-devtools/ai-coding-assistants/spec-kit-vs-kiro-vs-claude-code/ “GitHub Spec Kit vs Kiro vs flussi di lavoro SDD di Claude Code” Se preferisci installare una versione pronta e applicata di quello stack di skill, vedi Avvio rapido di Superpowers.
  • /diff fornisce una vista interattiva delle modifiche, inclusi i diff per turno.
  • /rewind ti permette di tornare indietro nella conversazione e/o nel codice a un punto precedente, usando checkpoint.
  • /debug abilita la registrazione di debug a metà sessione.
  • /doctor diagnostica e verifica la tua installazione e impostazioni.

Questi non sono gadget; sono le rotaie di sicurezza su cui ti appoggi quando un agente modifica più di quanto ti aspettassi.

Per il lavoro rumoroso e delegabile — esplorazione del codebase, esecuzione automatizzata di test, review di sicurezza o stile — abbina quei comandi con sotto-agenti di Claude Code, che spingono quel lavoro in una finestra di contesto isolata invece di gonfiare la tua sessione principale.

Quando andare in modalità non interattiva

Per compiti one-shot (spiegare, riassumere, generare un piano di patch), la modalità stampa è una buona scelta:

claude -p "Riassumi l'architettura del repository ed elenca i moduli più a rischio"

Esce dopo la risposta, il che funziona bene in script e CI.

Elenco di controllo per la risoluzione dei problemi

La maggior parte dei problemi di Claude Code sono problemi di configurazione in incognito. Ecco un elenco che mappa i sintomi comuni al meccanismo sottostante.

Claude Code continua a chiedere di accedersi mentre si usa un server locale

Ciò significa tipicamente che Claude Code sta ancora cercando di usare l’autenticazione first-party dell’abbonamento. Assicurati di impostare una modalità di autenticazione esplicita per il proxy:

  • Imposta ANTHROPIC_API_KEY per i gateway che si aspettano X-Api-Key.
  • Oppure imposta ANTHROPIC_AUTH_TOKEN per i gateway che usano Authorization Bearer.

Ricorda che ANTHROPIC_API_KEY sovrascrive l’uso dell’abbonamento anche se sei effettuato il login, e in modalità interattiva potresti bisogno di approvare quella sovrascrittura una volta.

Il gateway dà errore sulle header anthropic-beta

Alcuni gateway rifiutano header sconosciute o campi beta. C’è una variabile d’ambiente progettata per questa esatta modalità di fallimento:

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.

La chiamata di strumenti non funziona su llama.cpp

Ricontrolla i flag del server. llama-server documenta che l’uso degli strumenti richiede il flag –jinja. Senza di esso, il server può rispondere, ma il loop dell’agente degraderà.

I prompt di permesso stanno interrompendo ogni comando

Ciò può essere normale, a seconda della modalità e delle regole di permesso. Le opzioni includono:

  • Passare temporaneamente a acceptEdits (le modifiche ai file scorrono più velocemente).
  • Scrivere regole di permesso 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 lo supportano, come terreno intermedio.

Qualcosa non torna e hai bisogno di osservabilità

Usa gli strumenti integrati:

  • /doctor per validare installazione e impostazioni.
  • /debug per iniziare a catturare log da quel punto in poi.
  • Se sei in modalità stampa, considera un budget massimo stretto e un numero massimo di turni per mantenere gli esperimenti limitati.

La posizione di Claude Code come strumento first-party protetto di Anthropic è diventata strategicamente significativa nell’aprile 2026, quando Anthropic ha bloccato l’accesso all’abbonamento Claude per i framework di agenti di terze parti mantenendo Claude Code sulla fatturazione dell’abbonamento. La [linea temporale della nascita e caduta di OpenClaw](https://www.glukhov.org/it/ai-systems/openclaw/openclaw-rise-and-fall-timeline/ “Come OpenClaw è cresciuto fino a 247.000 stelle GitHub e poi è crollato quando Anthropic ha bloccato l’accesso all’abbonamento Claude.”}) copre quell’evento e ciò che rivela sull’approccio di Anthropic alla strumentazione first-party rispetto a quella di terze parti.

Iscriviti

Ricevi nuovi articoli su sistemi, infrastruttura e ingegneria AI.