SSD Nodes Learn Hosting plans →
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-08-28

Claude Code sessie vertraagt: zo verlaagt u de kosten

Voorkom hoge kosten en trage Claude Code sessies door uw context effectief te beheren. Leer hoe u met /context, /compact en /clear de tokenbelasting per beurt minimaliseert.

Hoe u voorkomt dat een lange Claude Code-sessie traag en kostbaar wordt

Een lange Claude Code-sessie wordt traag en kostbaar omdat bij elke beurt de volledige context opnieuw wordt verzonden, terwijl deze context alleen maar groeit. De oplossing is hygiëne in een vaste volgorde. Voer /context uit om te zien wat het venster vult, verwijder de items waarvoor u bij elk verzoek betaalt, en gebruik vervolgens /clear tussen ongerelateerde taken en /compact met een instructie binnen één lange taak. Werk in aaneengesloten periodes, omdat een koude prompt-cache een goedkope leesactie verandert in een volledige herschrijving van alles wat u heeft gezegd.

Waarom de meter überhaupt loopt, wordt beantwoord in de tokenmeter achter een agentsessie.

Lees /context voordat u wijzigingen aanbrengt

Gok niet wat het venster vult. Claude Code zal het u vertellen.

/context [all] geeft het huidige contextgebruik weer als een gekleurd raster, met optimalisatiesuggesties voor tools die veel context verbruiken en bij geheugenproblemen; all vergroot het overzicht per item in de volledigeschermmodus. Lees het resultaat als vijf categorieën.

  • De systeem-prompt. De instructies voor de werking van Claude Code zelf. Vastgelegd voor de sessie.
  • Tooldefinities. Het schema voor elke tool die de agent kan aanroepen, inclusief elke verbonden MCP (Model Context Protocol) server.
  • Geheugenbestanden. CLAUDE.md en automatisch geheugen, geladen bij de start van de sessie.
  • Bestanden en toolresultaten. Elk gelezen bestand en alles wat uw commando's hebben teruggegeven.
  • Berichtgeschiedenis. Uw beurten en de antwoorden daarop.

De eerste drie vormen een vaste belasting die bij elk verzoek gedurende de sessie wordt betaald. De laatste twee groeien. Verlaag de vaste belasting één keer aan het begin; beheer het groeiende deel continu.

Twee strings geven aan dat het venster vol is:

Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.
Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.

De eerste is een harde limiet en het verzoek wordt geweigerd; de bijbehorende API (application programming interface) foutmelding luidt Prompt is too long. De tweede is een compactievenster, dat onder het werkelijke contextvenster van het model kan liggen bij een model van 1 miljoen tokens. Verzoeken slagen nog steeds na dit punt, dus dat is eerder een waarschuwing dan een weigering.

Bij een betaald abonnement voegt /usage de andere helft toe, waarbij gedrag zoals een lange context of cache-missers wordt gemarkeerd en recent gebruik wordt toegeschreven aan individuele vaardigheden, subagents en MCP-servers. Als het aangeeft dat het quotum al is verbruikt, bepaalt op welk limietvenster u wacht of het inkorten van de context u nu helpt of dat u een andere route terug naar het werk nodig heeft.

CLAUDE.md is een permanente belasting, houd het dus beknopt

Uw CLAUDE.md wordt bij de start van de sessie in het geheugen geladen en blijft daar aanwezig. Als dit bestand een gedetailleerde implementatieprocedure bevat, verbruiken die tokens ruimte terwijl u bijvoorbeeld een typefout in een testbestand corrigeert. Het advies van Anthropic is om alleen essentiële informatie op te nemen en het bestand onder de 200 regels te houden.

Verplaats procedures naar skills. Een skill wordt alleen geladen wanneer deze wordt aangeroepen, waardoor een workflow die u twee keer per week uitvoert op de overige dagen geen tokens kost. Skills hebben hun eigen budget na een compressie: de inhoud wordt opnieuw ingevoegd, met een limiet van 5.000 tokens per skill en 25.000 in totaal, waarbij de oudste gegevens als eerste worden verwijderd. Bij inkorting blijft het begin van het bestand behouden, plaats de belangrijkste instructies daarom bovenaan in SKILL.md.

Wat een compressie overleeft, bepaalt waar een instructie thuishoort.

  • De systeemprompt en de outputstijl blijven ongewijzigd, omdat deze geen deel uitmaken van de berichtgeschiedenis.
  • De CLAUDE.md in de projectmap, niet-gebaseerde regels en het automatische geheugen worden opnieuw vanaf de schijf ingevoegd.
  • Een regel met paths:-frontmatter gaat verloren totdat een bijbehorend bestand opnieuw wordt gelezen.
  • Een geneste CLAUDE.md in een submap gaat verloren totdat een bestand in die submap opnieuw wordt gelezen.
  • Hooks worden niet beïnvloed, omdat een hook als code wordt uitgevoerd en nooit in de context terechtkomt.

Een regel waar u op vertrouwt, hoort daarom thuis in de CLAUDE.md van de projectmap: Claude Code wist eerst oudere tool-outputs en vat daarna samen, waardoor instructies van vroeg in het gesprek verloren kunnen gaan. Bewerk het geheugen met /memory. Claude Code behoudt de kopie die bij de start van de sessie is geladen, dus een inkorting halverwege de sessie behoudt de prompt-cache en wordt pas toegepast bij de volgende /clear, /compact of herstart. Contextverlies is slechts één reden waarom een regel niet langer wordt opgevolgd; als de regel duidelijk nog in het venster staat en toch wordt genegeerd, doorloop dan de andere oorzaken voordat u de regel herschrijft.

/clear tussen taken, /compact binnen één taak

Deze twee lijken uitwisselbaar, maar de kosten verschillen aanzienlijk.

/clear [name] start een nieuw gesprek met een lege context. Het verstuurt geen verzoek en kost daarom niets. Geef een naam op om het vorige gesprek te labelen in de /resume-kiezer; /reset en /new zijn aliassen. Gebruik dit commando zodra u overschakelt naar een ongerelateerde taak, omdat de oude taak anders bij elk nieuw bericht opnieuw wordt verstuurd en in rekening wordt gebracht.

/compact [instructions] maakt context vrij terwijl het gesprek wordt voortgezet: het vat de geschiedenis tot nu toe samen en vervangt deze. Gebruik dit binnen één lange taak waarbij u de continuïteit wilt behouden.

Geef /compact altijd een instructie. Een kale /compact vat samen op basis van een standaardprompt die niet weet welk deel van het werk u nog nodig heeft. Een instructie zorgt ervoor dat de relevante context behouden blijft:

/compact focus on the auth bug fix
/compact keep only the plan and the diff

Als u om dezelfde reden telkens opnieuw compacteert, plaats dan een vaste instructie in de CLAUDE.md van uw project onder een # Compact instructions-kop. In een nieuwe sessie print /compact de melding Not enough messages to compact., wat enkel betekent dat er nog geen geschiedenis is.

Er is vaak verwarring over twee soorten kosten. Het samenvattingsverzoek deelt uw prefix, waardoor het de bestaande cache leest in plaats van de geschiedenis opnieuw te verwerken; het grootste deel van de tijd gaat zitten in het genereren van de samenvatting. Het compacteren van een grote context blijft een groot verzoek, omdat het gesprek dat wordt samengevat de input vormt. De beurt na de compactie is niet het trage onderdeel: deze herbouwt de cache voor een veel kortere prompt.

Er bestaan twee goedkopere commando's. /rewind [description] rolt code en het gesprek terug naar een checkpoint; voor een pad dat u volledig wilt verlaten is dit beter dan compacteren, omdat het de geschiedenis inkort tot een prefix die al in de cache staat. /recap voegt een samenvatting toe als commando-output in plaats van de geschiedenis te vervangen, waardoor de gecachte prefix intact blijft.

Automatische compactie die herhaaldelijk wordt geactiveerd, geeft de volgende melding:

Autocompact is thrashing: the context refilled to the limit...

De compactie is geslaagd, maar een bestand of tool-output heeft het venster meerdere keren achter elkaar gevuld, waardoor Claude Code is gestopt met opnieuw proberen. Herstel dit door het te grote bestand in regelbereiken te lezen, /compact uit te voeren met een focus die de grote output weglaat, dat werk te verplaatsen naar een subagent, of /clear te gebruiken als het eerdere gesprek is afgerond.

MCP-servers zorgen voor vaste overhead

Elke MCP-server waarmee u verbinding maakt, voegt overhead toe aan elk verzoek gedurende de gehele sessie. U betaalt hiervoor, ongeacht of u de server aanroept of niet.

Claude Code verzacht dit effect. MCP-tooldefinities worden standaard uitgesteld; alleen de toolnamen worden in de context opgenomen totdat Claude een specifieke tool gebruikt. Voer /context uit om te zien wat uw servers daadwerkelijk kosten, en /mcp disable <name> om een server te verwijderen die u vandaag niet zult gebruiken. Als u uw eigen MCP-servers op een VPS draait, beperkt dezelfde rekensom hoeveel tools één server zou moeten aanbieden.

Doe dit aan het begin van een sessie. Hoewel definities uitgesteld blijven, zorgt het verbinden of verbreken van een server er alleen voor dat er iets aan het gesprek wordt toegevoegd, waardoor de cache behouden blijft. Waar definities in het voorvoegsel worden geladen, omdat het zoeken naar tools is uitgeschakeld of een server is vrijgesteld van uitstel, zorgt dezelfde wijziging ervoor dat bij het volgende verzoek alles opnieuw wordt ingelezen.

Filter uitgebreide tool-output voordat deze in de context terechtkomt

Een tool-resultaat is input, en input wordt bij elke volgende beurt opnieuw verzonden. Een testrun die 20.000 tokens aan output dumpt, is geen eenmalige kostenpost: u betaalt er bij elke beurt opnieuw voor totdat deze uit het venster verdwijnt.

Filter bij de bron. Een hook die een testrun reduceert tot alleen de foutmeldingen voordat Claude deze ziet, verandert die muur van output in een paar honderd tokens, zowel bij deze beurt als bij elke volgende keer dat deze opnieuw wordt verzonden:

npm test 2>&1 | grep -E "FAIL|Error:" | head -40

Hooks komen zelf nooit in de context terecht, omdat ze als code worden uitgevoerd. Doe dit voor elke tool waarvan de output langer is dan één scherm. Dezelfde logica geldt voor een bestand van 3.000 regels: vraag om het bereik van regels dat u nodig heeft, omdat het volledige bestand in het venster blijft staan zodra het is binnengekomen.

Bepaal wat de agent leest en delegeer taken die veel ruis veroorzaken

Een prompt die het bestand en het symptoom benoemt, leest dat specifieke bestand. Een algemeen verzoek om het project op te schonen leest alles wat de agent relevant acht, en elk van die leesacties blijft in het venster staan.

Delegeer uitgebreid werk aan een subagent. Testruns en logverwerking verbruiken beide daadwerkelijke context; een subagent houdt die uitvoer in zijn eigen venster en retourneert alleen een samenvatting. De afweging: een subagent bouwt zijn eigen cache op zonder hits bij de eerste aanroep, en gebruikt de cache-levensduur van vijf minuten, zelfs bij een abonnement. Delegatie beschermt uw hoofdcontext op betrouwbare wijze. Het verlaagt niet altijd het totale aantal tokens.

De cache-klok: werk in blokken

Prompt-caching maakt het opnieuw verzenden betaalbaar: 0,1x het basistarief voor invoer om het voorvoegsel te lezen, tegenover 1,25x om het te schrijven, of 2x om het te schrijven bij een levensduur van één uur. Elk gebruik ververst het item zonder extra kosten, waardoor de klok vanaf het laatste gebruik gaat lopen. Deze vermenigvuldigers geven de vorm van de factuur aan, maar niet de omvang. Combineer ze daarom met wat een miljoen tokens daadwerkelijk kost om een volledig contextvenster om te rekenen naar een bedrag in dollars.

Welke levensduur u krijgt, hangt af van hoe u zich authenticeert. Daarom is een algemene uitspraak als "uw cache verloopt na vijf minuten" onjuist.

  • Bij een Claude-abonnement vraagt Claude Code automatisch de levensduur van één uur aan.
  • Zodra u de limiet van uw abonnement heeft bereikt en gebruikmaakt van verbruikstegoeden, wordt dit gebruik in rekening gebracht en valt de levensduur terug naar vijf minuten.
  • Bij een API-sleutel of een cloudprovider blijft deze op vijf minuten staan. ENABLE_PROMPT_CACHING_1H=1 kiest voor de levensduur van één uur en FORCE_PROMPT_CACHING_5M=1 dwingt deze terug naar de standaardwaarde.

Het advies voor uw werkritme is in beide gevallen hetzelfde: werk in aangesloten blokken. Een inactieve pauze die langer duurt dan de levensduur zorgt er namelijk voor dat uw volgende actie het volledige opgebouwde voorvoegsel opnieuw moet schrijven. Een losgekoppelde Claude Code-sessie in tmux kost niets terwijl deze inactief is, maar de warme cache is wat u verliest door die inactiviteit.

Sommige acties gooien de cache weg terwijl u nog aan het werk bent: wisselen van model, het wijzigen van het inspanningsniveau, het inschakelen van de snelle modus, het verbinden of verbreken van een MCP-server, het in- of uitschakelen van een plug-in, het weigeren van een volledige tool, het comprimeren en het upgraden van Claude Code. /model is de gebruikelijke verrassing, omdat elk model zijn eigen cache heeft. Het volgende verzoek leest daarom de volledige geschiedenis zonder cache-hits, ook al is de inhoud identiek. Dat opnieuw inlezen wordt gefactureerd tegen de tarieven van het doelmodel. Een overstap naar Fable midden in een sessie brengt dus uw volledige opgebouwde geschiedenis in rekening tegen het gepubliceerde invoertarief van Fable 5.

Het bewerken van bestanden, het bewerken van CLAUDE.md, het aanroepen van vaardigheden en commando's, het uitvoeren van /recap, terugspoelen en het starten van een subagent behouden de cache. De scope is beperkt tot één machine en één map, waardoor twee sessies in verschillende mappen elkaars cache niet kunnen gebruiken. Die scope volgt de CLI in plaats van uw account, dus niets daarvan wordt overgedragen naar de Claude desktop-app, die op Linux een afzonderlijke bèta-installatie naast de CLI is.

Lees current_usage om te zien of caching werkt. cache_creation_input_tokens werd geschreven tegen het cache-schrijftarief; cache_read_input_tokens werd geserveerd tegen ongeveer een tiende van het standaard invoertarief. Een hoge verhouding tussen lezen en aanmaken is gezond. Als het aanmaken beurt na beurt hoog blijft, verandert er voortdurend iets in uw voorvoegsel.

Lost een groter contextvenster dit op?

Gedeeltelijk. Verschillende huidige modellen ondersteunen een contextvenster van 1 miljoen tokens, en compressie werkt op dezelfde manier bij de grotere limiet. De economische aspecten veranderen niet, omdat de volledige prompt bij elke beurt opnieuw wordt verzonden en in rekening wordt gebracht. Een groter venster bepaalt wanneer u gedwongen wordt actie te ondernemen; hygiëne bepaalt de kosten. Als de rekening het probleem is in plaats van de limiet, bepaalt welk Claude-abonnement past bij uw manier van werken of u dollars uitgeeft of uw abonnementslimiet verbruikt.

Context-bewerking en compressie in de API zijn verschillende zaken

Als u uw eigen agent bouwt op de Messages API, bestaan er geen slash-commando's en implementeert u dit zelf. Houd vanaf het begin rekening met dit werk, want de API heeft geen gratis laag buiten een klein aanmeldtegoed, waardoor elke beurt van oningekorte geschiedenis volledig wordt gefactureerd. De provider waarop u bouwt, bepaalt die berekening nog voordat er enige inkorting plaatsvindt. Als de keuze nog open is, bereken dan de kosten voor dezelfde werklast op beide API's in plaats van alleen de headline-tarieven per token te vergelijken. Twee server-side functies voeren deze taak uit, en het zijn niet dezelfde functies.

Context-bewerking verwijdert selectief specifieke inhoud uit de gespreksgeschiedenis naarmate deze groeit, waarbij elk verwijderd resultaat wordt vervangen door tijdelijke tekst zodat Claude weet dat er iets is verwijderd. Dit is een bètafunctie: stuur anthropic-beta: context-management-2025-06-27 en configureer strategieën onder context_management.edits. clear_tool_uses_20250919 wist toolresultaten en clear_thinking_20251015 beheert denkblokken. De trigger staat standaard op 100.000 input-tokens, keep op de laatste 3 tool-gebruiken en clear_tool_inputs op false, zodat inputs behouden blijven en alleen resultaten worden verwijderd.

Compressie genereert een samenvatting en vervangt de volledige gespreksgeschiedenis hiermee. Dit is ook een bètafunctie: stuur anthropic-beta: compact-2026-01-12 en gebruik het bewerkingstype compact_20260112. De trigger staat standaard op {"type": "input_tokens", "value": 150000} en de waarde moet minimaal 50.000 zijn.

Compressie heeft één overdrachtsregel die ongemerkt agents kan verbreken. Het antwoord begint met een compaction-inhoudsblok dat de samenvatting bevat, gevolgd door het normale tekstblok. U moet dat blok bij latere verzoeken terugsturen, waarna de API elk inhoudsblok daarvoor verwijdert. In de praktijk: voeg het geheel van response.content toe, niet alleen de tekst.

De documentatie van Anthropic noemt server-side compressie de primaire strategie voor het beheren van context in langlopende gesprekken, en context-bewerking de optie voor fijnmazigere controle over wat er wordt verwijderd. Controleer eerst de modelondersteuning. De huidige Opus-, Sonnet- en Fable-modellen ondersteunen compressie; claude-haiku-4-5 doet dit niet, en de compressiepagina bevat de actuele lijst. Geen van beide bètafuncties stuurt de eigen /compact van Claude Code aan, die in de documentatie wordt beschreven als een eenmalig samenvattingsverzoek dat de client verstuurt.

FAQ

Waarom wordt mijn Claude Code-sessie trager en duurder naarmate deze langer draait?

Omdat het volledige gesprek bij elke nieuwe interactie opnieuw wordt verzonden. Een vraag van één regel in een sessie die de hele dag openstaat, sleept dus de hele dag aan geschiedenis met zich mee. Prompt caching houdt dit goedkoop zolang de cache warm is, tegen 0,1x het basistarief voor input bij een read-actie. Zodra een interactie de cache mist, wordt hetzelfde voorvoegsel opnieuw geschreven tegen 1,25x. Voer /context uit om te zien wat het venster vult, en lees waarvoor een Claude Code-sessie u factureert voor de werking hiervan.

Wat is het verschil tussen /clear en /compact in Claude Code?

/clear start een nieuw gesprek met een lege context. Er wordt geen verzoek verzonden, dus het kost niets; dit is de juiste keuze tussen ongerelateerde taken. /compact behoudt hetzelfde gesprek en vervangt de geschiedenis door een samenvatting; dit is de juiste keuze binnen één langdurige taak. Geef het een focus mee, zoals in /compact keep only the plan and the diff, omdat de instructie bepaalt wat behouden blijft.

Hoe zie ik wat mijn Claude Code-contextvenster verbruikt?

Voer /context uit, of /context all voor een volledig overzicht per item. Het toont de system prompt, tooldefinities, MCP-servers, geheugenbestanden en de geschiedenis als een gekleurd raster, met suggesties voor context-intensieve tools en geheugenvervuiling. Bij een betaald abonnement koppelt /usage recent gebruik ook aan individuele vaardigheden, subagents en MCP-servers.

Moet ik een contextvenster van 1 miljoen tokens gebruiken in plaats van compacteren?

Een groter venster stelt het probleem uit in plaats van het op te lossen. Verschillende huidige modellen draaien een contextvenster van 1 miljoen tokens, waaronder Opus 4.8 en Sonnet 5, en compactie werkt daar op dezelfde manier. Elke interactie verstuurt nog steeds de volledige prompt en factureert deze ook; een gesprek van 400.000 tokens is dus duur, ongeacht of het in het venster past.

Wat is het verschil tussen context editing en compactie in de Claude API?

Context editing wist selectief oude inhoud, meestal toolresultaten, en laat tijdelijke aanduidingen achter zodat Claude weet dat deze zijn verwijderd. Compactie genereert een samenvatting en vervangt de volledige geschiedenis hiermee. De documentatie van Anthropic noemt compactie de primaire strategie voor langlopende gesprekken en positioneert context editing als de fijnmazige optie. Beide zijn bètafuncties met hun eigen headers, en beide staan los van de /compact van Claude Code.