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

Agentisch programmeren, nu met lokale modelbackends.

Inhoud

Claude Code is geenautocomplete met beter marketing. Het is een agentisch hulpmiddel voor coderen: het leest uw codebasis, bewerkt bestanden, voert commando’s uit en integreert met uw ontwikkeltools.

Dat verschil is van belang omdat de eenheid van werk ophoudt met “een regel code” en begint met “een taak met een eindtoestand”.

Anthropic schetst het onderscheid helder: code-completie suggereert de volgende regel terwijl u typt, terwijl Claude Code op projectniveau werkt, plannen maakt over meerdere bestanden, wijzigingen uitvoert, tests draait en iteraties doet op basis van mislukkingen. In de praktijk komt dat dichter bij een terminal-native junior engineer die taken snel kan afhandelen, maar nog steeds toezicht nodig heeft.

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

laptop-homeresver-claude-code-coffee-books

Een detail dat makkelijk over het hoofd wordt gezien bij het scannen van documentatie: de Terminal CLI (en de VS Code-interface) kan worden geconfigureerd om third-party providers te gebruiken. Dat is waar Ollama en llama.cpp in het beeld komen.

Zodra Claude Code is ingesteld op een lokaal HTTP-endpoint, zitten de runtime, hardware en hosting-afwegingen buiten de client; dit vergelijk van LLM-hosting in 2026 zet Ollama, dedicated inferentie-stacks en cloud-opties op één plek neer.

Om te zien hoe Claude Code past naast andere AI-gestuurde coderings- en leveringsworkflows, deze gids voor AI-ontwikkeltools verzamelt Copilot-stijl assistenten, automatisering en editorpatronen op één plek.

Voor een tool-voor-tool overzicht van coderingsassistenten in dezelfde categorie, AI Coding Assistants Comparison behandelt Cursor, Copilot, Cline en de rest op een hoger niveau dan deze installatiegids.

Installatie en quickstart van Claude Code

Installatie-opties en wat ze impliceren

Er zijn verschillende installatiepaden, en ze zijn niet gelijk:

  • Native installatiescripts zijn de “altijd actueel” optie omdat ze automatisch updaten.
  • Homebrew en WinGet zijn de “gecontroleerde wijziging” optie omdat u expliciet upgrade.

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 in de eerste partij-modus te draaien. De quickstart-flow ondersteunt inloggen via een Claude-abonnement (Pro, Max, Team, Enterprise), een Console-account (API-credits) of ondersteunde cloudproviders. Een nuttige operationele noot: bij de eerste Console-login wordt een “Claude Code”-workspace aangemaakt voor gecentraliseerde kostentracking.

Configuratie van Claude Code: settings.json en omgevingsvariabelen

Als Claude Code magisch voelt wanneer het werkt, voelt het vaak “mysterieus” wanneer het niet werkt. De remedie is het begrijpen van de configuratielaag en de weinige omgevingsvariabelen die er echt toe doen.

Instellingsbestanden en prioriteit

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

  • 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”.

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

Omgevingsvariabelen die provider-routing controleren

Claude Code kan op runtime worden bestuurd door omgevingsvariabelen. Twee gedragseigenheden verdienen het om als ontwerpbeperkingen te worden behandeld:

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

  2. Als ANTHROPIC_BASE_URL naar een niet-eerste partij-host wijst (een proxy, gateway of lokale server), zijn sommige functies opzettelijk conservatief. Bijvoorbeeld, MCP-tool-zoekopdracht is standaard uitgeschalden tenzij u het expliciet opnieuw inschakelt.

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

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

Gateway-opmerking: Claude Code verwacht bepaalde API-formaten. Voor het Anthropic Messages-formaat moet de gateway /v1/messages en /v1/messages/count_tokens blootstellen en anthropic-beta en anthropic-version-headers doorsturen. Als een gateway die headers verwijst, is er een dedicated knop om experimentele beta’s te verwijderen.

Modelselectie in Claude Code als u 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 toelatijst die kan beperken wat gebruikers kunnen selecteren in de modelkiezer, zelfs als het wordt gerouteerd via third-party providers.

Een pragmatisch patroon is om een beginmodel in te stellen en de kiezer te beperken, en vervolgens vast te stellen wat “default” resolveert via env:

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

Uitvoeren van zelfgehoste LLM’s via Ollama

Ollama is momenteel de manier met de minst frictie om Claude Code te laten draaien op niet-Anthropic-modellen, omdat het een Anthropic-compatibele API blootlegt waarmee Claude Code kan praten.

Snelle instelling met ollama launch

Als u Ollama hebt geïnstalleerd en draait, is het snelle pad:

ollama launch claude

Of specificeer een model bij het opstarten:

ollama launch claude --model glm-4.7-flash

Handmatige instelling met expliciete omgevingsvariabelen

De Ollama-integratie documenteert een eenvoudige handmatige bedrading waarbij Claude Code met Ollama praat 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 opiniërend: het behandelt “provider-routing” als een omgevingsprobleem, niet als iets dat u in een GUI klikt.

Realiteitscheck van contextvenster

Agentisch coderen is context-hongerig. Ollama noemt het bluntly: Claude Code vereist een groot contextvenster en beveelt ten minste 64k tokens aan. Als uw lokale model stopt bij 8k of 16k, zal Claude Code nog steeds draaien, maar de “projectniveau”-belofte wordt kwetsbaar.

Voor hands-on lokaal modelgedrag in een vergelijkbare terminal-agent-opstelling (Ollama en llama.cpp, coderingstaken en eerlijke mislukkingen-notities), Beste LLM’s voor OpenCode - Lokaal getest is een nuttig kruis-check wanneer u GGUF of Ollama-tags shortlist voor Claude Code.

Uitvoeren van zelfgehoste LLM’s via llama.cpp

llama.cpp is aantrekkelijk om de tegenovergestelde reden: het probeert geen platform te zijn. Het is een snelle, lichte 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 eind-tot-eind referentie.

Wat er op de serverkant moet draaien

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 belangrijk voor Claude Code:

  • De server maakt expliciet geen sterke claims van volledige Anthropic API-spec-compatibiliteit, maar stelt dat het goed genoeg werkt voor veel apps.
  • Tool-gebruik vereist dat llama-server wordt gestart met de –jinja-vlag. Als u dit mist, zal Claude Code zich gedragen alsof het plotseling vergeet hoe het een agent moet zijn.

Een minimale lokale run ziet er zo uit:

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

Als u 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 uw Claude Code-kant voornamelijk een base URL-overriding:

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

claude --model your-model-alias

Als u geen API-sleutel of authtoken instelt, kan Claude Code proberen terug te vallen op abonnementslogin, wat de bron is van veel “waarom opent het een browser”-klachten.

Gezondheidscontroles en eerste mislukkingstriage

llama-server exposeert een eenvoudig gezondheids-endpoint dat “model laden” retourneert totdat het model klaar is, en “ok” wanneer het bruikbaar is. Wanneer Claude Code lijkt vast te lopen op de eerste verzoek, is het controleren van /health een snelle manier om “client-config bug” van “server nog steeds laden” te onderscheiden.

Prijzen en kostenmodel

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

Abonnementenplannen omvatten Claude Code

Anthropic omvat Claude Code in betaalde Claude-abonnementstiers. Per april 2026, de gepubliceerde prijzenlijst:

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

API-tokenprijzen

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

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

Kostencontroles in de CLI

Print-modus (-p) ondersteunt directe begrotingslimieten zoals –max-budget-usd, wat handig is wanneer u taken script en voorspelbare uitgaven wilt.

Binnen interactieve sessies, toont /cost token-gebruikstatistieken.

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. U wisselt cloudkosten in voor lokaal berekenen, geheugen en “iemand bezit uptime”. Voor sommige teams is die trade-off het hele punt.

Typische workflow: van plan naar PR

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

Begin met het toestemmingsmodel, niet de prompt

Claude Code is toestemmingsbeperkt door ontwerp. De docs beschrijven een gelaagd model: alleen-lezen operaties zoals bestandlezingen en grep zijn toegestaan, terwijl bash-commando’s en bestandswijzigingen goedkeuring nodig hebben.

Toestemmingsmodi bestaan om de wrijving te beheren. In de CLI kunt u modussen cyclen met Shift+Tab (standaard -> acceptEdits -> plan). Plan-modus leest en stelt wijzigingen voor maar bewerkt niet. acceptEdits-modus stelt Claude Code toe bestanden te maken en te bewerken in uw werkmap zonder te vragen, maar vraagt nog steeds voor commando’s met bijwerkingen 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 minimum Claude Code-versie en specifieke plan- en modelvereisten.

Gebruik ingebouwde commando’s om sessies eerlijk te houden

Een paar commando’s zetten Claude Code van “assistent” naar “tooling”:

  • /init genereert een CLAUDE.md projectgids, wat een lichtgewicht manier is om consistente context te voeden.
  • /diff geeft een interactieve weergave van wijzigingen, inclusief per-turn diffs.
  • /rewind stelt u in staat conversatie en/of code terug te draaien naar een eerdere punt, met checkpoints.
  • /debug schakelt debug-loggen in tijdens de sessie.
  • /doctor diagnosticeert en verifieert uw installatie en instellingen.

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

Wanneer niet-interactief gaan

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

claude -p "Samenvatten van de repository-architectuur en lijst van de riskantie modules"

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

Probleemoplossingscontrolelijst

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

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

Dit betekent typisch dat Claude Code nog steeds probeert eerste-partij abonnementsauth te gebruiken. Zorg dat u 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 abonnementsgebruik override zelfs als u bent ingelogd, en in interactieve modus moet u 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 deze exacte mislukking-modus:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

De LLM-gateway-documentatie merkt ook op dat u dit nodig kunt hebben bij het gebruik van het Anthropic Messages-formaat met Bedrock of Vertex.

Toolcalling werkt niet op llama.cpp

Controleer servervlaggen dubbel. llama-server documenteert dat tool-gebruik de –jinja-vlag vereist. Zonder het kan de server reageren, maar de agent-loop zal verslechteren.

Toestemmingsprompts onderbreken elk commando

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

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

Iets voelt fout en u heeft observabiliteit nodig

Gebruik de ingebouwen:

  • /doctor om installatie en instellingen te valideren.
  • /debug om vanaf dat punt logs te beginnen vast te leggen.
  • Als u in print-modus bent, overweeg een strakke maximale begroting en maximale beurten om experimenten begrensd te houden.