Blog

Waarom Claude Code het hele project opnieuw leest en hoe je dat oplost

Markdown

Claude Code indexeert code niet en leest het project telkens opnieuw vanaf nul, wat tokens kost. Zo geef je het blijvend codegeheugen via MCP en verlaag je het verbruik.

Lees het volledige artikel

Belangrijkste punt

Claude Code houdt geen index van je code bij. In elke sessie doorzoekt het project opnieuw en leest het bestanden vanaf nul, waardoor tokens op verkenning worden verbruikt in plaats van op werk. Je kunt dit oplossen met codegeheugen: installeer via MCP een indexserver, zodat Claude een kant-en-klare projectkaart kan gebruiken in plaats van alles opnieuw te lezen.

Ailoot-documentatie: API, sleutels en verbinding.

Waarom leest Claude Code het project elke keer opnieuw vanaf nul?

Belangrijkste punt

Claude Code heeft geen ingebouwde code-index. Het doorzoekt het project met drie hulpmiddelen: bestanden zoeken op patroon, tekst doorzoeken op tekenreeksen en volledige bestanden lezen. Dit heet agentisch zoeken: het model bepaalt zelf waar het zoekt en herhaalt dit proces voor elke nieuwe taak. Het onthoudt de vorige sessie niet, dus elke nieuwe sessie begint vanaf nul.

Veel mensen denken dat dit een bug is. In werkelijkheid is Claude Code zo ontworpen: het heeft geen eigen projectindex. Als je vraagt om iets te repareren, heeft het geen kant-en-klare codekaart bij de hand — het verkent het project opnieuw: het vindt relevante bestanden, zoekt naar de benodigde tekenreeksen en leest bestanden in het geheugen.

Deze aanpak heeft echte voordelen. De code is altijd actueel — er is geen index die verouderd is geraakt. Je hoeft niets in te stellen. Je code wordt niet naar een databank gestuurd.

Maar er is ook een nadeel: elke nieuwe taak betekent opnieuw zoeken en bestanden lezen. Tokens worden besteed aan het opnieuw uitzoeken waar alles staat, ook al heeft Claude dat in de vorige sessie al gedaan. Hoe groter het project, hoe meer deze verkenning kost. Dit mechanisme verklaart precies waarom het kan voelen alsof de agent “alles aan het lezen is”.

Hoeveel tokens kost dit eigenlijk?

Belangrijkste punt

Nog voordat Claude Code code opnieuw leest, verstuurt het bij elk verzoek ongeveer 33.000 tokens aan systeemgegevens. In een echte werkconfiguratie loopt het totaal op tot 75.000–85.000 tokens voordat je ook maar één woord hebt getypt. Daar komt het opnieuw lezen van bestanden nog bovenop; volgens de officiële documentatie neemt het lezen van bestanden het grootste deel van de context in beslag.

De kosten beginnen al vóór je verzoek. Een onafhankelijke meting laat het eenvoudig zien: Claude Code verstuurt ongeveer 33.000 tokens aan systeemprompt en beschrijvingen van hulpmiddelen voordat het de eerste letter van je bericht leest. Ter vergelijking: OpenCode begint op ongeveer 7.000.

Daarna komt het opnieuw lezen aan bod. Elke zoekopdracht naar bestanden en elke leesactie voegt tokens toe aan de context. De officiële documentatie van Claude Code zegt het rechtstreeks: het lezen van bestanden domineert het contextverbruik. Een analyse van auth.ts met 2.400 tokens betekent dat Claude alleen al die 2.400 tokens ziet; hetzelfde geldt voor elk bestand dat het tijdens de verkenning opent.

Voor ons publiek vertaalt dit zich in geld en limieten. De grootste angst van mensen die met vibe coding beginnen is: “Ik heb betaald en mijn limieten zijn voor niets opgeraakt.” Als de agent het project scant en voor elke taak bestanden vanaf nul opnieuw leest, raakt de context twee keer zo snel vol: eerst door de systeemoverhead en daarna door de verkenning. In de gids “Waar Claude Code-tokens naartoe gaan” heb ik het volledige overzicht behandeld van waar Claude Code-tokens precies aan worden besteed — het opnieuw lezen van het project is een van de negen patronen.

Wat is blijvend codegeheugen?

Belangrijkste punt

Codegeheugen is een kant-en-klare projectkaart die de agent kan raadplegen in plaats van bestanden opnieuw te lezen. Een afzonderlijk hulpmiddel scant je code één keer, bouwt een structuur van functies, bestanden en verbanden op en slaat die op schijf op. Vraag je later “waar wordt de betaling afgehandeld?”, dan krijgt Claude het antwoord met één zoekopdracht in de kaart in plaats van elk bestand door te nemen.

Codegeheugen dicht precies de leemte waardoor Claude het project opnieuw leest. Het idee is eenvoudig: laat iets alle code één keer scannen, er een kaart van maken en die bij de hand houden. De agent hoeft dan niet telkens opnieuw te zoeken — hij raadpleegt de kaart.

Technisch werkt het als volgt. Een afzonderlijk hulpmiddel scant het project en deelt het op in onderdelen: welke functies en klassen er zijn, wie wie aanroept en welke bestanden met elkaar verbonden zijn. Deze structuur wordt op schijf opgeslagen. Wanneer Claude wil weten waar de betalingslogica staat of wat er kapotgaat als een functie wordt aangepast, stelt het één gerichte vraag aan de kaart in plaats van tientallen bestanden te lezen.

Deze kaart wordt via MCP verbonden — de standaardmanier om een extern hulpmiddel aan Claude Code te koppelen (andere servers verbinden heb ik behandeld in de gids “MCP-servers voor Claude Code”). Het codegeheugenhulpmiddel voegt eigen opdrachten toe om in de kaart te zoeken, en Claude gebruikt die zelfstandig wanneer het zijn weg in het project moet vinden.

In de praktijk is het verschil dat tussen “lees de hele map om één functie te vinden” en “vraag de kaart waar die functie staat”. Het eerste kost tienduizenden tokens; het tweede honderden.

Twee benaderingen voor codegeheugen: wat is het verschil?

Belangrijkste punt

Er zijn twee nuttige hulpmiddelen, en ze zijn allebei gratis onder de MIT-licentie. Serena geeft de agent code-navigatie zoals in een intelligente ontwikkelomgeving en is geschikt voor nauwkeurige aanpassingen. claude-context zoekt op betekenis met embeddings, maar vereist een externe databank en een sleutel. Het verschil zit in wat elk hulpmiddel onthoudt.

Codegeheugenhulpmiddelen verschillen in wat ze op basis van je project opbouwen. Je kunt ze het eenvoudigst zo zien: het ene geeft je de chirurgische precisie om aanpassingen te doen, en het andere zoekt op betekenis.

Wat we vergelijkenSerenaclaude-context
Type geheugenCodenavigatie via een engine voor ontwikkelomgevingenZoeken op betekenis via embeddings
Wat het vindtDefinities, daadwerkelijke aanroepplekken, aanpassingen op basis van symboolCode op basis van beschrijving: “waar staat de betalingslogica”
Externe afhankelijkhedenuv-pakketbeheerder; voor TypeScript en JavaScript ook Node 20+ en npmExterne databank + sleutel + Node 20+
InstallatieEén opdrachtOpdracht met drie instellingen
TokenbesparingPubliceert geen exact percentageOngeveer 40% bij gelijke kwaliteit
GitHub-sterren26.46812.138
Sterk puntZorgvuldig herstructureren in de hele codebaseVinden wat je nodig hebt zonder de exacte namen te kennen
Zwak puntMinder talen, geen zoeken op betekenisZware configuratie, vereist een clouddienst

De aantallen GitHub-sterren zijn van 15 juli 2026 (volgens de GitHub API). Beide hulpmiddelen zijn gratis en open source, werken met Claude Code en zijn als MCP-servers te koppelen.

Een korte samenvatting voor niet-programmeurs. Serena is chirurgisch precisiewerk: gebruik het wanneer je hetzelfde onderdeel op verschillende plekken in het project aanpast en precisie belangrijk is. claude-context zoekt op betekenis: het vindt code op basis van een beschrijving, maar daarvoor moet je een clouddatabank configureren en een sleutel gebruiken.

Wanneer kies je Serena of claude-context?

Belangrijkste punt

Serena is nuttig wanneer nauwkeurige aanpassingen belangrijk zijn: een functie overal in het project hernoemen, de inhoud ervan vervangen of alle daadwerkelijke aanroepplekken vinden. Het werkt met dezelfde engine als intelligente ontwikkelomgevingen en past code aan op basis van betekenis, niet door tekst te matchen. Kies claude-context wanneer je code op beschrijving wilt doorzoeken en het geen probleem vindt een externe databank en sleutel in te stellen.

De twee hulpmiddelen dingen niet mee naar één prijs. Ze onthouden verschillende dingen, dus de keuze hangt af van de taak.

Kies Serena als je veel herstructureert. Het geeft de agent code-navigatie zoals in een intelligente ontwikkelomgeving: het vindt een functiedefinitie en alle daadwerkelijke aanroepplekken en hernoemt de functie daarna zorgvuldig of vervangt de inhoud ervan in het hele project. De auteur beschrijft het voordeel als volgt.

Een krachtige set codehulpmiddelen via MCP: semantisch zoeken en bewerken — een ontwikkelomgeving voor je agent.

— Serena, https://github.com/oraios/serena

Serena publiceert geen exact besparingspercentage, en ik zal er geen verzonnen cijfer aan toeschrijven. Het voordeel is anders: waar een gewone zoekopdracht veertig overeenkomsten oplevert, inclusief opmerkingen en tekenreeksen, waarna Claude vier volledige bestanden leest, geeft Serena antwoord met een paar nauwkeurige zoekopdrachten. Dat betekent minder aanroepen en minder foutieve overeenkomsten, en dus minder risico dat de agent het verkeerde aanpast.

Kies claude-context als je op betekenis wilt zoeken en de configuratie geen bezwaar vindt. Het zet code om in vectoren (numerieke vingerafdrukken van betekenis) en zoekt op basis van een beschrijving: “zoek waar onze betalingslogica staat”, zelfs als je de functienamen niet kent. Voor deze zoekmogelijkheid is extra configuratie nodig.

Gemiddeld verlaagt claude-context het tokenverbruik met ongeveer 40%, terwijl de zoekkwaliteit gelijk blijft.

— zilliztech/claude-context, https://github.com/zilliztech/claude-context

claude-context vereist een externe vectordatabank, een sleutel van een embeddingprovider en een recente versie van Node. Van de twee is dit het ingewikkeldst om in te stellen, dus raad ik beginners aan met iets anders te beginnen.

Wat kun je rechtstreeks in Claude Code doen zonder hulpmiddelen van derden?

Belangrijkste punt

Ingebouwde opdrachten lossen de helft van het probleem op. /context laat precies zien wat de context gebruikt. /compact comprimeert de geschiedenis, /clear wist die voordat je aan een nieuwe taak begint, en /doctor vindt onnodige onderdelen en stelt voor ze op te ruimen. Een kort CLAUDE.md-bestand in plaats van een buitensporig groot bestand bespaart duizenden tokens in elk bericht.

Haal het maximale uit wat Claude Code al bevat voordat je hulpmiddelen van derden installeert. Deze opdrachten zijn gratis en werken direct.

  1. /context — toont een live overzicht van wat de context bezet: systeemprompt, CLAUDE.md, geheugen, hulpmiddelen en bestanden. De opdracht /mcp toont de kosten van elke verbonden server, en /memory laat zien wat er bij het opstarten is geladen.
  2. /compact — comprimeert de gespreksgeschiedenis tot een korte samenvatting en gaat verder met dezelfde taak. Je kunt de focus sturen door aan /compact toe te voegen wat behouden moet blijven.
  3. /clear — wist de volledige geschiedenis. De officiële aanbeveling is om dit te doen wanneer je overschakelt naar een niet-gerelateerde taak, zodat het oude gesprek geen ruimte inneemt die je nodig hebt voor bestanden.
  4. /doctor (ook bekend als /checkup, geïntroduceerd op 8 juli 2026) — controleert de configuratie en stelt oplossingen voor: verwijdert duplicaten in CLAUDE.md, vindt ongebruikte hulpmiddelen en servers en spoort trage handlers op.

Een aparte opmerking over CLAUDE.md. Dit bestand wordt aan het begin van elke sessie in de context geladen en in elk bericht opgenomen. Als het te groot is, blijf je ervoor betalen. De officiële aanbeveling is om het onder 200 regels te houden en naslagdetails te verplaatsen naar skills die op verzoek worden geladen. Hoe je CLAUDE.md goed opstelt, heb ik behandeld in de aparte gids “CLAUDE.md configureren”.

Een andere ingebouwde mogelijkheid zijn subagenten. Die hebben hun eigen afzonderlijke context, zodat je ze veel lees- en verkenningswerk kunt laten doen zonder je hoofdvenster te vullen. Anthropic verwoordt het algemene principe als volgt in zijn technische analyse.

Goed contextbeheer betekent de kleinst mogelijke verzameling informatierijke tokens vinden die het gewenste resultaat oplevert.

— Anthropic, https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents

Maakt een extra MCP-server de context nog groter?

Belangrijkste punt

Dat is een begrijpelijke zorg, maar nee. Sinds 2026 laadt Claude Code volledige beschrijvingen van MCP-hulpmiddelen niet meer standaard in de context — het stelt ze uit en laadt alleen wat nodig is. Bij het opstarten worden alleen de namen in de context opgenomen. Een code-index voegt dus nauwelijks systeemoverhead toe, terwijl hij duizenden tokens bespaart die anders aan het opnieuw lezen van bestanden zouden worden besteed.

De redenering “nog een server betekent meer contextoverhead” klopte vroeger, maar Claude Code is veranderd. Beschrijvingen van MCP-hulpmiddelen worden nu standaard uitgesteld: bij het opstarten worden alleen servernamen in de context opgenomen en volledige beschrijvingen worden geladen wanneer een specifieke tool voor de taak nodig is. De documentatie zegt dit rechtstreeks.

Zoeken naar hulpmiddelen houdt het MCP-contextverbruik laag door beschrijvingen uit te stellen totdat Claude ze nodig heeft. Bij het opstarten van een sessie worden alleen de namen van hulpmiddelen geladen, waardoor het toevoegen van MCP-servers vrijwel geen invloed heeft op het contextvenster.

— Claude Code Docs, https://code.claude.com/docs/en/mcp

De rekensom van codegeheugen is eenvoudig. Een kleine, vaste overhead voor de namen van hulpmiddelen tegenover duizenden tokens die je bespaart doordat de agent bestanden niet opnieuw leest. De balans valt duidelijk uit in het voordeel van de index.

Een paar eerlijke kanttekeningen, zodat je geen wonderen verwacht. De index moet af en toe opnieuw worden opgebouwd — de kaart geeft de code weer zoals die was op het moment van scannen en moet na grote aanpassingen worden bijgewerkt (dit verschilt per hulpmiddel: sommige doen dat automatisch, voor andere is een opdracht nodig). Grote claims zoals “120 keer minder tokens” beschrijven het beste geval bij geselecteerde zoekopdrachten, niet wat je bij elke taak zult zien. De werkelijke besparing is bescheidener, maar nog steeds merkbaar. Wil je uitgebreider lezen over hoe je in het algemeen voorkomt dat je limieten opraakt, dan heb ik een aparte analyse: “Voorkomen dat je Claude Code-limieten opraken”.

Waar begin je vandaag mee?

Belangrijkste punt

Begin met wat gratis en snel is. Voer /doctor uit om onnodige onderdelen op te ruimen. Breng CLAUDE.md terug tot 200 regels. Met deze stappen verklein je wat Claude naar elke taak meeneemt en begin je tokens en limieten te besparen.

Als je alles weglaat wat niet nodig is, is het plan voor vandaag eenvoudig:

  1. Voer /doctor uit en ruim op wat het voorstelt: duplicaten in CLAUDE.md en ongebruikte hulpmiddelen.
  2. Breng CLAUDE.md terug tot 200 regels en verplaats naslagmateriaal naar skills.

Kies daarna op basis van je behoeften: doe je veel herstructureringen, voeg Serena toe voor nauwkeurige aanpassingen; heb je zoeken op betekenis nodig, stel claude-context in. Codegeheugen en een opgeruimde context lossen vandaag het belangrijkste pijnpunt op.

Heb je via Ailoot toegang nodig tot AI-modellen? Bekijk dan Ailoot.

Meer details

Vragen en antwoorden

Wanneer kies ik symboolnavigatie in plaats van codezoeken op betekenis?

Kies symboolnavigatie zoals Serena voor definities, aanroepplaatsen en nauwkeurige refactoring. Betekenisgericht zoeken zoals claude-context helpt wanneer je het gewenste gedrag kent maar de symboolnaam niet; het vereist aanvullende inrichting voor een database en embeddings.

Kan ik na wijzigingen op de codekaart blijven vertrouwen?

Controleer of de index is bijgewerkt. Een kaart weerspiegelt de gescande code en het bijwerkgedrag verschilt per tool. Gebruik de kaart om relevante code te vinden en controleer daarna de huidige bestanden voordat je ze wijzigt.

Alle artikelen