# Hvorfor Claude Code leser hele prosjektet på nytt, og hvordan du løser det

> Claude Code indekserer ikke kode og leser prosjektet på nytt fra grunnen av, noe som sløser med tokens. Slik gir du det vedvarende kodeminne via MCP og reduserer forbruket.

Source: https://ailoot.ai/blog/nb/claude-code-rereads-project/
Canonical: https://ailoot.ai/blog/nb/claude-code-rereads-project/
Language: nb
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-200
Revision: sha256-62492908672a81e6ea3c03ad13681a7c712b99aff192b965aa8faa1f2f18c245


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Claude Code holder ikke en indeks over koden din. I hver økt søker det gjennom prosjektet på nytt og leser filer fra grunnen av, så tokens brukes på rekognosering i stedet for arbeid. Du kan løse dette med kodeminne: Installer en indeksserver via MCP, så kan Claude bruke et ferdig prosjektkart i stedet for å lese gjennom alt på nytt.

</div>



[Ailoot-dokumentasjon: API, nøkler og tilkobling](https://ailoot.ai/docs/).

## Hvorfor leser Claude Code prosjektet på nytt fra grunnen av hver gang?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Claude Code har ingen innebygd kodeindeks. Det søker gjennom prosjektet med tre verktøy: finner filer etter mønster, søker etter tekststrenger og leser hele filer. Dette kalles agentisk søk: Modellen bestemmer selv hvor den skal lete og gjentar prosessen for hver nye oppgave. Den husker ikke forrige økt, så hver ny økt starter fra grunnen av.

</div>

Mange tror dette er en feil. Faktisk er Claude Code laget slik: Det har ingen egen prosjektindeks. Når du ber det fikse noe, har det ikke noe ferdig kodekart tilgjengelig – det utforsker prosjektet på nytt: finner relevante filer, søker etter de nødvendige tekststrengene og leser filer inn i minnet.

Denne tilnærmingen har reelle fordeler. Koden er alltid oppdatert – det finnes ingen indeks som har blitt utdatert. Du trenger ikke konfigurere noe. Koden din sendes ikke til noen database.

Men det finnes en ulempe: Hver nye oppgave betyr en ny runde med søk og lesing av filer. Tokens brukes på å finne ut hvor alt ligger på nytt, selv om Claude allerede fant det ut i forrige økt. Jo større prosjektet er, desto mer koster denne rekognoseringen. Det er nettopp denne mekanismen som kan få det til å føles som om agenten «leser alt».

## Hvor mange tokens sløser dette egentlig med?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Allerede før Claude Code leser kode på nytt, sender det rundt 33 000 tokens med systemdata i hver forespørsel. I et reelt arbeidsoppsett kommer totalen opp i 75 000–85 000 tokens før du har skrevet et eneste ord. Deretter kommer ny gjennomlesing av filer i tillegg, og ifølge den offisielle dokumentasjonen er det lesing av filer som bruker mest kontekst.

</div>

Kostnaden begynner før forespørselen din. En uavhengig måling viser det enkelt: Claude Code sender rundt 33 000 tokens med systemprompt og verktøybeskrivelser før det leser det første tegnet i meldingen din. Til sammenligning starter OpenCode på rundt 7 000.

Så begynner gjenlesingen. Hvert filsøk og hver lesing legger tokens til konteksten. Den offisielle Claude Code-dokumentasjonen sier det rett ut: Lesing av filer dominerer kontekstbruken. En analyse av `auth.ts` på 2 400 tokens betyr at bare Claude ser disse 2 400 tokenene, og det samme gjelder hver fil det åpner under rekognoseringen.

For målgruppen vår betyr dette penger og grenser. Den største frykten blant folk som begynner med vibe coding, er «Jeg betalte, og grensene gikk tomme til ingen nytte.» Hvis agenten skanner prosjektet og leser filer på nytt fra grunnen av for hver oppgave, brukes konteksten opp dobbelt så fort: først på systemoverhead, deretter på rekognosering. Jeg har gått gjennom hele oversikten over hvor Claude Code-tokenene går i guiden [«Hvor Claude Code-tokenene går»](https://ailoot.ai/blog/nb/where-claude-code-tokens-go/) – å lese prosjektet på nytt er ett av ni mønstre der.



## Hva er vedvarende kodeminne?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Kodeminne er et ferdig prosjektkart agenten kan slå opp i i stedet for å lese filer på nytt. Et separat verktøy skanner koden én gang, bygger en struktur over funksjoner, filer og forbindelser og lagrer den på disk. Senere, når du spør «hvor håndteres betaling?», får Claude svaret fra kartet med ett søk i stedet for å gå gjennom hver fil.

</div>

Kodeminne dekker akkurat det tomrommet som får Claude til å lese prosjektet på nytt. Ideen er enkel: La noe skanne all koden én gang, bygge et kart ut fra den og holde kartet tilgjengelig. Da trenger ikke agenten å søke fra grunnen av hver gang – den spør kartet.

Teknisk fungerer det slik. Et separat verktøy skanner prosjektet og deler det opp i komponenter: hvilke funksjoner og klasser som finnes, hvem som kaller hvem, og hvilke filer som er koblet sammen. Denne strukturen lagres på disk. Når Claude trenger å forstå hvor betalingslogikken ligger eller hva som går i stykker hvis en funksjon redigeres, gjør det ett målrettet søk i kartet i stedet for å lese dusinvis av filer.

Dette kartet kobles til gjennom MCP – standardmåten å legge til et eksternt verktøy i Claude Code på (jeg har gått gjennom tilkobling av andre servere i guiden [«MCP-servere for Claude Code»](https://ailoot.ai/blog/nb/mcp-servers-claude-code/)). Kodeminneverktøyet legger til egne kommandoer for å søke i kartet, og Claude bruker dem på egen hånd når det trenger å orientere seg i prosjektet.

I praksis er forskjellen mellom «les hele mappen for å finne én funksjon» og «spør kartet hvor funksjonen ligger». Det første koster titusenvis av tokens; det andre hundrevis.

## To tilnærminger til kodeminne: hva er forskjellen?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Det finnes to nyttige verktøy, og begge er gratis under MIT-lisensen. Serena gir agenten kodenavigasjon som i et intelligent utviklingsmiljø og egner seg godt til presise redigeringer. claude-context søker etter mening ved hjelp av embeddings, men krever en ekstern database og en nøkkel. Forskjellen ligger i hva hvert verktøy husker.

</div>

Kodeminneverktøy skiller seg fra hverandre i hva de bygger ut fra prosjektet ditt. Den enkleste måten å forstå dem på er: Det ene gir deg kirurgisk presisjon ved redigering, og det andre søker etter mening.

| Hva vi sammenligner | Serena | claude-context |
|----|----|----|
| Minnetype | Kodenavigasjon via en motor for utviklingsmiljøer | Meningsbasert søk gjennom embeddings |
| Hva det finner | Definisjoner, faktiske kallesteder, redigeringer etter symbol | Kode ut fra beskrivelse: «hvor ligger betalingslogikken» |
| Eksterne avhengigheter | uv-pakkebehandler; for TypeScript og JavaScript også Node 20+ og npm | Ekstern database + nøkkel + Node 20+ |
| Installasjon | Én kommando | Kommando med tre innstillinger |
| Tokenbesparelse | Publiserer ingen nøyaktig prosent | Rundt 40% ved samme kvalitet |
| GitHub-stjerner | 26 468 | 12 138 |
| Styrke | Grundig refaktorering på tvers av kodebasen | Finne det du trenger uten å kjenne de nøyaktige navnene |
| Svakhet | Færre språk, ikke noe meningsbasert søk | Omfattende oppsett, krever en skytjeneste |

Antall GitHub-stjerner er fra 15. juli 2026 (ifølge GitHub API). Begge verktøyene er gratis og åpen kildekode, begge fungerer med Claude Code, og begge kobles til som MCP-servere.

En kort oppsummering for ikke-programmerere. Serena er kirurgisk presisjon: Bruk det når du redigerer den samme delen flere steder i prosjektet og nøyaktighet er viktig. claude-context er meningsbasert søk: Det finner kode ut fra en beskrivelse, men det krever oppsett av en skydatabase og en nøkkel.

## Når bør du velge Serena eller claude-context?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Serena er nyttig når presise redigeringer er viktige: gi en funksjon nytt navn på tvers av prosjektet, erstatte innholdet i den eller finne alle de faktiske kallestedene. Det bruker samme motor som intelligente utviklingsmiljøer og redigerer kode etter mening, ikke ved å matche tekst. Velg claude-context når du trenger å søke i kode ut fra beskrivelser og ikke har noe imot å sette opp en ekstern database og en nøkkel.

</div>

De to verktøyene konkurrerer ikke om én og samme pris. De husker forskjellige ting, så valget avhenger av oppgaven.

Velg Serena hvis du refaktorerer mye. Det gir agenten kodenavigasjon som i et intelligent utviklingsmiljø: Det finner en funksjonsdefinisjon og alle de faktiske kallestedene, og gir deretter funksjonen et nytt navn eller erstatter innholdet i den på en grundig måte gjennom hele prosjektet. Forfatteren beskriver fordelen slik.

<figure>
<blockquote>
<p>Et kraftig sett med kodeverktøy via MCP: semantisk søk og redigering – et utviklingsmiljø for agenten din.</p>
</blockquote>
<figcaption>— Serena, https://github.com/oraios/serena</figcaption>
</figure>

Serena publiserer ingen nøyaktig prosent for besparelsene, og jeg vil ikke tilskrive det et oppdiktet tall. Fordelen er en annen: Der et vanlig søk returnerer førti treff, inkludert kommentarer og tekststrenger, og Claude deretter leser fire hele filer, svarer Serena med noen få presise søk. Det betyr færre kall og færre feiltreff, og dermed lavere risiko for at agenten redigerer feil ting.

Velg claude-context hvis du trenger meningsbasert søk og ikke lar deg skremme av oppsettet. Det gjør kode om til vektorer (numeriske fingeravtrykk av mening) og søker etter beskrivelse: «finn ut hvor betalingslogikken vår ligger», selv om du ikke kjenner funksjonsnavnene. Prisen for dette søket er det ekstra oppsettet.

<figure>
<blockquote>
<p>I gjennomsnitt reduserer claude-context tokenbruken med rundt 40% samtidig som søkekvaliteten holdes på samme nivå.</p>
</blockquote>
<figcaption>— zilliztech/claude-context, https://github.com/zilliztech/claude-context</figcaption>
</figure>

claude-context krever en ekstern vektordatabase, en nøkkel fra en embeddingtilbyder og en nyere versjon av Node. Av de to er det mest komplisert å sette opp, så jeg anbefaler nybegynnere å begynne med noe annet.

## Hva kan du gjøre direkte i Claude Code uten tredjepartsverktøy?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Innebygde kommandoer løser halvparten av problemet. `/context` viser nøyaktig hva som bruker kontekst. `/compact` komprimerer historikken, `/clear` tilbakestiller den før en ny oppgave, og `/doctor` finner unødvendige elementer og foreslår opprydding. En kort CLAUDE.md-fil i stedet for en overdimensjonert fil sparer tusenvis av tokens i hver melding.

</div>

Før du installerer tredjepartsverktøy, bør du få mest mulig ut av det Claude Code allerede har. Disse kommandoene er gratis og virker med en gang.

1.  `/context` – viser en oppdatert oversikt over hva som opptar vinduet: systemprompt, CLAUDE.md, minne, verktøy og filer. Kommandoen `/mcp` viser kostnaden for hver tilkoblede server, og `/memory` viser hva som ble lastet inn ved oppstart.
2.  `/compact` – komprimerer samtalehistorikken til et kort sammendrag og fortsetter med samme oppgave. Du kan styre fokuset ved å legge til det som skal bevares i `/compact`.
3.  `/clear` – forkaster hele historikken. Den offisielle anbefalingen er å kjøre den når du bytter til en urelatert oppgave, slik at den gamle samtalen ikke tar opp plassen til filene du trenger.
4.  `/doctor` (også kjent som `/checkup`, introdusert 8. juli 2026) – diagnostiserer oppsettet og foreslår løsninger: fjerner duplikater i CLAUDE.md, finner ubrukte verktøy og servere og oppdager trege behandlere.

En egen merknad om CLAUDE.md. Denne filen lastes inn i konteksten ved starten av hver økt og tas med i hver melding. Hvis den er for stor, fortsetter du å betale for den. Den offisielle anbefalingen er å holde den under 200 linjer og flytte referansedetaljer til skills som lastes inn ved behov. Jeg har dekket hvordan du setter opp CLAUDE.md riktig i den separate guiden [«Slik konfigurerer du CLAUDE.md»](https://ailoot.ai/blog/nb/claude-md-template/).

En annen innebygd mulighet er underagenter. De har sin egen separate kontekst, så du kan delegere omfattende lesing og rekognosering til dem uten å fylle opp hovedvinduet. Anthropic beskriver det generelle prinsippet slik i sin tekniske analyse.

<figure>
<blockquote>
<p>Godt kontekst arbeid betyr å finne det minst mulige settet med informasjonstette tokens som gir ønsket resultat.</p>
</blockquote>
<figcaption>— Anthropic, https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents</figcaption>
</figure>

## Vil en ekstra MCP-server gjøre konteksten enda større?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Det er en rimelig bekymring, men nei. Siden 2026 har Claude Code ikke lastet inn fullstendige beskrivelser av MCP-verktøy i konteksten som standard – det utsetter dem og laster bare inn det som faktisk trengs. Ved oppstart blir bare navnene tatt med i konteksten. En kodeindeks legger derfor til ubetydelig systemoverhead, samtidig som den sparer tusenvis av tokens som ellers ville gått med til å lese filer på nytt.

</div>

Logikken om at «én server til betyr mer kontekstoverhead» stemte før, men Claude Code har endret seg. Beskrivelser av MCP-verktøy utsettes nå som standard: Bare servernavn tas med i konteksten ved oppstart, og fullstendige beskrivelser lastes inn når et bestemt verktøy trengs for oppgaven. Dokumentasjonen sier dette direkte.

<figure>
<blockquote>
<p>Verktøysøk holder MCP-kontekstbruken lav ved å utsette verktøybeskrivelser til Claude trenger dem. Ved oppstart av en økt lastes bare verktøynavnene inn, så å legge til MCP-servere har nesten ingen påvirkning på kontekstvinduet.</p>
</blockquote>
<figcaption>— Claude Code Docs, https://code.claude.com/docs/en/mcp</figcaption>
</figure>

Regnestykket for kodeminne er enkelt. En liten, fast overhead for verktøynavn veies opp av tusenvis av sparte tokens fordi agenten ikke lenger leser filer på nytt. Balansen taler klart for indeksen.

Et par ærlige forbehold, så du ikke forventer magi. Indeksen må bygges opp på nytt av og til – kartet gjenspeiler koden slik den var da den ble skannet, og må oppdateres etter større endringer (dette varierer fra verktøy til verktøy: Noen gjør det automatisk, mens andre krever en kommando). Store påstander som «120 ganger færre tokens» beskriver de beste resultatene for utvalgte søk, ikke hva du vil se på hver oppgave. Den reelle besparelsen er mer moderat, men likevel merkbar. Hvis du vil lese mer om hvordan du generelt unngår å bruke opp grensene, har jeg en egen analyse: [«Slik unngår du å bruke opp Claude Code-grensene»](https://ailoot.ai/blog/nb/claude-code-token-limits-saving/).

## Hvor bør du begynne i dag?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigste punkter">

Viktigste punkt

Begynn med det som er gratis og raskt. Kjør `/doctor` for å rydde opp i unødvendige elementer. Kort ned CLAUDE.md til 200 linjer. Disse trinnene reduserer det Claude tar med inn i hver oppgave, og begynner å spare tokens og grenser.

</div>

Hvis du fjerner alt som ikke er nødvendig, er dagens plan enkel:

1.  Kjør `/doctor` og rydd opp i det den foreslår: duplikater i CLAUDE.md og ubrukte verktøy.
2.  Kort ned CLAUDE.md til 200 linjer, og flytt referansemateriale til skills.

Velg deretter ut fra behovene dine: Hvis du refaktorerer mye, legg til Serena for presise redigeringer; trenger du meningsbasert søk, setter du opp claude-context. Kodeminne og en ryddig kontekst løser hovedproblemet i dag.

<div class="section" role="doc-bibliography" aria-label="Kilder">

### Kilder

- [Serena, GitHub](https://github.com/oraios/serena)
- [zilliztech/claude-context, GitHub](https://github.com/zilliztech/claude-context)
- [Claude Code: kontekstvindu, /compact, /clear, /context (offisiell dokumentasjon)](https://code.claude.com/docs/en/context-window)
- [Claude Code: koble til MCP og verktøysøk (offisiell dokumentasjon)](https://code.claude.com/docs/en/mcp)
- [Anthropic: effektiv kontekstteknikk for AI-agenter](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)

</div>



Hvis du trenger tilgang til AI-modeller gjennom Ailoot, kan du se [Ailoot](https://ailoot.ai/).

## Spørsmål om denne veiledningen: Hvorfor Claude Code leser hele prosjektet på nytt, og hvordan du løser det

### Når bør jeg velge symbolnavigasjon fremfor meningsbasert kodesøk?

Velg symbolnavigasjon som Serena for definisjoner, kallesteder og presis refaktorering. Meningsbasert søk som claude-context hjelper når du kjenner ønsket atferd, men ikke symbolnavnet. Det krever ekstra oppsett av database og embeddings.

### Kan jeg stole på kodekartet etter endringer?

Kontroller at indeksen er oppdatert. Et kart gjenspeiler koden som ble skannet, og oppdateringsatferd varierer mellom verktøy. Bruk kartet til å finne relevant kode, og verifiser deretter de aktuelle filene før du endrer dem.


## Ailoot · Selskapet og dets prosjektportefølje

Ailoot bygger på etablert driftserfaring, en stor kundebase, stabil tjeneste og løpende KPI-kontroll.

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Ailoot bruker denne driftserfaringen til API-tilgang til AI-funksjoner i kundenes produkter, agenter, applikasjoner og automatiseringer.
