Installation och konfiguration av Claude Code för Ollama, llama.cpp samt prissättning

Agentbaserad kodning, nu med lokala modellbackends.

Sidinnehåll

Claude Code är inte bara autocomplete med bättre marknadsföring. Det är ett agentic-kodverktyg: det läser din kodbas, redigerar filer, kör kommandon och integreras med dina utvecklingsverktyg.

Den skillnaden är viktig eftersom arbetsenheten slutar vara “en kodrad” och börjar bli “en uppgift med ett sluttilstånd”.

Anthropic beskriver skillnaden tydligt: kodkomplettering föreslår nästa rad när du skriver, medan Claude Code arbetar på projekt nivå, planerar över flera filer, utför ändringar, kör tester och itererar över fel. I praktiken gör det det mer likt en terminalbaserad juniorutvecklare som kan utföra rutinuppgifter snabbt, men som fortfarande behöver granskning.

Spänningen mellan hastighet och övervakning är en stor del av det som människor sammanfattar under begreppet “vibe coding”; Vad är Vibe Coding? bryter ner termen, var den kommer ifrån, och vad effektivitet och risk ser ut som i praktiken.

laptop-homeresver-claude-code-coffee-books

En detalj som är lätt att missa när man skummar dokumentationen: Terminal-CLI:n (och VS Code-ytan) kan konfigureras för att använda tredjepartsleverantörer. Där kommer Ollama och llama.cpp in i bilden.

När Claude Code pekas mot en lokal HTTP-slutpunkt, ligger avvägningarna för runtime, hårdvara och hosting utanför klienten; den här jämförelsen av LLM-hosting 2026 ställer upp Ollama, dedikerade inferensstackar och molnalternativ på en och samma plats.

För att se hur Claude Code förhåller sig till andra AI-assisterade kod- och leveransarbetsflöden, den här guiden till AI-utvecklarverktyg samlar Copilot-liknande assistenter, automatisering och editor-mönster på en plats.

För en verktygsvis översikt över kodassistenter i samma kategori, Jämförelse av AI-kodassistenter går igenom Cursor, Copilot, Cline och resten på en högre nivå än denna installationsguide.

Installation av Claude Code och snabbstart

Installationsalternativ och vad de innebär

Det finns flera installationsvägar, och de är inte lika:

  • Inbyggda installationsscript är alternativet för “alltid aktuell” eftersom de uppdateras automatiskt.
  • Homebrew och WinGet är alternativet för “kontrollerad förändring” eftersom du uppgraderar explicit.

Installationskommandon (officiell snabbstart):

# 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

Starta sedan en interaktiv session från insidan av en projektmapp:

cd /path/to/your/project
claude

Inloggning och kontotyp

Claude Code kräver ett konto för att köras i first-party-läge. Snabbstartflödet stöder inloggning via ett Claude-abonnemang (Pro, Max, Team, Enterprise), ett Console-konto (API-krediter) eller stödda molnleverantörer. En användbar operational fotnot: vid första inloggningen i Console skapas ett “Claude Code”-arbetsområde för centraliserad kostnadsspårning.

Konfiguration av Claude Code: settings.json och miljövariabler

Om Claude Code känns magiskt när det fungerar, känns det ofta “mystiskt” när det inte gör det. Botemedlet är att förstå dess konfigurationsskikt och de få miljövariabler som faktiskt spelar roll.

Konfigurationsfiler och prioritet

Claude Codes inställningar är hierarkiska, med tre filer som är vända mot utvecklaren:

  • Användarscope, gäller överallt: ~/.claude/settings.json
  • Projektscope, delas i ett repo: .claude/settings.json
  • Lokalt scope, maskinspecifik åsidosättning: .claude/settings.local.json (gitignored)

Prioriteten är (högst till lägst): hanterad policy, CLI-flaggor, lokal, projekt, användare. Denna ordning förklarar flera ögonblick av “varför ignoreras min konfiguration”.

Du kan hantera inställningar interaktivt via kommandot /config, som öppnar ett inställningsgränssnitt inuti REPL:n.

Miljövariabler som styr leverantörsruttning

Claude Code kan styras vid körning av miljövariabler. Två beteendekuriosa bör behandlas som designbegränsningar:

  1. Om ANTHROPIC_API_KEY är inställd, kommer Claude Code att använda nyckeln istället för ett Claude-abonnemang även när du är inloggad. I print-läge (-p) används nyckeln alltid när den finns.

  2. Om ANTHROPIC_BASE_URL pekar på en host som inte är first-party (en proxy, gateway eller lokal server), är vissa funktioner avsiktligt konservativa. Till exempel är MCP-verktygssök inaktiverat som standard om du inte explicit aktiverar det igen.

För den specifika gräns för abonnemang som nu tillämpas i tredjepartsagentstackar, den här policyuppdateringen för Anthropic för OpenClaw-flöden förklarar varför API-baserad användning krävs.

Ett minimalt mönster för “använd en gateway” ser ut så här:

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

Notering om gateway: Claude Code förväntar sig vissa API-format. För Anthropic Messages-formatet måste gatewayen exponera /v1/messages och /v1/messages/count_tokens och måste vidarebefordra headern anthropic-beta och anthropic-version. Om en gateway avvisar dessa headrar finns det en dedikerad knapp för att ta bort experimentella betas.

Modellsval i Claude Code när du inte använder Anthropic direkt

Claude Code har ett koncept med alias (opus, sonnet, haiku) och stöder också att fästa specifika modell-ID:n. Det finns också en tillåtna-lista som kan begränsa vad användare kan välja i modellväljaren, även när de ruttas genom tredjepartsleverantörer.

Ett pragmatiskt mönster är att ställa in en initial modell och begränsa väljaren, och sedan fästa vad “standard” löses till via env:

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

Kör självhostade LLM via Ollama

Ollama är för närvarande det minst friktionsfyllda sättet att få Claude Code att köras på icke-Anthropic-modeller, eftersom det exponerar ett Anthropic-kompatibelt API för Claude Code att kommunicera med.

Snabb uppsättning med ollama launch

Om du har Ollama installerat och kört, är den snigla vägen:

ollama launch claude

Eller ange en modell vid start:

ollama launch claude --model glm-4.7-flash

Manuell uppsättning med explicita miljövariabler

Ollama-integrationen dokumenterar en enkel manuell koppling där Claude Code pratar med Ollama genom Anthropic-kompatibelt API-slutpunkt:

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

claude --model qwen3.5

Detta mönster är åsiktsfull på ett användbart sätt: det behandlar “leverantörsruttning” som en miljöfråga, inte något du klickar i en GUI.

Kontextfönster – verklighetskontroll

Agentic coding är kontextkrävande. Ollama pekar på det rakt ut: Claude Code kräver ett stort kontextfönster och rekommenderar minst 64k tokens. Om din lokala modell toppar vid 8k eller 16k, kommer Claude Code fortfarande att köras, men löftet om “projekt-nivå” blir skört.

För praktisk lokal modellbeteende i en liknande terminal-agent-uppsättning (Ollama och llama.cpp, koduppgifter och ärliga felnoter), Bästa LLM för OpenCode - Testat lokalt är en användbar korskontroll när du kortlistar GGUF eller Ollama-taggar för Claude Code.

Kör självhostade LLM via llama.cpp

llama.cpp är attraktiv av den motsatta anledningen: den försöker inte vara en plattform. Det är en snabb, lättvikt server som kan exponera både OpenAI-kompatibla routes och en Anthropic Messages API-kompatibel route.

För installationsvägar, llama-cli, och llama-server-beteende bortom klipporna nedan, llama.cpp Snabbstart med CLI och Server är referensen från start till slut.

Vad som ska köras på serversidan

llama.cpp:s HTTP-server (llama-server) stöder ett Anthropic-kompatibelt Messages API på POST /v1/messages, med streaming via SSE. Det erbjuder även count_tokens på /v1/messages/count_tokens.

Två detaljer är viktiga för Claude Code:

  • Servern gör explicit inte starka påståenden om full Anthropic API-specifik kompatibilitet, men påstår att den fungerar tillräckligt bra för många appar.
  • Verktyganvändning kräver att llama-server startas med –jinja-flaggan. Om du missar detta, kommer Claude Code att bete sig som om det plötsligt glömt hur man ska vara en agent.

En minimal lokal körning ser ut så här:

# Bygg eller ladda ner llama-server, kör sedan med en GGUF-modell
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080

Om du vill ha en hård auth-gräns, kan llama-server konfigureras med en API-nyckel:

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

Peka Claude Code mot llama-server

Med servern igång är din Claude Code-sida mestadels en base URL-åtsidoställning:

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key   # endast om du aktiverade --api-key på llama-server

claude --model your-model-alias

Om du inte ställer in en API-nyckel eller auth-token, kan Claude Code försöka falla tillbaka till abonnemangsinloggning, vilket är källan till många klagomål om “varför öppnar det en webbläsare”.

Hälsokontroller och första felsökning

llama-server exponerar en enkel health-slutpunkt som returnerar “loading model” tills modellen är redo, och “ok” när den är användbar. När Claude Code verkar hänga på den första begäran, är att kontrollera /health ett snabbt sätt att skilja “klientkonfigurationsbug” från “servern laddar fortfarande”.

Prisbild och kostnadsmodell

Claude Codes prissättning handlar mindre om “att köpa ett CLI” och mer om “vilken faktureringsbana som backar token”.

Abonnemangsplaner inkluderar Claude Code

Anthropic inkluderar Claude Code i betalda Claude-abonnemangsnivåer. Per april 2026 listar den publicerade prissättningen:

  • Pro till $17 per månad med årlig rabatt ($200 faktureras uppfront), eller $20 fakturerat månatligen, och det inkluderar Claude Code.
  • Max-planer från $100 per månad.
  • Team-planer prissatta per plats, med en standardplats till $20 per plats per månad fakturerat årligen ($25 månatligt) och en premiumplats till $100 per plats per månad fakturerat årligen ($125 månatligt).

API-tokenprissättning

Om du använder Claude Code via API-fakturerings, följer kostnaderna tokenrater. Anthropic publicerar per-miljon-token (MTok) prissättning för modeller såsom:

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

Kostnadskontroller i CLI

Print-läge (-p) stöder direkta budgetgränser som –max-budget-usd, vilket är användbart när du scriptar uppgifter och vill ha förutsägbar kostnad.

Inuti interaktiva sessioner visar /cost token-användningsstatistik.

Lokala backends ändrar fakturan, inte fysiken

Att rutta Claude Code till Ollama eller llama.cpp kan ta bort per-token API-fakturor, men det gör inte arbetet gratis. Du byter ut molnkostnader mot lokal beräkning, minne och “någon äger uptime”. För vissa team är den avvägningen hela punkten.

Typiskt arbetsflöde: från plan till PR

Min bias är att Claude Code är starkast när du behandlar det som en arbetsflödesmotor, inte en chattbot. Verktygen antyder detta.

Börja med tillståndsmodellen, inte prompten

Claude Code är tillståndsgatad av design. Dokumenten beskriver en trappstegsmodell: read-only-operationer som filinläsningar och grep är tillåtna, medan bash-kommandon och filmodifikationer behöver godkännande.

Tillståndsmodes finns för att hantera friktionen. I CLI:n kan du cykla modes med Shift+Tab (default -> acceptEdits -> plan). Plan-läge läser och föreslår ändringar men redigerar inte. acceptEdits-läge tillåter Claude Code att skapa och redigera filer i din arbetsmapp utan att prompta, men promptar fortfarande för kommandon med sidoeffekter utanför dess säkra lista.

Auto-läge är ett nyare alternativ som minskar prompts genom att delegera godkännanden till en klassificerare, positionerat som en säkrare mellangång mellan konstanta prompts och att inaktivera prompts helt. Det kräver en minimiversion av Claude Code och specifika plan- och modellkrav.

Använd inbyggda kommandon för att hålla sessioner ärliga

Få kommandon förvandlar Claude Code från “assistent” till “verktyg”:

  • /init genererar en CLAUDE.md-projektguide, vilket är ett lättviktigt sätt att mata in konsekvent kontext. För återanvändbara playbooks och upprepbara arbetsflöden som sitter ovanför CLAUDE.md, Claude Skills för utvecklare täcker SKILL.md-layout, IDE-kompatibilitet, triggerjustering och testning.
  • /diff ger en interaktiv vy av ändringar, inklusive per-turn diffs.
  • /rewind låter dig spola tillbaka konversation och/eller kod till en tidigare punkt, med hjälp av checkpoints.
  • /debug aktiverar debug-loggning mitt i sessionen.
  • /doctor diagnostiserar och verifierar din installation och inställningar.

Detta är inte gimmicks; de är säkerhetsstolarna du lutar dig mot när en agent redigerar mer än du förväntade dig.

När att gå non-interactive

För one-shot-uppgifter (förklara, sammanfatta, generera en patchplan), är print-läge ett bra val:

claude -p "Sammanfatta repository-arkitekturen och lista de riskfylldaste modulerna"

Det avslutas efter svaret, vilket fungerar bra i scripts och CI.

Felsökningschecklista

De flesta Claude Code-problem är konfigurationsproblem i smyg. Här är en checklista som kartlägger vanliga symtom till den underliggande mekanismen.

Claude Code fortsätter att be om inloggning medan den använder en lokal server

Detta betyder vanligtvis att Claude Code fortfarande försöker använda first-party-abonnemangsauth. Se till att du ställer in ett explicit auth-läge för proxy:n:

  • Ställ in ANTHROPIC_API_KEY för gateways som förväntar sig X-Api-Key.
  • Eller ställ in ANTHROPIC_AUTH_TOKEN för gateways som använder Authorization Bearer.

Kom ihåg att ANTHROPIC_API_KEY åsidosätter abonnemangsanvändning även om du är inloggad, och i interaktivt läge kan du behöva godkänna den åsidosättningen en gång.

Gateway-fel på anthropic-beta-headrar

Vissa gateways avvisar okända headrar eller beta-fält. Det finns en miljövariabel designad för exakt detta felmode:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

LLM-gatewaydokumentationen noterar också att du kan behöva detta när du använder Anthropic Messages-formatet med Bedrock eller Vertex.

Verktyganrop fungerar inte på llama.cpp

Dubbelkolla serverflaggorna. llama-server dokumenterar att verktyganvändning kräver –jinja-flaggan. Utan den kan servern svara, men agentloopen kommer att försämras.

Tillståndsprompts avbryter varje kommando

Det kan vara normalt, beroende på mode och tillståndsregler. Alternativ inkluderar:

  • Byta till acceptEdits tillfälligt (fileredigeringsflödet går snabbare).
  • Skriv explicit tillåtna regler för kända säkra bash-kommandon i settings.json.
  • Använda /sandbox för att isolera bash-verktyget medan du minskar prompts.
  • Utvärdera auto-läge om din plan och version stöder det, som en mellangång.

Något känns fel och du behöver observability

Använd inbyggda funktioner:

  • /doctor för att validera installation och inställningar.
  • /debug för att börja fånga loggar från den punkten och framåt.
  • Om du är i print-läge, överväg en tight max budget och max turns för att hålla experiment begränsade.

Claude Codes position som Anthropics skyddade first-party-verktyg blev strategiskt betydande i april 2026, när Anthropic blockerade åtkomst till Claude-abonnemang för tredjepartsagentramverk medan de behöll Claude Code på abonnemangsfakturerings. OpenClaws uppgång och fall-tidslinje täcker den händelsen och vad den avslöjar om Anthropics approach till first-party kontra third-party-verktyg.

Prenumerera

Få nya inlägg om system, infrastruktur och AI-ingenjörskonst.