Installation och konfiguration av Claude Code för Ollama, llama.cpp samt prissättning
Agentbaserad kodning, nu med lokala modellbackends.
Claude Code är inte bara autocompletion med bättre marknadsföring. Det är ett agenterat verktyg för kodning: 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 slutskick”.
Anthropic beskriver skillnaden tydligt: kodkomplettering föreslår nästa rad medan du skriver, medan Claude Code opererar på projektnivå, planerar över flera filer, utför ändringar, kör tester och itererar på misslyckanden. I praktiken gör det det närmare en juniorutvecklare inbyggd i terminalen som kan utföra uppgifter snabbt, men fortfarande behöver granskning.
Den spänning mellan hastighet och tillsyn är mycket av det som folk sammanfattar med begreppet “vibe coding”; Vad är Vibe Coding? bryter ner termen, var den kommer ifrån, och vad effektivitet och risk ser ut i praktiken.

En detalj som är lätt att missa när man skummar dokumentationen: Terminal-CLI:n (och gränssnittet i VS Code) kan konfigureras att använda tredjepartsleverantörer. Det är där Ollama och llama.cpp kommer in.
När Claude Code pekas mot en lokal HTTP-endpunkt, ligger kompromisserna kring runtime, hårdvara och hosting utanför klienten; jämförande av LLM-hosting 2026 samlar Ollama, dedikerade inferensstackar och molnalternativ på en plats.
För att se hur Claude Code passar in bredvid andra AI-assisterade kodnings- och leveransflöden, denna guide till AI-utvecklarkyrk samlar Copilot-liknande assistenter, automatisering och redigeringsmönster på en plats.
För en verktygspecifik översikt av kodningsassistenter i samma kategori, Jämförelse av AI-kodningsassistenter går igenom Cursor, Copilot, Cline och resten på en högre nivå än denna installationsguide.
Installation och snabbstart för Claude Code
Installationsalternativ och vad de innebär
Det finns flera installationsvägar, och de är inte lika:
- Inbyggda installationsskript är alternativet för “alltid aktuellt” eftersom de uppdaterar 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 ett interaktivt session från inuti en projektmapp:
cd /path/to/your/project
claude
Inloggning och kontotyp
Claude Code behöver ett konto för att köras i första-partis-läge. Snabbstartsförloppet 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 för Claude Code: settings.json och miljövariabler
Om Claude Code känns magiskt när det fungerar, känns det ofta “mysteriöst” när det inte gör det. Botemedlet är att förstå dess konfigurationsskikt och de få miljövariabler som faktiskt spelar roll.
Inställningsfiler och prioritet
Claude Code-inställningar är hierarkiska, med tre filer som är vänd mot utvecklare:
- Användarscope, gäller överallt: ~/.claude/settings.json
- Projektscope, delat i ett repo: .claude/settings.json
- Lokalt scope, per-maskin-överstyrningar: .claude/settings.local.json (gitignored)
Prioriteten är (högst till lägst): hanterad policy, CLI-flaggor, lokal, projekt, användare. Den ordningen förklarar flera “varför ignoreras min konfiguration”-ögonblick.
Du kan hantera inställningar interaktivt via /config-kommandot, som öppnar ett inställningsgränssnitt inuti REPL.
Miljövariabler som styr leverantörsroutning
Claude Code kan styras vid runtime av miljövariabler. Två beteendemässiga kuriositeter är värt att behandla som designbegränsningar:
-
Om ANTHROPIC_API_KEY är inställt, kommer Claude Code 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.
-
Om ANTHROPIC_BASE_URL pekar på en icke-första-parts-värd (en proxy, gateway eller lokal server), är vissa funktioner medvetet konservativa. Till exempel är MCP-verktygssökning inaktiverad som standard om du inte explicit återaktiverar den.
Ett minimalt “använda en gateway”-mönster ser ut så här:
export ANTHROPIC_BASE_URL=https://your-gateway.example
export ANTHROPIC_API_KEY=sk-your-key
Gateway-notering: Claude Code förväntar sig vissa API-format. För Anthropic Messages-formatet måste gatewayn exponera /v1/messages och /v1/messages/count_tokens och måste vidarebefordra anthropic-beta och anthropic-version-huvuden. Om en gateway avvisar dessa huvuden finns det en dedikerad knopp för att ta bort experimentella betas.
Modellval i Claude Code när du inte använder Anthropic direkt
Claude Code har ett koncept av alias (opus, sonnet, haiku) och stöder också att låsa specifika modell-ID:n. Det finns också en tillåtenlista som kan begränsa vad användare kan välja i modellväljaren, även när det routas genom tredjepartsleverantörer.
Ett pragmatiskt mönster är att sätta en initial modell och begränsa väljaren, och sedan låsa vad “standard” löser sig 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 lokalt hostade 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 prata med.
Snabb konfiguration med ollama launch
Om du har Ollama installerad och körande, är den snabba vägen:
ollama launch claude
Eller specificera en modell vid start:
ollama launch claude --model glm-4.7-flash
Manuell konfiguration med explicita miljövariabler
Ollama-integrationen dokumenterar en enkel manuell koppling där Claude Code pratar med Ollama genom Anthropic-kompatibelt API-endpunkter:
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model qwen3.5
Detta mönster är åsiktsfullt på ett användbart sätt: det behandlar “leverantörsroutning” som en miljöfråga, inte något du klickar i ett GUI.
Verklighetskontroll för kontextfönster
Agenterad kodning är kontextkrävande. Ollama lyfter det ut rakt ut: Claude Code kräver ett stort kontextfönster och rekommenderar minst 64k token. Om din lokala modell maxar ut vid 8k eller 16k, kommer Claude Code fortfarande att köras, men löftet om “projektnivå” blir skört.
För praktisk lokal modellbeteende i en liknande terminal-agent-konfiguration (Ollama och llama.cpp, kodningsuppgifter och ärliga misslyckandes anteckningar), Bästa LLM för OpenCode - Testat lokalt är en användbar korskontroll när du kortar ner GGUF- eller Ollama-taggar för Claude Code.
Kör lokalt hostade LLM via llama.cpp
llama.cpp är attraktiv av motsatt anledning: det försöker inte vara en plattform. Det är en snabb, lättviktig server som kan exponera både OpenAI-kompatibla vägar och en Anthropic Messages API-kompatibel väg.
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 mål.
Vad som ska köras på serversidan
llama.cpp HTTP-servern (llama-server) stöder ett Anthropic-kompatibelt Messages API på POST /v1/messages, med strömning via SSE. Det erbjuder också count_tokens på /v1/messages/count_tokens.
Två detaljer är viktiga för Claude Code:
- Servern gör inte starka påståenden om full Anthropic API-specifikation kompatibilitet, men anger att det fungerar tillräckligt bra för många appar.
- Verktygsanvändning kräver att llama-server startas med –jinja-flaggan. Om du missar detta, kommer Claude Code bete sig som att den plötsligt glömde hur man är 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 körande, är din Claude Code-sida mestadels en bas-URL-överstyrning:
export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key # bara om du aktiverade --api-key på llama-server
claude --model your-model-alias
Om du inte sätter en API-nyckel eller auth-token, kan Claude Code försöka falla tillbaka på abonnemangslogin, vilket är källan till många “varför öppnar det en webbläsare”-klagomål.
Hälsokontroller och första felsökning
llama-server exponerar en enkel hälsoutgång som returnerar “laddar modell” tills modellen är redo, och “ok” när den är användbar. När Claude Code verkar hänga vid första förfrågan, är att kolla /health ett snabbt sätt att skilja “klientkonfigurationsfel” från “servern laddar fortfarande”.
Prissättning och kostnadsmodell
Claude Code-prissättning handlar mer om “vilken faktureringsbana som backar token” än om “att köpa en CLI”.
Abonnemangsplaner inkluderar Claude Code
Anthropic inkluderar Claude Code i betalda Claude-abonnemangsnivåer. Per april 2026 lyser den publicerade prissättningen:
- Pro på $17 per månad med en årsrabatt ($200 debiteras direkt), eller $20 debiteras månatligt, och det inkluderar Claude Code.
- Max-planer som börjar på $100 per månad.
- Team-planer prissatta per plats, med en standardplats på $20 per plats per månad debiterad årligen ($25 månatligt) och en premiumplats på $100 per plats per månad debiterad årligen ($125 månatligt).
API-tokenprissättning
Om du använder Claude Code via API-fakturering, följer kostnaderna tokenhastigheter. Anthropic publicerar per-miljon-token (MTok) prissättning för modeller såsom:
- Haiku 4.5 på $1/MTok inmatning och $5/MTok utmatning.
- Sonnet 4.5 på $3/MTok inmatning och $15/MTok utmatning.
- Opus 4.5 på $5/MTok inmatning och $25/MTok utmatning.
Kostnadskontroll i CLI
Print-läge (-p) stöder direkta budgetgränser som –max-budget-usd, vilket är användbart när du skriver skript och vill ha förutsägbar utgift.
Inuti interaktiva sessioner visar /cost tokenanvändningsstatistik.
Lokala backends ändrar fakturan, inte fysiken
Att routa Claude Code till Ollama eller llama.cpp kan ta bort per-token-API-fakturor, men det gör inte arbetet gratis. Du byter molnkostnader mot lokal beräkning, minne och “någon äger upptid”. För vissa team är den bytet hela poängen.
Typiskt flöde: från plan till PR
Min bias är att Claude Code är starkast när du behandlar det som en flödesmotor, inte en chatbot. Verktygen tyder på detta.
Börja med behörighetsmodellen, inte prompten
Claude Code är behörighetslåst av design. Dokumentationen beskriver en trappstegsmodell: skrivbara operationer som filinläsning och grep är tillåtna, medan bash-kommandon och filmodifikationer behöver godkännande.
Behörighetslägen finns för att hantera friktionen. I CLI:n kan du växla lägen med Shift+Tab (standard -> 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 be om tillåtelse, men befortfarande om kommandon med biverkningar utanför dess säkra lista.
Auto-läge är ett nyare alternativ som reducerar påminnelser genom att delegera godkännanden till en klassificator, positionerat som en säkrare mellanväg mellan konstanta påminnelser och att helt inaktivera påminnelser. Det kräver en minimiversion av Claude Code och specifika krav på plan och modell.
Använd inbyggda kommandon för att hålla sessioner ärliga
Några kommandon förvandlar Claude Code från “assistent” till “verktyg”:
- /init genererar en CLAUDE.md-projektguide, vilket är ett lättvägts sätt att mata in konsekvent kontext.
- /diff ger en interaktiv vy av ändringar, inklusive per-omgångs diffar.
- /rewind låter dig spola tillbaka samtal och/eller kod till en tidigare punkt, med hjälp av kontrollpunkter.
- /debug aktiverar debug-loggning mitt i sessionen.
- /doctor diagnostiserar och verifierar din installation och inställningar.
Dessa är inte gimmicks; de är säkerhetsrälarna du lutar dig mot när en agent redigerar mer än du förväntade dig.
När du ska gå icke-interaktivt
För enskilda uppgifter (förklara, sammanfatta, generera en patch-plan) är print-läge ett bra pass:
claude -p "Sammanfatta repository-arkitekturen och lista de riskfylldaste modulerna"
Den avslutas efter svaret, vilket fungerar bra i skript och CI.
Felsökningschecklista
De flesta Claude Code-problem är i smyg konfigurationsproblem. Här är en checklista som mappar vanliga symtom till underliggande mekanism.
Claude Code fortsätter be om inloggning medan du använder en lokal server
Detta betyder vanligtvis att Claude Code fortfarande försöker använda första-partis-abonnemangsauth. Se till att du sätter ett explicit auth-läge för proxyn:
- Sätt ANTHROPIC_API_KEY för gateways som förväntar sig X-Api-Key.
- Eller sätt ANTHROPIC_AUTH_TOKEN för gateways som använder Authorization Bearer.
Kom ihåg att ANTHROPIC_API_KEY överskrider abonnemangsanvändning även om du är inloggad, och i interaktivt läge kan du behöva godkänna den överstyrningen en gång.
Gatewayn felar på anthropic-beta-huvuden
Vissa gateways avvisar okända huvuden eller betafält. Det finns en miljövariabel som är utformad för just detta misslyckandeläge:
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
LLM-gateway-dokumentationen noterar också att du kan behöva detta när du använder Anthropic Messages-formatet med Bedrock eller Vertex.
Verktygsanrop fungerar inte på llama.cpp
Dubbelkolla serverflaggor. llama-server-dokumentationen anger att verktygsanvändning kräver –jinja-flaggan. Utan det kan servern svara, men agentloopen kommer att försämras.
Behörighetspåminnelser avbryter varje kommando
Det kan vara normalt, beroende på läge och behörighetsregler. Alternativ inkluderar:
- Växla till acceptEdits tillfälligt (fileredigeringsflödet är snabbare).
- Skriv explicita tillåtna regler för kända säkra bash-kommandon i settings.json.
- Använd /sandbox för att isolera bash-verktyget medan du minskar påminnelser.
- Utvärdera auto-läge om din plan och version stöder det, som en kompromisslösning.
Något känns fel och du behöver observabilitet
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-varv för att hålla experiment begränsade.