Laatst bijgewerkt:
CLAUDE.md maken: zo doe je het, stap voor stap (met voorbeeld)
CLAUDE.md maak je zo: open je project in de terminal, start claude en typ /init. Claude schrijft dan een eerste versie, die jij inkort tot de regels die Claude niet zelf uit je code kan halen. Met /context controleer je daarna of het bestand geladen is. Je hebt Claude Code nodig met een betaald plan (Pro of hoger) of API-tegoed, en ongeveer twintig minuten. Programmeren hoef je niet te kunnen. Onderaan staat een voorbeeld voor een MKB-project dat je kunt kopiëren. Gecontroleerd op 28 oktober 2026.
Eerst begrijpen
Wat is CLAUDE.md en wat doet het bestand?
Elke sessie van Claude Code begint met een leeg contextvenster: Claude weet niets meer van gisteren. CLAUDE.md is een gewoon tekstbestand in Markdown (platte tekst met # voor koppen en - voor lijstjes) dat Claude aan het begin van elke sessie inleest. Je schrijft er op wat je anders elke keer opnieuw uitlegt: hoe je het project test, welke afspraken gelden en waar de valkuilen zitten.
Hoe de bestanden laden
Claude Code leest CLAUDE.md en CLAUDE.local.md in de map waarin je het start en in elke map daarboven. Ze overschrijven elkaar niet: alles wordt achter elkaar geplakt, van breed naar specifiek. Wat het dichtst bij je werkmap staat, leest Claude als laatste. Een CLAUDE.md in een submap laadt pas zodra Claude in die submap een bestand leest of wijzigt. Waarom dat ertoe doet: start je Claude in de verkeerde map, dan mist hij je projectregels.
Een richtlijn, geen slot op de deur
Claude behandelt CLAUDE.md als context, niet als afgedwongen configuratie. Hij volgt het bijna altijd, maar het blijft zijn afweging per taak. Moet iets echt altijd of nooit gebeuren, zoals nooit je .env-bestand lezen, dan hoort dat in een hook of een deny-regel in je instellingen. Dat onderscheid komt verderop terug, want het is de bron van de meeste frustratie.
Overleeft het /compact?
Ja, de CLAUDE.md in de root van je project wel. Na /compact, waarmee Claude een lang gesprek samenvat om ruimte te maken, leest Claude Code dat bestand opnieuw van schijf. Een CLAUDE.md in een submap en regels met een paths-filter laden pas weer als Claude daar opnieuw bestanden aanraakt. Wat je alleen in het gesprek hebt gezegd, kan na compaction weg zijn. Daarom: wat moet blijven, zet je in het bestand.
| Niveau | Pad | Geldt voor | Gebruik je voor |
|---|---|---|---|
| Organisatie (managed) | PadmacOS: /Library/Application Support/ClaudeCode/CLAUDE.md, Windows: C:\Program Files\ClaudeCode\CLAUDE.md, Linux: /etc/claude-code/CLAUDE.md | Geldt voorIedereen op die computer | Gebruik je voorBedrijfsbrede afspraken die IT uitrolt |
| Persoonlijk | Pad~/.claude/CLAUDE.md | Geldt voorAlleen jij, in al je projecten | Gebruik je voorJe eigen werkvoorkeuren |
| Project | Pad./CLAUDE.md of ./.claude/CLAUDE.md | Geldt voorIedereen die de repository gebruikt | Gebruik je voorTeamafspraken; dit bestand commit je in git |
| Lokaal | Pad./CLAUDE.local.md | Geldt voorAlleen jij, in dit ene project | Gebruik je voorPersoonlijke projectnotities; zet het in .gitignore |
| Regels | Pad.claude/rules/*.md | Geldt voorIedereen, eventueel alleen voor bepaalde bestanden | Gebruik je voorGrote projecten opdelen per onderwerp |
Voorbereiding
Wat heb je nodig voor een CLAUDE.md-bestand?
Weinig. Het bestand zelf is gratis en werkt op elk plan waarop Claude Code werkt. Zet dit klaar voordat je begint.
Werk je in VS Code of de desktop-app?
Dan werkt het hetzelfde. De desktop-app gebruikt dezelfde CLAUDE.md en CLAUDE.local.md als de terminal. In de VS Code-extensie open je ze via het commandomenu: typ / en kies onder Customize de optie Instructions (vanaf v2.1.274). Bestaat het bestand nog niet, dan maakt Claude Code het eerst aan. Nog niets geïnstalleerd? Volg Claude Code installeren of Claude Code in VS Code.
Niet voor de gewone Claude-chat
CLAUDE.md is van Claude Code. In de chat op claude.ai en in de Claude-app geef je vaste instructies via de instructies van een project of via memory. Het idee is hetzelfde, het bestand niet.
| Onderdeel | Wat je nodig hebt | Waarom |
|---|---|---|
| Claude-plan | Wat je nodig hebtPro, Max, Team of Enterprise, of een Console-account met API-tegoed | WaaromClaude Code zit niet in het gratis plan; CLAUDE.md is een onderdeel van Claude Code |
| Claude Code | Wat je nodig hebtGeïnstalleerd en ingelogd; controleer met claude --version | WaaromAGENTS.md lezen vraagt v2.1.277 of nieuwer, /doctor prompt-audit v2.1.283 of nieuwer |
| Een projectmap | Wat je nodig hebtBij voorkeur een git-repository, maar een gewone map werkt ook | WaaromIn git deel je de CLAUDE.md met je team en zie je wat er verandert |
| Een teksteditor | Wat je nodig hebtElke editor: VS Code, Kladblok, TextEdit in platte-tekstmodus | WaaromJe gaat het bestand zelf lezen en inkorten |
| Tijd | Wat je nodig hebtOngeveer 20 minuten voor de eerste versie | WaaromInclusief /init, inkorten en testen; daarna groeit het bestand mee met je werk |
Stappenplan
CLAUDE.md maken in zeven stappen
Je laat Claude het voorwerk doen en besteedt je eigen tijd aan schrappen en aanvullen. Elke stap zegt waarom, zodat je weet wat je overslaat als je het anders doet.
Liever zonder /init?
Dat kan. Maak in de root van je project een bestand dat precies CLAUDE.md heet en plak het voorbeeld hieronder erin. Of typ /memory en kies het projectbestand: bestaat het nog niet, dan maakt Claude Code het aan en opent het in je editor. Voor een lege map zonder code is dit zelfs de betere route, want /init heeft dan niets om te analyseren.
Later iets toevoegen tijdens het werk
Zeg tegen Claude letterlijk zet dit in CLAUDE.md, gevolgd door de regel. Zeg je alleen "onthoud dit", dan slaat Claude het op in zijn automatische geheugen (auto memory), een aparte notitiemap per project op je eigen computer. Die notities deel je niet via git met je team.
- 1
Open een terminal in je projectmap. Bijvoorbeeld cd ~/projecten/website. Waarom: Claude Code laadt CLAUDE.md uit de map waarin je hem start en de mappen erboven. Start je ergens anders, dan ziet hij je projectregels niet.
- 2
Start Claude Code met claude. De eerste keer log je in via de browser met je Claude-account. Werk je in een git-repository, zorg dan dat je op een eigen branch zit, zodat je de nieuwe CLAUDE.md eerst kunt bekijken.
- 3
Typ /init. Claude bekijkt je code en schrijft een CLAUDE.md met de build- en testcommando's en conventies die hij vindt. Bestaat er al een CLAUDE.md, dan stelt /init verbeteringen voor in plaats van het bestand te overschrijven. Wil je een uitgebreidere route, zet dan eerst de omgevingsvariabele CLAUDE_CODE_NEW_INIT=1: /init vraagt dan ook naar skills en hooks, stelt vragen over wat het niet uit de code haalt en laat een voorstel zien voordat het iets schrijft.
- 4
Lees het resultaat en schrap. Open het bestand met /memory of in je editor. Haal weg wat Claude zelf uit de code haalt: een beschrijving van de mappenstructuur, een lijst met packages, een algemene architectuuruitleg. Waarom: elke regel kost bij elke taak een beetje aandacht van Claude. Anthropic zegt het zelf: na /init bestaat het werk vooral uit regels weghalen.
- 5
Vul aan met wat Claude niet kan zien. Denk aan: hoe je werk controleert (het exacte test- of lintcommando), afspraken uit een overleg die nergens in de code staan, hoe en wanneer er gedeployed wordt, een map die oud lijkt maar nog live is, en elke fout die Claude al twee keer heeft gemaakt. Schrijf het toetsbaar: "Draai npm test voor je commit" werkt beter dan "Test je wijzigingen".
- 6
Zet persoonlijke voorkeuren apart. Voorkeuren voor alleen dit project gaan in CLAUDE.local.md in de root; vraag Claude die naam aan je .gitignore toe te voegen. Voorkeuren voor al je projecten gaan in ~/.claude/CLAUDE.md. Waarom: de project-CLAUDE.md delen je collega's, en jouw smaak hoort daar niet in.
- 7
Commit de CLAUDE.md. Typ bijvoorbeeld git add CLAUDE.md en git commit -m "CLAUDE.md toegevoegd", of vraag Claude het te doen. Waarom: dan werkt Claude voor iedereen in het team met dezelfde afspraken, en zie je in de geschiedenis wie welke regel toevoegde.
Voorbeeld
CLAUDE.md voorbeeld voor een MKB-project om te kopiëren
Een voorbeeld: een installatiebedrijf met tien medewerkers laat de website onderhouden door een parttime ontwikkelaar, en de marketingmedewerker past met Claude Code zelf teksten aan. Dit is de CLAUDE.md die we voor zo'n situatie zouden opzetten. Vervang wat tussen [blokhaken] staat en schrap wat niet klopt.
Het bestand: CLAUDE.md in de root van je project
<!-- Pas de regels tussen [] aan. Dit commentaar ziet Claude niet. -->
# Project: website [bedrijfsnaam]
Website van een installatiebedrijf. Next.js met TypeScript en Tailwind. Live via [Vercel].
## Commando's
- Installeren: npm install
- Lokaal starten: npm run dev (http://localhost:3000)
- Controleren voordat je zegt dat je klaar bent: npm run lint en npx tsc --noEmit
- Bouwen: npm run build, alleen als ik erom vraag
## Werkafspraken
- Werk op een eigen branch, nooit direct op main
- Push en deploy alleen als ik dat expliciet vraag
- Raakt een wijziging meer dan 5 bestanden: laat eerst een plan zien
- Leg na elke wijziging in twee zinnen uit wat je deed en waarom
## Teksten op de site
- Nederlands, je-vorm, korte zinnen
- Prijzen altijd excl. btw, met "excl. btw" erachter
- Verzin geen klantnamen, reviews, cijfers of certificeringen
## Valkuilen
- src/legacy/ is nog live: niet verwijderen, maar ook geen patronen eruit overnemen
- Formulieren gaan via src/lib/crm.ts naar ons CRM, niet rechtstreeks per mail
- Testdata: alleen verzonnen namen en adressen op voorbeeld.nl, nooit echte klantgegevens
Waarom deze onderdelen erin staan
De commando's staan bovenaan omdat Claude zijn eigen werk alleen kan controleren als hij weet hoe. Anthropic raadt aan om in elk geval het commando op te nemen waarmee je die controle draait. De werkafspraken leggen vast wat niet in de code te zien is: wie beslist over publiceren. De tekstregels zijn er voor de marketingmedewerker, die geen code leest maar wel wil dat de site in de huisstijl blijft. De valkuilen zijn precies de dingen die Claude anders verkeerd zou doen, omdat de code ze niet verraadt. Wat er bewust niet in staat: de mappenstructuur en de lijst met packages. Die leest Claude zelf.
Waarom het HTML-commentaar bovenaan
Commentaar tussen <!-- en --> haalt Claude Code weg voordat het bestand in de context gaat. Je kunt dus notities voor collega's achterlaten zonder dat het Claude iets kost. Commentaar binnen een codeblok blijft wel staan.
En je persoonlijke bestand: ~/.claude/CLAUDE.md
# Mijn voorkeuren
- Antwoord in het Nederlands; code, variabelen en commitberichten in het Engels
- Ik ben geen ontwikkelaar: leg vaktermen in één zin uit
- Vraag eerst als een taak groter lijkt dan een half uur werk
Dit bestand geldt in al je projecten en deel je met niemand. Houd het nog korter dan het projectbestand, want het laadt overal.
Controle
Werkt het? Zo controleer je of Claude je CLAUDE.md leest
Test in twee stappen: eerst of het bestand geladen is, daarna of Claude er ook naar handelt. Doe dat in een nieuwe sessie, zodat je zeker weet dat Claude met de nieuwste versie begint.
De eerste prompt om te plakken
Welke projectinstructies heb je aan het begin van deze sessie gekregen? Noem uit welke bestanden ze komen. Geef daarna letterlijk: 1) het commando waarmee je je werk controleert, 2) wat je moet doen voordat je pusht of deployt, 3) één valkuil uit de instructies. Verzin niets: staat iets er niet in, zeg dat dan.
Waar je op let
Noemt Claude je bestanden en citeert hij de commando's en de regel over pushen goed, dan is je CLAUDE.md geladen. Bij de echte taak hoort hij uit zichzelf je lint- of testcommando te draaien. Doet hij dat niet, dan staat het commando er waarschijnlijk te vaag in. De regel "verzin niets" staat in de prompt omdat een taalmodel anders een plausibel antwoord kan geven op basis van wat het in je code ziet.
Nog strenger: laat Claude je bestand keuren
Vanaf v2.1.283 typ je /doctor prompt-audit. Claude zoekt dan naar verouderde instructies, verwijzingen naar bestanden of commando's die niet bestaan en regels die elkaar tegenspreken. Je krijgt een rapport met voorstellen; er verandert niets tot jij zegt dat het mag. Gewoon /doctor stelt ook inkortingen voor van dingen die Claude zelf uit de code kan afleiden.
- 1
Sluit Claude Code af en start opnieuw met claude in de projectmap.
- 2
Typ /context. Je ziet hoe je contextvenster gevuld is. Onder Memory files hoort het pad naar je CLAUDE.md te staan, en eventueel je CLAUDE.local.md en ~/.claude/CLAUDE.md. Staat het er niet, dan kan Claude het niet zien: ga naar de probleemtabel.
- 3
Plak de testprompt hieronder en vergelijk het antwoord met je bestand.
- 4
Geef daarna een kleine echte taak die een van je regels raakt, bijvoorbeeld een tekstwijziging. Let op of Claude een branch maakt, je controlecommando draait en niet zelf pusht.
Wat erin hoort
Wat zet je in een CLAUDE.md-bestand, en wat niet?
De vuistregel van Anthropic: schrijf alleen op wat Claude niet vindt door je code te lezen, of wat hij anders elke sessie opnieuw moet uitzoeken. Twee vragen helpen: kan hij het vinden door de code te lezen, en zou hij ook echt gaan kijken? Twee keer ja: laat het weg.
Onder de 200 regels, concreet en zonder tegenspraak
De richtlijn is minder dan 200 regels per bestand. Langere bestanden kosten meer context en Claude volgt ze minder trouw. Schrijf regels die je kunt controleren: "Gebruik 2 spaties inspringing" in plaats van "Formatteer netjes", "API-handlers staan in src/api/handlers/" in plaats van "Houd het georganiseerd". Groepeer onder kopjes met korte opsommingen. En spreken twee regels elkaar tegen, ook verspreid over bestanden, dan kiest Claude er willekeurig een.
Hoofdletters en IMPORTANT helpen niet
Blijft Claude een regel missen, dan is extra nadruk zelden de oplossing. Volgens Anthropic is het bestand dan te lang geworden, waardoor de regel ondersneeuwt, of is het een regel zonder uitzonderingen. Die laatste hoort in een hook. Het omgekeerde geldt ook: heb je hooks voor dingen die eigenlijk voorkeuren zijn, schrap ze en laat Claude kiezen.
Regels per map met .claude/rules/
Maak in je project een map .claude/rules/ met losse bestanden per onderwerp, zoals testing.md of teksten.md. Zonder filter laden ze altijd. Met bovenaan een paths-blok laden ze alleen als Claude met passende bestanden werkt. Bijvoorbeeld .claude/rules/api.md:
---
paths:
- "src/api/**/*.ts"
---
- Valideer elke request met de schema's in src/api/schemas/
- Elk nieuw endpoint krijgt een regel in openapi.yaml
Persoonlijke regels voor al je projecten zet je in ~/.claude/rules/.
Andere bestanden importeren met @
Met @pad/naar/bestand haal je een ander bestand binnen, bijvoorbeeld @README of @docs/huisstijl.md. Paden zijn relatief aan het bestand waarin de import staat, en imports mogen maximaal vier lagen diep. Let op: een import maakt je CLAUDE.md overzichtelijker, maar niet goedkoper, want het geïmporteerde bestand laadt volledig mee. Wil je een pad noemen zonder het te importeren, zet het dan tussen backticks. Wijst een import buiten je projectmap, dan vraagt Claude Code eenmalig om toestemming.
| Soort instructie | Waar het hoort | Waarom daar |
|---|---|---|
| Commando's om werk te controleren (test, lint, typecheck) | Waar het hoortCLAUDE.md | Waarom daarClaude kan zijn werk alleen nakijken als hij weet hoe |
| Afspraken die niet in de code staan (deploy, wie beslist) | Waar het hoortCLAUDE.md | Waarom daarClaude kan ze nergens anders vinden |
| Mappenstructuur, lijst met packages, architectuuruitleg | Waar het hoortWeglaten | Waarom daarClaude leest dat zelf uit de code, en het maakt het bestand lang |
| Regels voor één deel van de code | Waar het hoort.claude/rules/ met een paths-filter | Waarom daarLaadt alleen als Claude met die bestanden werkt |
| Een stappenplan dat je af en toe nodig hebt (release, offerte opmaken) | Waar het hoortEen skill | Waarom daarClaude ziet alleen naam en omschrijving tot de taak erom vraagt |
| Regels zonder uitzondering (nooit .env lezen, altijd formatter draaien) | Waar het hoortHook of deny-regel in .claude/settings.json | Waarom daarDie dwingt Claude Code af, wat Claude ook besluit |
| Jouw persoonlijke voorkeuren | Waar het hoortCLAUDE.local.md of ~/.claude/CLAUDE.md | Waarom daarJe legt je smaak niet op aan je collega's |
| Wachtwoorden, API-keys, klant- of persoonsgegevens | Waar het hoortNergens in een instructiebestand | Waarom daarHet bestand gaat mee in git en in elke sessie naar het model |
Andere tools
CLAUDE.md en AGENTS.md: werken met Cursor, Codex of Copilot ernaast
AGENTS.md is het instructiebestand dat andere coding agents gebruiken, zoals OpenAI Codex en Cursor. Sinds v2.1.277 leest Claude Code het zelf, zonder import of instelling. Welk bestand Claude leest hangt af van wat er in je repository staat.
Ons advies voor een gemengd team
Werkt een deel van je team met Cursor of Codex, houd dan AGENTS.md als het ene gedeelde bestand en zet ernaast een CLAUDE.md die begint met de regel @AGENTS.md, met daaronder alleen wat specifiek voor Claude is. Waarom: dan werkt het ook in sessies die AGENTS.md niet direct kunnen lezen, en heb je straks niet twee bestanden die uit elkaar groeien. Een symlink (ln -s AGENTS.md CLAUDE.md) kan ook, maar niet als iemand op Windows werkt: daar vraagt een symlink beheerdersrechten en checkt git hem uit als een tekstbestand van één regel.
Kiezen welke bestanden laden
Typ /config en zet Project instructions op een van de vier waarden: claude-md-or-agents-md (de standaard), claude-md-and-agents-md (allebei, CLAUDE.md eerst), claude-md (alleen CLAUDE.md) of managed-only (alleen de organisatie-instructies). Let op een valkuil: ook een CLAUDE.local.md telt als CLAUDE.md. Maak je er een aan in een project dat op AGENTS.md draait, dan leest Claude je AGENTS.md niet meer, tenzij je de tweede waarde kiest.
Overstappen van een andere tool
/init leest bestaande Cursor-regels (.cursor/rules/ en .cursorrules) en Copilot-instructies (.github/copilot-instructions.md) mee en neemt de bruikbare delen over. Met /import haal je de configuratie van Codex, Gemini CLI of Cursor op je computer binnen, inclusief instructiebestanden, MCP-servers en skills. Gebruik /import --dry-run om eerst te zien wat er zou veranderen.
| Je repository heeft | Claude leest |
|---|---|
| Een AGENTS.md en geen CLAUDE.md of CLAUDE.local.md in je werkmap of daarboven | Claude leestJe AGENTS.md |
| Een AGENTS.md én een CLAUDE.md of CLAUDE.local.md | Claude leestAlleen je CLAUDE.md-bestanden |
| Een CLAUDE.md die AGENTS.md importeert met @AGENTS.md | Claude leestJe CLAUDE.md, met AGENTS.md erin via de import |
Beschikbaarheid: AGENTS.md direct lezen vraagt Claude Code v2.1.277 of nieuwer. Lukt het niet in jouw sessie, dan werkt de import @AGENTS.md vanuit een CLAUDE.md altijd.
AGENTS.md in Claude Code (officieel)Problemen
Claude negeert je CLAUDE.md? Meldingen, oorzaken en oplossingen
Begin altijd met /context: staat je bestand niet onder Memory files, dan ligt het aan het laden. Staat het er wel, dan ligt het aan hoe de regel geschreven is.
Botst je regel met wat Claude Code zelf doet?
Claude Code heeft eigen ingebouwde instructies voor commits en pull requests. Leg je in CLAUDE.md eigen regels vast voor commitberichten, dan kunnen die botsen. Zet de ingebouwde git-instructies uit met de instelling includeGitInstructions en stel de eigen tekst onder commits in met attribution.
| Wat je ziet | Oorzaak | Oplossing |
|---|---|---|
| Je CLAUDE.md staat niet onder Memory files in /context | OorzaakClaude gestart in een andere map, of het bestand heet anders | OplossingStart claude in de projectmap of een submap ervan en noem het bestand precies CLAUDE.md |
| Claude volgt een regel die er wel in staat niet | OorzaakRegel is vaag, spreekt een andere regel tegen of verdrinkt in een lang bestand | OplossingMaak de regel toetsbaar, draai /doctor prompt-audit, of verplaats een regel zonder uitzonderingen naar een hook |
| Instruction file not loaded (a Read deny rule covers it) | OorzaakEen deny-regel in je instellingen blokkeert het lezen van dat bestand | OplossingVerwijder of versmal de deny-regel en start een nieuwe sessie |
| Waarschuwing bij het opstarten of in /status dat een instructiebestand te lang is | OorzaakHet bestand zit boven de aanbevolen lengte, of alle bestanden samen zijn te groot | OplossingInkorten, delen verplaatsen naar .claude/rules/ met een paths-filter, of /doctor laten voorstellen |
| Een regel is weg na /compact | OorzaakJe gaf hem alleen in het gesprek, of hij staat in een submap of een regel met paths-filter | OplossingZet hem in de CLAUDE.md in de root van je project |
| Claude houdt zich niet aan het einde van een CLAUDE.md in een submap | OorzaakHet bestand zit boven de limiet per bestand, 40.000 tekens bij een contextvenster van 200K | OplossingTel met wc -m CLAUDE.md en splits het over meerdere regelbestanden |
| Je AGENTS.md wordt niet gelezen | OorzaakEr staat ook een CLAUDE.md of CLAUDE.local.md op het pad, of je versie is ouder dan v2.1.277 | OplossingZet @AGENTS.md in je CLAUDE.md of kies claude-md-and-agents-md in /config |
| Na "onthoud dit" staat er niets in CLAUDE.md | OorzaakDat gaat naar auto memory, niet naar CLAUDE.md | OplossingZeg "zet dit in CLAUDE.md" of bewerk het bestand via /memory |
| Een vraag om externe imports goed te keuren | OorzaakEen @-import of symlink wijst naar een bestand buiten je projectmap | OplossingKeur goed als je de bestanden kent; weiger je, dan blijven ze uit en komt de vraag niet terug |
Ons oordeel
Ons oordeel: wanneer een CLAUDE.md loont en wanneer niet
Een CLAUDE.md is een kleine investering: twintig minuten werk, en daarna profiteert elke sessie. Maar het is een briefing, geen handboek en geen beveiliging.
Wel doen
In elk project waar je vaker dan een paar keer met Claude Code werkt, en altijd zodra een tweede persoon meewerkt. Ook als je niet programmeert: wie Claude Code gebruikt voor teksten, rapportages of een map met offertes, heeft net zo goed afspraken die Claude niet uit de bestanden haalt, zoals je-vorm of u-vorm en welke map het origineel is.
Niet doen, of iets anders gebruiken
Voor een eenmalige klus loont een eigen CLAUDE.md niet; zet je wensen dan gewoon in de prompt. Voor een stappenplan dat je af en toe nodig hebt, gebruik je een skill. En voor alles wat zonder uitzondering moet, zoals een map die nooit gewijzigd mag worden, gebruik je een hook of een deny-regel. CLAUDE.md is daar te zacht voor.
De fout die we beginners het vaakst zien maken
Te veel erin zetten. De output van /init blijft ongelezen staan, er komt een huisstijlgids van twintig pagina's bij via een import, en na een maand staan er regels in die elkaar tegenspreken. Claude volgt dan juist minder van wat er staat. Onze aanpak in trainingen: begin met hooguit dertig regels, en voeg alleen iets toe als Claude dezelfde fout voor de tweede keer maakt. Dat is ook precies wanneer Anthropic zegt dat je iets moet toevoegen.
AVG en gevoelige gegevens
Je CLAUDE.md gaat bij elke sessie mee als context naar het model, en de projectversie staat in git bij iedereen die de repository heeft. Zet er dus geen wachtwoorden, API-keys, klantnamen of andere persoonsgegevens in, ook niet als voorbeeld. Wil je dat Claude bepaalde bestanden niet leest, regel dat dan met een deny-regel zoals Read(./.env) in je instellingen. Meer over wat er met je code gebeurt staat op Claude Code en privacy.
Voor IT-beheer in een Microsoft 365-omgeving
Rolt je organisatie Claude Code uit, dan kan IT een managed CLAUDE.md op elke computer zetten via MDM (bij veel Microsoft 365-bedrijven is dat Intune) of Group Policy, of de inhoud in managed settings zetten met de sleutel claudeMd. Gebruikers kunnen dat bestand niet uitsluiten. Gebruik het voor gedragsafspraken zoals een herinnering aan je dataclassificatie, en dwing harde grenzen af met managed settings zoals permissions.deny. Staat je code in Azure DevOps in plaats van GitHub: een CLAUDE.md is een gewoon bestand en werkt met elke git-remote.
Samen met je team opzetten
Het lastigste aan een gedeelde CLAUDE.md is niet het bestand maar de afspraken erachter: wie mag regels toevoegen, wat hoort in een hook en wat in een skill. In de Claude Code Masterclass zetten we dat met je team op aan de hand van jullie eigen repository.
Wat nu?
Wat nu? Vervolgstappen na je eerste CLAUDE.md
Staat je CLAUDE.md, dan zijn dit de logische volgende stappen. Kies er één die bij je volgende klus past.
Regels afdwingen in plaats van vragen
Zijn er regels die Claude echt nooit mag overslaan, zoals de formatter na elke wijziging of nooit in de migratiemap schrijven? Volg de tutorial Claude Code hooks. Wil je dat Claude eerst een plan laat zien voor grote wijzigingen, lees dan plan mode.
Procedures in skills
Groeit een stuk van je CLAUDE.md uit tot een stappenplan, verplaats het dan naar een skill. Hoe dat werkt staat op Claude Skills en in Claude skills voor je team.
Naslag over alle varianten
De volledige laadvolgorde, auto memory en de instellingen eromheen staan in de commands-gids en bij geheugen in Claude Code. De korte definitie staat in het woordenboek bij CLAUDE.md en AGENTS.md.
Meer tutorials
Je project op GitHub zetten en Claude pull requests laten maken: Claude Code en GitHub. Claude Code met je andere systemen verbinden: een MCP-server toevoegen. Een complete set agents, skills en hooks in één keer: Everything Claude Code.
FAQ
Veelgestelde vragen
Waar zet je het CLAUDE.md-bestand?
In de root van je project, als CLAUDE.md of als .claude/CLAUDE.md. Dan geldt het voor iedereen die in die repository werkt. Voorkeuren voor al je projecten zet je in ~/.claude/CLAUDE.md, en persoonlijke notities voor één project in CLAUDE.local.md, die je in .gitignore zet.
Hoe lang mag een CLAUDE.md zijn?
Anthropic adviseert minder dan 200 regels per bestand. Langere bestanden kosten meer context en Claude volgt ze minder trouw. Is het langer, verplaats dan delen naar .claude/rules/ met een paths-filter of naar een skill. Een import met @ maakt het overzichtelijker, maar niet korter voor Claude.
Moet een CLAUDE.md in het Engels?
Nee. Claude volgt Nederlandse instructies goed. Schrijf in de taal waarin je team ook onderling afspraken maakt, en laat commando's, bestandsnamen en code letterlijk staan. Wil je dat code en commitberichten Engels blijven, zet dat dan als regel in het bestand.
Leest Claude Code ook AGENTS.md?
Ja, vanaf versie 2.1.277. Staat er geen CLAUDE.md of CLAUDE.local.md in je werkmap of daarboven, dan leest Claude je AGENTS.md. Staan ze er allebei, dan leest Claude standaard alleen CLAUDE.md. Met @AGENTS.md bovenaan je CLAUDE.md of de instelling Project instructions in /config lees je ze samen.
Wat doet /init in Claude Code precies?
/init bekijkt je codebase en schrijft een eerste CLAUDE.md met build- en testcommando's en conventies die Claude vindt. Bestaat er al een, dan stelt het verbeteringen voor in plaats van te overschrijven. Het leest ook Cursor- en Copilot-regels mee. Daarna is het jouw werk om te schrappen wat Claude zelf uit de code haalt.
Waarom negeert Claude mijn CLAUDE.md?
Controleer eerst met /context of het bestand onder Memory files staat. Zo niet, dan start je Claude in de verkeerde map of heet het bestand anders. Staat het er wel, dan is de regel vaak te vaag, spreekt hij een andere regel tegen of is het bestand te lang. Een regel die altijd moet gelden, zet je in een hook.
Moet ik CLAUDE.md in git zetten?
De project-CLAUDE.md wel: dan werkt Claude voor je hele team met dezelfde afspraken en zie je wie wat toevoegde. CLAUDE.local.md juist niet, die zet je in .gitignore. Zet in geen van beide wachtwoorden, API-keys of persoonsgegevens.
Bronnen
Bronnen die we bijhouden
Elke claim op deze pagina is te herleiden; de officiële artikelen zijn op de bijwerkdatum nagelezen.
Officiële documentatie
- How Claude remembers your projectLocaties, laadvolgorde, 200 regels, imports, .claude/rules, AGENTS.md, auto memory en probleemoplossing.
- Best practices for Claude CodeWat erin hoort, een kort voorbeeld en wanneer een regel naar een hook moet.
- Commands/init, /memory, /context, /doctor en /import.
- Context windowWat er bij /compact met CLAUDE.md en regels gebeurt.
- Error reference: Instruction file not loadedBetekenis van de melding en wat je per oorzaak doet.
- Claude Code in VS CodeCLAUDE.md bewerken via Customize > Instructions.
- Claude Code DesktopDe desktop-app gebruikt dezelfde CLAUDE.md en CLAUDE.local.md als de terminal.
Verdieping op Project Impact
- Claude Code commands: CLAUDE.mdHet naslagblok met alle paden en instellingen.
- Claude Code-functies: geheugenCLAUDE.md naast auto memory en checkpoints.
- Claude Code installerenAlle installatieroutes en systeemeisen.
- Claude Code en privacyWat er met je code en context gebeurt.
- Claude SkillsWaar procedures thuishoren die niet in CLAUDE.md passen.
- Tutorial: Claude Code hooksRegels afdwingen die CLAUDE.md alleen kan vragen.
- Woordenboek: CLAUDE.mdDe korte definitie.
- Claude Code MasterclassMet je team een gedeelde CLAUDE.md, hooks en skills opzetten.
Eén CLAUDE.md voor je hele team?
In de Claude Code Masterclass zet je met je team een gedeelde CLAUDE.md op, plus de hooks en skills voor regels die echt moeten gelden.