Installatie en configuratie van Claude Code voor Ollama en llama.cpp, prijs

Agentic coding, nu met lokale modelbackends.

Inhoud

Claude Code is geen autocomplete met betere marketing. Het is een agentische codeer-tool: het leest je codebase, bewerkt bestanden, voert commando’s uit en integreert met je ontwikkeltools.

Dat verschil is van belang, omdat de eenheid van werk niet langer “een regel code” is, maar “een taak met een eindstatus”.

Anthropic schetst het onderscheid duidelijk: code-completering suggereert de volgende regel terwijl je typt, terwijl Claude Code op projectniveau werkt, plannen maakt over meerdere bestanden heen, wijzigingen uitvoert, tests draait en iteratief werkt bij fouten. In de praktijk maakt dit het dichter bij een terminal-native junior engineer die klussen snel kan doen, maar nog steeds review nodig heeft.

Die spanning tussen snelheid en toezicht is een groot deel van wat mensen onder “vibe coding” samenvatten; Wat is Vibe Coding? deconstructeert de term, waar het vandaan komt en hoe efficiëntie en risico er in de praktijk uitzien.

laptop-homeresver-claude-code-coffee-books

Een detail dat gemakkelijk over het hoofd wordt gezien bij het doorslaan van documentatie: de Terminal CLI (en de VS Code-omgeving) kan worden geconfigureerd om gebruik te maken van providers van derden. Daar komen Ollama en llama.cpp om de hoek kijken.

Zodra Claude Code is aangewezen op een lokaal HTTP-endpoint, liggen de afwegingen rond runtime, hardware en hosting buiten de client; deze vergelijking van LLM-hosting in 2026 stelt Ollama, dedicated inference-stacks en cloudopties op één plek naast elkaar.

Om te zien hoe Claude Code zich verhoudt tot andere AI-gestuurde codeer- en delivery-workflows, deze gids voor AI-ontwikkeltools brengt Copilot-achtige assistants, automatisering en editorpatronen op één plek samen.

Voor een tool-voor-tool overzicht van codeer-assistants in dezelfde categorie, Vergelijking AI Codeer-Assistants loopt door Cursor, Copilot, Cline en de rest op een hoger niveau dan deze installatiegids.

Claude Code installatie en quickstart

Installatieopties en wat deze impliceren

Er zijn verschillende installatiepaden, en deze zijn niet gelijkwaardig:

  • Native installatiescripts zijn de “altijd actuele” optie omdat ze automatisch updaten.
  • Homebrew en WinGet zijn de “gecontroleerde verandering” optie omdat je expliciet upgradet.

Installatiecommando’s (officiële quickstart):

# 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

Start vervolgens een interactieve sessie vanuit een projectmap:

cd /path/to/your/project
claude

Inloggen en accounttypes

Claude Code heeft een account nodig om te draaien in de first-party-modus. De quickstart-flow ondersteunt inloggen via een Claude-abonnement (Pro, Max, Team, Enterprise), een Console-account (API-credits) of ondersteunde cloudproviders. Een nuttige operationele voetnoot: bij het eerste inloggen op Console wordt een “Claude Code”-workspace aangemaakt voor gecentraliseerd kostencost-tracking.

Claude Code-configuratie: settings.json en omgevingsvariabelen

Als Claude Code magisch aanvoelt als het werkt, voelt het vaak “mysterieus” aan als het niet werkt. Het geneesmiddel is het begrijpen van de configuratielagen en de paar omgevingsvariabelen die daadwerkelijk belangrijk zijn.

Configuratiebestanden en prioriteit

Claude Code-instellingen zijn hiërarchisch, met drie voor ontwikkelaars zichtbare bestanden:

  • Gebruikersomvang, geldt overal: ~/.claude/settings.json
  • Projectomvang, gedeeld in een repo: .claude/settings.json
  • Lokale omvang, overrides per machine: .claude/settings.local.json (gitignored)

Prioriteit is (van hoog naar laag): beheerd beleid, CLI-vlaggen, lokaal, project, gebruiker. Die volgorde verklaart enkele momenten van “waarom wordt mijn configuratie genegeerd”.

Je kunt instellingen interactief beheren via de /config-commando, die een instellingen-UI opent binnen de REPL.

Omgevingsvariabelen die provider-routing controleren

Claude Code kan tijdens runtime worden gestuurd door omgevingsvariabelen. Twee gedragingspecifieke bijzonderheden zijn het waard om te worden behandeld als ontwerpspecificaties:

  1. Als ANTHROPIC_API_KEY is ingesteld, zal Claude Code de sleutel gebruiken in plaats van een Claude-abonnement, zelfs als je bent ingelogd. In print-modus (-p) wordt de sleutel altijd gebruikt wanneer deze aanwezig is.

  2. Als ANTHROPIC_BASE_URL wijst naar een non-first-party host (een proxy, gateway of lokale server), zijn sommige functies intentioneel conservatief. Bijvoorbeeld, MCP-toolzoektocht is standaard uitgeschreven tenzij je het expliciet opnieuw inschakelt.

Voor de specifieke abonnementsgrens die nu wordt afgedwongen in agent-stacks van derden, deze Anthropic-beleidswijziging voor OpenClaw-workflows legt uit waarom API-gestroomdeeld gebruik verplicht is.

Een minimaal “gebruik een gateway”-patroon ziet er als volgt uit:

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

Gateway-opmerking: Claude Code verwacht bepaalde API-indelingen. Voor de Anthropic Messages-indeling moet de gateway /v1/messages en /v1/messages/count_tokens blootstellen en moet deze anthropic-beta- en anthropic-version-headers doorsturen. Als een gateway die headers afwijst, is er een speciale knop om experimentele betas te verwijderen.

Modelselectie in Claude Code als je niet direct Anthropic gebruikt

Claude Code heeft een concept van aliasen (opus, sonnet, haiku) en ondersteunt ook het vastpinnen van specifieke model-ID’s. Er is ook een whitelist die kan beperken wat gebruikers kunnen selecteren in de modelkiezer, zelfs als er wordt geroeteerd via providers van derden.

Een pragmatisch patroon is om een initieel model in te stellen en de kiezer te beperken, en vervolgens te pinnen wat “default” oplost via env:

{
  "model": "claude-sonnet-4-5",
  "availableModels": ["claude-sonnet-4-5", "haiku"],
  "env": {
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
  }
}

Zelfgehoste LLM’s uitvoeren via Ollama

Ollama is momenteel de manier met de minste wrijving om Claude Code te laten draaien op non-Anthropic-modellen, omdat het een Anthropic-compatibele API blootlegt waar Claude Code mee kan communiceren.

Snel instellen met ollama launch

Als je Ollama hebt geïnstalleerd en draaiend, is het snelle pad:

ollama launch claude

Of specificeer een model bij het starten:

ollama launch claude --model glm-4.7-flash

Handmatige setup met expliciete omgevingsvariabelen

De Ollama-integratie documenteert een eenvoudige handmatige koppeling waarbij Claude Code communiceert met Ollama via het Anthropic-compatibele API-endpoint:

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434

claude --model qwen3.5

Dit patroon is op een nuttige manier gedifferentieerd: het behandelt “provider-routing” als een omgevingsaangelegenheid, niet als iets dat je klikt in een GUI.

Realiteitscheck contextvenster

Agentisch coderen is context-hongerig. Ollama noemt het recht uit: Claude Code vereist een groot contextvenster en adviseert minstens 64k tokens. Als je lokale model uitkomt op 8k of 16k, zal Claude Code nog steeds draaien, maar wordt de belofte van “projectniveau” fragiel.

Voor hands-on gedrag van lokale modellen in een vergelijkbare terminal-agent-opstelling (Ollama en llama.cpp, codeertaken en eerlijke foutopmerkingen), [Beste LLM’s voor OpenCode - Lokaal getest](https://www.glukhov.org/nl/ai-devtools/opencode/llms-comparison/ “Hands-on vergelijking van LLM’s in OpenCode - lokale Ollama- en llama.cpp-modellen versus cloud. Codeertaken, statistieken over de nauwkeurigheid van migratiemaps en eerlijke foutanalyse.) is een nuttige cross-check als je GGUF- of Ollama-tags shortlist voor Claude Code.

Zelfgehoste LLM’s uitvoeren via llama.cpp

llama.cpp is aantrekkelijk om de tegenovergestelde reden: het probeert geen platform te zijn. Het is een snelle, lichtgewicht server die zowel OpenAI-compatibele routes als een Anthropic Messages API-compatibele route kan blootstellen.

Voor installatiepaden, llama-cli en llama-server-gedrag buiten de onderstaande fragmenten, llama.cpp Quickstart met CLI en Server is de end-to-end referentie.

Wat te draaien aan de serverkant

De llama.cpp HTTP-server (llama-server) ondersteunt een Anthropic-compatibele Messages API op POST /v1/messages, met streaming via SSE. Het biedt ook count_tokens op /v1/messages/count_tokens.

Twee details zijn van belang voor Claude Code:

  • De server maakt expliciet geen sterke claims over volledige compatibiliteit met de Anthropic API-specificatie, maar stelt dat het goed genoeg werkt voor veel apps.
  • Gebruik van tools vereist het starten van llama-server met de –jinja-vlag. Als je dit mist, zal Claude Code zich gedragen alsof het plotseling is vergeten hoe het een agent moet zijn.

Een minimale lokale run ziet er als volgt uit:

# Build of download llama-server, voer vervolgens uit met een GGUF-model
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080

Als je een harde auth-grens wilt, kan llama-server worden geconfigureerd met een API-sleutel:

./llama-server -m /models/your-model.gguf --jinja --api-key my-local-key --host 127.0.0.1 --port 8080

Wijs Claude Code naar llama-server

Met de server draaiend, is je Claude Code-kant grotendeels een base URL override:

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key   # alleen als je --api-key hebt ingeschakeld op llama-server

claude --model your-model-alias

Als je geen API-sleutel of auth-token instelt, kan Claude Code proberen terug te vallen op abonnement-inlog, wat de bron is van veel “waarom opent het een browser”-klachten.

Health checks en eerste fouttriage

llama-server blootst een eenvoudig health-endpoint dat “loading model” retourneert tot het model klaar is, en “ok” wanneer het bruikbaar is. Wanneer Claude Code lijkt vast te lopen bij het eerste verzoek, is het controleren van /health een snelle manier om een “client-configuratiebug” te onderscheiden van “server laadt nog”.

Prijzen en kostenmodel

Claude Code-prijzen gaan minder over “een CLI kopen” en meer over “welke betalingsrail de tokens ondersteunt”.

Abonnementsplannen omvatten Claude Code

Anthropic bevat Claude Code in betaalde Claude-abonnementslagen. Per april 2026 lijsten de gepubliceerde prijzen:

  • Pro voor $17 per maand met een jaarlijkse korting ($200 vooraf gefactureerd), of $20 maandelijks gefactureerd, en het bevat Claude Code.
  • Max-plannen beginnend bij $100 per maand.
  • Team-plannen geprijsd per seat, met een standaard seat voor $20 per seat per maand jaarlijks gefactureerd ($25 maandelijks) en een premium seat voor $100 per seat per maand jaarlijks gefactureerd ($125 maandelijks).

API-tokenprijzen

Als je Claude Code gebruikt via API-facturatie, volgen de kosten tarieven per token. Anthropic publiceert per-miljoen-token (MTok) prijzen voor modellen zoals:

  • Haiku 4.5 voor $1/MTok invoer en $5/MTok uitvoer.
  • Sonnet 4.5 voor $3/MTok invoer en $15/MTok uitvoer.
  • Opus 4.5 voor $5/MTok invoer en $25/MTok uitvoer.

Kostencontroles in de CLI

Print-modus (-p) ondersteunt directe budgetcaps zoals –max-budget-usd, wat handig is als je taken scripteert en voorspelbare uitgaven wilt.

Binnen interactieve sessies toont /cost token-gebruiksstatistieken.

Lokale backends veranderen de rekening, niet de fysica

Het routeren van Claude Code naar Ollama of llama.cpp kan per-token API-rekeningen verwijderen, maar het maakt het werk niet gratis. Je wisselt cloudkosten in voor lokale compute, geheugen en “iemand beheert uptime”. Voor sommige teams is die trade-off het hele punt.

Typische workflow: van plan tot PR

Mijn bias is dat Claude Code het sterkst is wanneer je het behandelt als een workflow-engine, niet als een chatbot. De tooling suggereert dit.

Begin met het permissiemodel, niet de prompt

Claude Code is per ontwerp permissie-geheind. De docs beschrijven een gelaagd model: read-only-operaties zoals bestandlezingen en grep zijn toegestaan, terwijl bash-commando’s en bestandswijzigingen goedkeuring nodig hebben.

Permissiemodi bestaan om de wrijving te beheren. In de CLI kun je modi wisselen met Shift+Tab (standaard -> acceptEdits -> plan). Plan-modus leest en stelt wijzigingen voor, maar bewerkt niet. acceptEdits-modus stelt Claude Code in staat bestanden te maken en te bewerken in je werkmap zonder te vragen, maar blijft vragen voor commando’s met bijeffecten buiten zijn veilige lijst.

Auto-modus is een nieuwere optie die prompts vermindert door goedkeuringen af te dragen aan een classifier, gepositioneerd als een veiligere middenweg tussen constante prompts en het volledig uitschakelen van prompts. Het vereist een minimale Claude Code-versie en specifieke plan- en modelvereisten.

Gebruik ingebouwde commando’s om sessies eerlijk te houden

Enkele commando’s zetten Claude Code om van “assistent” naar “tooling”:

  • /init genereert een CLAUDE.md-projectgids, wat een lichtgewicht manier is om consistente context te voeden. Voor herbruikbare playbooks en herhaalbare workflows die boven CLAUDE.md zitten, Claude Skills voor ontwikkelaars behandelt SKILL.md-layout, IDE-compatibiliteit, triggerafstemming en testen.
  • /diff geeft een interactief overzicht van wijzigingen, inclusief diffs per beurt.
  • /rewind stelt je in staat conversatie en/of code terug te draaien naar een eerder punt, met behulp van checkpoints.
  • /debug stelt debug-loggen in tijdens de sessie.
  • /doctor diagnosticeert en verifieert je installatie en instellingen.

Dit zijn geen gimmicks; het zijn de veiligheidsrails waarop je leunt wanneer een agent meer bewerkt dan je verwachtte.

Wanneer niet-interactief gaan

Voor one-shot taken (uitleggen, samenvatten, een patchplan genereren) is print-modus een goede fit:

claude -p "Summarise the repository architecture and list the riskiest modules"

Het sluit na het antwoord, wat goed werkt in scripts en CI.

Probleemoplossingschecklist

De meeste Claude Code-problemen zijn in vermomming configuratieproblemen. Hier is een checklist die veelvoorkomende symptomen koppelt aan de onderliggende mechanisme.

Claude Code blijft vragen om in te loggen terwijl een lokale server wordt gebruikt

Dit betekent meestal dat Claude Code nog steeds probeert te gebruiken first-party-abonnementauth. Zorg ervoor dat je een expliciete auth-modus instelt voor de proxy:

  • Stel ANTHROPIC_API_KEY in voor gateways die X-Api-Key verwachten.
  • Of stel ANTHROPIC_AUTH_TOKEN in voor gateways die Authorization Bearer gebruiken.

Onthoud dat ANTHROPIC_API_KEY abonnementgebruik overschrijft, zelfs als je bent ingelogd, en in interactieve modus moet je die override mogelijk eenmaal goedkeuren.

De gateway geeft fouten op anthropic-beta-headers

Sommige gateways wijzen onbekende headers of beta-velden af. Er is een omgevingsvariabele ontworpen voor dit exacte faalmodus:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

De LLM-gateway-documentatie merkt ook op dat je dit mogelijk nodig hebt bij het gebruik van de Anthropic Messages-indeling met Bedrock of Vertex.

Tool calling werkt niet op llama.cpp

Controleer de servervlaggen. llama-server documenteert dat toolgebruik de –jinja-vlag vereist. Zonder deze kan de server reageren, maar de agent-loop zal degraderen.

Permissieprompts onderbreken elk commando

Dat kan normaal zijn, afhankelijk van modus en permissieregels. Opties zijn:

  • Tijdelijk overschakelen naar acceptEdits (bestandbewerkingen vloeien sneller).
  • Het schrijven van expliciete toelaatregels voor bekende veilige bash-commando’s in settings.json.
  • Het gebruik van /sandbox om het bash-tool te isoleren terwijl prompts worden verminderd.
  • Het evalueren van auto-modus als je plan en versie het ondersteunen, als middenweg.

Iets voelt niet goed en je hebt observability nodig

Gebruik de ingebouwden:

  • /doctor om installatie en instellingen te valideren.
  • /debug om het vastleggen van logs vanaf dat punt te starten.
  • Als je in print-modus bent, overweeg dan een strak max budget en max turns om experimenten gebonden te houden.

De positie van Claude Code als beschermd first-party-instrument van Anthropic werd strategisch significant in april 2026, toen Anthropic toegang tot Claude-abonnementen blokkeerde voor agent-frameworks van derden, terwijl het Claude Code op abonnementsfacturatie hield. De OpenClaw-rise-and-fall-tijdlijn behandelt dat evenement en wat het onthult over de aanpak van Anthropic ten aanzien van first-party versus third-party tooling.

Abonneren

Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.