Laatst bijgewerkt:
AGENTS.md voor Codex: schrijven, sjabloon en het verschil met CLAUDE.md
AGENTS.md is het Markdown-bestand met vaste instructies dat Codex inleest voordat het aan een taak begint: hoe je project bouwt en test, welke afspraken gelden en wat de agent niet mag aanraken. Codex zoekt het in je persoonlijke map ~/.codex en in elke map van de root van je repository tot je werkmap, plakt de gevonden bestanden samen tot 32 KiB, en het bestand dat het dichtst bij je werk staat, wint. Een eerste versie maak je met /init. Hieronder staat waar je welk bestand zet, een sjabloon voor een Nederlandse MKB-repo en hoe je hetzelfde bestand met Claude Code deelt. Gecontroleerd op 30 oktober 2026.
Wat het is
Wat AGENTS.md is en welke tools het lezen
AGENTS.md is een gewoon Markdown-bestand: geen verplichte velden, geen vaste koppen. Waar je README uitlegt aan mensen hoe het project werkt, vertelt AGENTS.md een coding agent wat hij moet weten voordat hij iets aanpast. Codex laadt het automatisch, dus je hoeft de afspraken niet in elke prompt te herhalen. OpenAI noemt het in de documentatie de beste plek om vast te leggen hoe jij en je team Codex in een repository willen laten werken.
Een open standaard, niet alleen van OpenAI
AGENTS.md begon als conventie van Codex en valt nu onder de Agentic AI Foundation, een project van de Linux Foundation. Volgens agents.md gebruiken meer dan 60.000 open-sourceprojecten het bestand. De site noemt onder meer Codex, Cursor, GitHub Copilot (coding agent), Gemini CLI, Jules, Aider, opencode, Zed, Warp, VS Code, Junie, Windsurf en Devin. Claude Code staat niet in die lijst, maar leest AGENTS.md volgens de eigen documentatie sinds versie 2.1.277 wel. Waarom dat telt: werkt je team met meer dan één tool, dan schrijf je de afspraken één keer.
Wat AGENTS.md niet is
Het is context, geen slot op de deur. Codex leest de regels en probeert ze te volgen, maar een regel als "nooit naar main pushen" houdt niets tegen. Wat echt niet mag, regel je met de sandbox en approval-instellingen (zie privacy en sandbox), met branch protection in GitHub en met tests in je CI. OpenAI zegt het zelf over reviewregels: ze sturen Codex, maar vervangen geen tests, branch protection of verplichte goedkeuringen.
AGENTS.md naast skills en plugins
AGENTS.md laadt bij elke taak volledig mee. Een skill laadt Codex pas als die nodig is: vooraf alleen de naam en beschrijving, de inhoud pas als de skill gekozen wordt. Daarom hoort een vaste huisregel in AGENTS.md en een stappenplan voor één soort klus (een release, een nieuwsbrief, een export) in een skill. De officiële bouwvolgorde begint ook bij AGENTS.md, daarna skills of plugins, dan MCP en als laatste subagents.
Locaties
Waar Codex AGENTS.md zoekt, en welk bestand wint
Codex bouwt bij het starten een instructieketen op: één keer per run, en in de terminal meestal één keer per gestarte sessie. Er is geen cache. Dit zijn de plekken waar je een bestand kunt zetten.
Wat dit voor je mappenindeling betekent
Start je Codex in de root, dan leest het alleen je persoonlijke bestand en de root-AGENTS.md. Een AGENTS.md in site/ telt pas mee als je Codex in site/ of dieper start, of met codex --cd site. Zet regels die altijd moeten gelden dus in de root, en regels voor één onderdeel in de map van dat onderdeel. Waarom: zo krijgt Codex alleen de regels die bij het werk horen, en blijft de totale omvang klein.
Windows en WSL
De Windows-app gebruikt dezelfde Codex-map als de native CLI: %USERPROFILE%\.codex. Draai je de CLI in WSL, dan gebruikt die standaard je Linux-homemap en dus een andere AGENTS.md en config.toml. Wil je één set, zet dan in WSL bijvoorbeeld export CODEX_HOME=/mnt/c/Users/jouwnaam/.codex. Installeren op Windows staat op Codex installeren.
En in Codex cloud en bij GitHub-reviews?
Voor code review in GitHub zoekt Codex de AGENTS.md-bestanden in je repository en volgt het de reviewregels die gelden voor elk gewijzigd bestand: de root plus de specifiekere bestanden. In een pull request kun je @codex add this to AGENTS.md typen om een aanpassing aan een cloudtaak over te laten. Of je persoonlijke ~/.codex/AGENTS.md in een cloudtaak meetelt, staat niet in de documentatie. Ga ervan uit van niet en zet alles wat het team nodig heeft in de repository. Meer over cloudtaken op Codex cloud.
- 1
Codex kijkt eerst in je Codex-map (standaard ~/.codex, of de map in de variabele CODEX_HOME). Daar gebruikt het AGENTS.override.md als die bestaat en niet leeg is, anders AGENTS.md.
- 2
Daarna loopt Codex van de projectroot, meestal de root van je Git-repository, omlaag naar de map waarin je werkt. Per map controleert het AGENTS.override.md, dan AGENTS.md, dan de namen uit project_doc_fallback_filenames, en neemt het hooguit één bestand per map.
- 3
De gevonden bestanden worden van boven naar beneden aan elkaar geplakt, met een lege regel ertussen. Een bestand dichter bij je werkmap staat later in die tekst en wint daardoor bij tegenstrijdige regels.
- 4
Lege bestanden slaat Codex over. Zodra alles samen 32 KiB bereikt, stopt het met toevoegen (zie groottelimiet).
| Niveau | Pad | Gebruik het voor |
|---|---|---|
| Persoonlijk | ~/.codex/AGENTS.md | Je eigen werkafspraken voor alle repo's, zoals de taal waarin Codex antwoordt |
| Persoonlijk, tijdelijk | ~/.codex/AGENTS.override.md | Tijdelijk andere regels; vervangt je persoonlijke AGENTS.md zolang hij bestaat en niet leeg is |
| Persoonlijk op Windows | %USERPROFILE%\.codex\AGENTS.md | Dezelfde map voor de Windows-app en de native CLI; WSL gebruikt standaard een eigen Linux-map |
| Project | AGENTS.md in de root | De gedeelde teamregels; zet hem in versiebeheer |
| Submap | site/AGENTS.md | Regels voor één deel van de repo, zoals de website of de scripts |
| Override in een submap | scripts/AGENTS.override.md | Vervangt de AGENTS.md in die map, voor afwijkende regels van één team of onderdeel |
| Andere bestandsnaam | project_doc_fallback_filenames | Alleen als er in die map geen AGENTS.override.md of AGENTS.md staat |
/init
AGENTS.md maken met /init
/init maakt een AGENTS.md-scaffold in de map waar je het draait. Het commando staat in de Codex CLI en in de IDE-extensie voor VS Code. OpenAI noemt het resultaat uitdrukkelijk een startpunt dat je aanpast aan hoe je team echt werkt. Zo doe je dat in zes stappen.
Komt je setup uit Claude Code of Cursor?
Dan hoef je niet bij nul te beginnen. Met /import in de Codex CLI kies je Claude Code of Cursor en neem je setup, projectbestanden en recente chats over. Instructiebestanden worden daarbij AGENTS.md, settings.json wordt config.toml, en skills blijven skills. Je bestaande setup in de andere tool blijft ongewijzigd. In de desktop-app kan dit ook vanuit Claude Cowork, en daar kun je automatische updates aanzetten. Lees de geïmporteerde AGENTS.md daarna net zo kritisch als een /init-resultaat. Alle commando's staan op Codex-commands.
- 1
Open een terminal in de root van je repository en start Codex met codex. In VS Code open je de Codex-zijbalk in dezelfde map.
- 2
Typ /init. Codex bekijkt je project en schrijft een AGENTS.md met onder meer mappen, commando's en conventies die het vindt.
- 3
Lees het bestand regel voor regel. Schrap alles wat Codex ook zelf uit de code haalt, zoals een lange mappenboom of een beschrijving van het framework. Waarom: elke regel gaat bij elke taak mee en kost tokens.
- 4
Controleer elk commando door het zelf te draaien. Een verkeerd testcommando in AGENTS.md is erger dan geen commando, want Codex vertrouwt het en kan dan "tests geslaagd" melden op basis van de verkeerde check.
- 5
Vul aan wat Codex niet kan weten: wat "klaar" betekent, welke mappen verboden terrein zijn, en afspraken over taal en aanspreekvorm. Gebruik het sjabloon hieronder als checklist.
- 6
Commit het bestand, zodat je hele team en elke cloudtaak dezelfde regels krijgt. Start daarna een nieuwe sessie en controleer of Codex de regels echt heeft ingelezen.
Beschikbaarheid: /init staat in de Codex CLI en de IDE-extensie. /import staat in de CLI (Claude Code, Cursor) en de desktop-app (ook Claude Cowork).
Slash commands in Codex CLI (officieel)Inhoud
Wat er in AGENTS.md hoort, en wat er niet in hoort
De best practices van OpenAI noemen de indeling van de repo en belangrijke mappen, de build-, test- en lintcommando's, en wat "klaar" betekent en hoe je werk controleert. Hun advies over lengte is kort: een korte, juiste AGENTS.md is nuttiger dan een lang bestand vol vage regels. Gebruik deze tabel als filter voor elke regel.
Schrijf regels die je kunt controleren
"Schrijf nette code" kan Codex niet toetsen. "Draai npm test voordat je klaar meldt en noem welke test je wijziging bewijst" wel. Een goede regel zegt wat Codex moet doen, wanneer, en hoe jij achteraf ziet dat het gebeurd is. Twijfel je of een regel erin moet, stel dan de vraag: maakt Codex zonder deze regel aantoonbaar een fout? Zo nee, laat hem weg.
Verwijzen in plaats van importeren
Claude Code kent @-imports in CLAUDE.md; de Codex-documentatie beschrijft voor AGENTS.md geen importsyntax. Een regel als @docs/review.md is voor Codex dus gewone tekst. Wordt je bestand te groot, volg dan het advies uit de best practices: houd het hoofdbestand kort en verwijs naar losse Markdown-bestanden per onderwerp, bijvoorbeeld "Lees docs/release.md voordat je een release voorbereidt."
| Onderwerp | Erin? | Waarom |
|---|---|---|
| Build-, test- en lintcommando's | Ja | Codex kan ze niet altijd raden en controleert er zijn eigen werk mee |
| Wat "klaar" betekent | Ja | Zonder die regel stopt Codex als de code er goed uitziet, niet als de tests slagen |
| Mappen en bestanden die verboden terrein zijn | Ja | Codex weet niet dat /exports klantdata bevat; de sandbox regelt daarna wat echt niet kan |
| Taal, aanspreekvorm en vaste termen | Ja | Anders neemt Codex de toon over van de code en documentatie die het leest |
| Reviewregels onder ## Code Review Rules | Ja | Codex gebruikt die kop bij reviews van pull requests in GitHub |
| Een volledige mappenboom | Nee | Codex leest de mappen zelf, en een boom in tekst veroudert bij elke verhuizing |
| Opmaakregels die je linter afdwingt | Nee | Dubbel werk; OpenAI adviseert mechanische controles in je CI te laten |
| Stappenplan voor één soort taak | Nee, naar een skill | Een skill laadt alleen als hij nodig is, AGENTS.md laadt altijd |
| Lange documentatie of je hele stijlgids | Nee, verwijs ernaar | Noem het pad, zoals docs/huisstijl.md; Codex opent het als de taak erom vraagt |
| Wachtwoorden, API-keys, persoonsgegevens | Nooit | Het bestand staat in versiebeheer en gaat bij elke taak naar het model |
Sjabloon
AGENTS.md voorbeeld: sjabloon voor een Nederlandse MKB-repo
Dit voorbeeld is voor een veelvoorkomende opzet: een website plus een paar interne scripts, bijvoorbeeld voor exports uit Exact Online of AFAS. Kopieer het, vervang alles tussen blokhaken en schrap wat niet voor jouw repo geldt. Ongewijzigd is het ongeveer 1,3 KB, ruim binnen de limiet van 32 KiB.
AGENTS.md om te kopiëren
# AGENTS.md voor [bedrijfsnaam]
## Project
- Website (Astro) in /site, interne scripts (Python) in /scripts
- Lezers zijn Nederlandse MKB-klanten. Alle teksten in het Nederlands, je-vorm
## Commando's
- Installeren: npm ci in /site, pip install -r scripts/requirements.txt
- Bouwen: npm run build in /site
- Testen: npm test in /site, pytest in /scripts
## Klaar betekent
- Build en tests slagen, en je noemt welke test je wijziging bewijst
- Je sluit af met: wat je hebt veranderd en wat je niet zeker weet
## Werkafspraken
- Kleine wijzigingen per taak. Geen nieuwe pakketten zonder akkoord
- Bedrijfsgegevens (KVK, adres, telefoon) alleen uit site/src/data/bedrijf.json
- Geen verzonnen cijfers, reviews of klantnamen. Ontbreekt iets, zet [AANVULLEN]
- Lees docs/huisstijl.md voordat je teksten voor de website schrijft
## Niet aanraken
- .env en alles in /exports (klantdata): niet openen, niet committen
- Scripts nooit tegen de echte administratie draaien, alleen tegen de testomgeving
## Code Review Rules
### Privacy
- Markeer code die persoonsgegevens logt of naar een dienst buiten de EU stuurt
- Markeer nieuwe tracking- of cookiescripts die niet via de cookiebanner lopen
### Inhoud
- Markeer elk nieuw cijfer, jaartal of klantcitaat dat niet in bedrijf.json staat
Welke regels het meeste doen
De sectie "Klaar betekent" is de belangrijkste. Zonder die regel meldt Codex klaar zodra de code compileert; met de regel draait het de tests en zegt het eerlijk wat onzeker is. "Niet aanraken" beschermt je klantdata, maar alleen als advies: zet /exports daarnaast in .gitignore en houd de sandbox op workspace-write, zodat Codex buiten je project niets kan schrijven. De Code Review Rules werken pas als je Codex-review in GitHub aanzet. OpenAI meldt dat Codex daar alleen P0- en P1-problemen markeert, dus jouw regels bepalen wat voor jouw repo als ernstig telt.
Een persoonlijk bestand voor jezelf
In ~/.codex/AGENTS.md zet je wat voor al je projecten geldt en niet in de repo van je team hoort, bijvoorbeeld:
## Mijn werkafspraken
- Antwoord in het Nederlands, code en commits in het Engels
- Vraag eerst als een taak meer dan vijf bestanden raakt
- Leg in twee zinnen uit waarom je een aanpak kiest
Houd dit bestand nog korter dan het projectbestand: het telt mee in elke repo waarin je werkt. Een uitgewerkt voorbeeld voor een website met Codex staat op website beheren met Codex.
Limiet
De groottelimiet: 32 KiB voor alle AGENTS.md-bestanden samen
Codex stopt met het toevoegen van instructiebestanden zodra de gecombineerde omvang project_doc_max_bytes bereikt. Standaard is dat 32 KiB, oftewel 32.768 bytes. Dat geldt voor de hele keten samen: je persoonlijke bestand, de root en alle submappen op het pad. Wat erna komt, telt niet mee, en je krijgt daar in de sessie geen melding van.
Hoeveel tekst is 32 KiB?
Gewone letters, cijfers en leestekens kosten één byte per teken, letters met accenten zoals é en ë twee. Een Nederlandse AGENTS.md van 32 KiB is dus iets minder dan 32.000 tekens. Meet het in de terminal met wc -c AGENTS.md (macOS, Linux, Git Bash) of in PowerShell met (Get-Item AGENTS.md).Length. Tel de bestanden op het pad bij elkaar op.
De limiet verhogen kan, maar is zelden de oplossing
In ~/.codex/config.toml zet je bijvoorbeeld:
project_doc_max_bytes = 65536
en daarna herstart je Codex. OpenAI noemt verhogen en opsplitsen over submappen als oplossingen voor afgekapte instructies. Wij raden opsplitsen aan. Waarom: alles in de keten gaat bij elke taak mee, dus een groter bestand betekent meer verbruik per beurt en meer regels die met elkaar kunnen botsen. De pricingpagina noemt een kleinere, per map geneste AGENTS.md zelfs als manier om je verbruik te drukken, zie Codex-limieten.
Vs CLAUDE.md
AGENTS.md vs CLAUDE.md: de verschillen op een rij
Beide bestanden doen hetzelfde: vaste projectcontext die de agent bij de start inleest. De spelregels verschillen. CLAUDE.md is het eigen bestand van Claude Code; hoe je dat schrijft staat in de tutorial CLAUDE.md schrijven en in het woordenboek onder CLAUDE.md.
Kies AGENTS.md als je bron als...
er in je team meer dan één coding agent wordt gebruikt, of als dat binnen een jaar zou kunnen. AGENTS.md lezen Codex, Cursor, Copilot en Claude Code allemaal; CLAUDE.md leest alleen Claude Code. Kies CLAUDE.md als enige bestand alleen als je zeker weet dat je team bij Claude Code blijft en je functies als @-imports of .claude/rules/ met padfilters wilt gebruiken. Welke tool bij je team past, staat op Claude Code vs Codex.
| Onderwerp | AGENTS.md (Codex) | CLAUDE.md (Claude Code) |
|---|---|---|
| Wie het leest | Codex en de andere tools van de open standaard | Claude Code |
| Persoonlijk bestand | ~/.codex/AGENTS.md | ~/.claude/CLAUDE.md |
| Projectbestand | AGENTS.md in de root van de repo | ./CLAUDE.md of ./.claude/CLAUDE.md |
| Afwijkend of persoonlijk per project | AGENTS.override.md, wint van AGENTS.md in dezelfde map | CLAUDE.local.md, hoort in .gitignore |
| Organisatiebreed bestand | Niet beschreven in de AGENTS.md-documentatie | Managed CLAUDE.md, beheerd door IT |
| Submappen | Bij de start alles van root tot werkmap, dichterbij wint | Bovenliggende bij de start, submappen zodra Claude daar bestanden opent |
| Andere bestanden binnenhalen | Geen importsyntax beschreven; verwijs naar het pad | @pad/naar/bestand, maximaal vier lagen diep |
| Omvang | Stopt bij 32 KiB voor alles samen, instelbaar | Advies: onder 200 regels per bestand |
| Startversie maken | /init in CLI en IDE-extensie | /init, stelt verbeteringen voor als het bestand al bestaat |
| Leest het bestand van de ander | Alleen via project_doc_fallback_filenames, als AGENTS.md in die map ontbreekt | Leest AGENTS.md vanaf v2.1.277 als er geen CLAUDE.md of CLAUDE.local.md op het pad staat |
| Override-bestanden van de ander | Niet van toepassing | Leest AGENTS.override.md en AGENTS.local.md niet |
Eén bron
Eén AGENTS.md voor Codex en Claude Code: vier opties
Het risico van twee bestanden is dat ze uit elkaar groeien: iemand past het testcommando aan in CLAUDE.md en vergeet AGENTS.md. Je krijgt geen foutmelding, de twee agents doen gewoon iets anders. Kies daarom één bron. Deze beslisregel helpt.
De CLAUDE.md die naast je AGENTS.md staat
Zo ziet de korte CLAUDE.md uit de tweede rij eruit:
@AGENTS.md
## Alleen voor Claude Code
- Gebruik de skill release-notes voor changelogs
Claude Code leest dan eerst AGENTS.md en daarna de regels eronder. Codex negeert CLAUDE.md, dus daar verandert niets. Let op: een CLAUDE.local.md telt voor Claude Code ook als CLAUDE.md. Maak je er een aan in een project dat op alleen AGENTS.md draait, dan leest Claude je AGENTS.md niet meer, tenzij je in /config bij Project instructions de waarde claude-md-and-agents-md kiest.
Codex laten lezen uit een bestaande CLAUDE.md
Zet in ~/.codex/config.toml:
project_doc_fallback_filenames = ["CLAUDE.md"]
en herstart Codex. Codex leest CLAUDE.md dan in elke map waar geen AGENTS.md of AGENTS.override.md staat. Twee beperkingen: elke collega moet dit in de eigen config zetten, en Claude-specifieke regels zoals @-imports leest Codex als gewone tekst. Gebruik het als overgangsoplossing.
Waarom wij de symlink afraden in Nederlandse teams
In veel MKB-teams werkt minstens één persoon op Windows met Microsoft 365. Een symlink aanmaken vraagt op Windows extra rechten of de ontwikkelaarsmodus, en zonder de juiste Git-instelling wordt hij uitgecheckt als een tekstbestand met één regel. De import @AGENTS.md werkt op elk systeem en Claude Code leest de inhoud daarbij nooit dubbel.
| Jouw situatie | Doe dit | Waarom |
|---|---|---|
| Nieuwe repo, geen Claude-specifieke regels | Alleen AGENTS.md, geen CLAUDE.md | Codex leest hem, Claude Code vanaf v2.1.277 ook; er is maar één bestand om bij te houden |
| Je hebt ook regels die alleen voor Claude Code gelden | AGENTS.md plus een korte CLAUDE.md die begint met @AGENTS.md | Gedeelde regels staan op één plek; Claude leest de import eerst en daarna zijn eigen regels |
| Iedereen werkt op macOS of Linux | Een symlink van CLAUDE.md naar AGENTS.md kan ook | Werkt, maar heeft geen voordeel boven de import en breekt zodra iemand op Windows werkt |
| Je hebt alleen een uitgebreide CLAUDE.md | Codex /import, of tijdelijk CLAUDE.md als fallbacknaam in Codex | /import zet de instructies om naar AGENTS.md; de fallback is een brug tot je overstapt |
Controleren
Controleren wat Codex inleest, en waarom het je AGENTS.md negeert
Begin bij twijfel altijd met de vraag wat Codex heeft geladen. Ligt het daaraan, dan zit het probleem in de plek of de naam van het bestand. Heeft Codex het wel geladen, dan zit het in hoe de regel geschreven is.
- 1
Draai in de root: codex --ask-for-approval never "Summarize the current instructions." Codex vat de regels samen die het nu kent. Mist er iets, dan is het niet geladen.
- 2
Voor een submap: codex --cd site --ask-for-approval never "List the instruction sources you loaded." Zo zie je of een geneste AGENTS.md of een override meetelt.
- 3
Wil je het zwart op wit: start met codex -c log_dir=./.codex-log en bekijk daarna ./.codex-log/codex-tui.log.
- 4
Controleer met codex status of je in de juiste repository zit, en met echo $CODEX_HOME welke Codex-map in gebruik is.
| Wat je ziet | Oorzaak | Oplossing |
|---|---|---|
| Codex kent je regels helemaal niet | Gestart buiten de repo, bestand leeg of anders gespeld | Start Codex in de repo, noem het bestand precies AGENTS.md en controleer dat het niet leeg is |
| Codex volgt andere regels dan je root-AGENTS.md | Een AGENTS.override.md hoger op het pad of in ~/.codex | Zoek override-bestanden in de repo en in je Codex-map, verwijder of hernoem de verkeerde |
| Regels onderaan worden genegeerd | De keten raakt de 32 KiB van project_doc_max_bytes | Inkorten, opsplitsen over submappen of de limiet verhogen |
| Een fallbacknaam zoals CLAUDE.md wordt niet gelezen | Spelfout in project_doc_fallback_filenames, Codex niet herstart, of er staat al een AGENTS.md in die map | Spelling nalopen en Codex opnieuw starten |
| In WSL andere regels dan in de Windows-app | WSL gebruikt standaard een eigen Linux-homemap | CODEX_HOME in WSL naar de Windows-map laten wijzen |
| Na een aanpassing gelden de oude regels nog | De lopende sessie heeft de keten bij de start opgebouwd | Start een nieuwe sessie; er is geen cache om te legen |
| Geladen, maar Codex houdt zich er niet aan | Regel is vaag of spreekt een andere regel tegen | Maak de regel toetsbaar en haal tegenstrijdige regels weg |
Valkuil
De grootste valkuil: van AGENTS.md een handboek maken
De fout zit zelden in een ontbrekend bestand. Teams draaien /init, zijn blij met het resultaat en plakken er daarna de README, de stijlgids en de onboarding-notities bij. Het bestand groeit, en twee dingen gaan mis zonder dat iemand het merkt.
Wat er technisch gebeurt
Eerst verwateren de regels: tussen honderden regels uitleg valt "draai de tests" niet meer op, en tegenstrijdige zinnen uit verschillende documenten laten Codex kiezen. Daarna raakt de keten de 32 KiB. Codex stopt dan met toevoegen, en wat onderaan staat telt niet mee. Juist onderaan staan vaak de Code Review Rules en de verboden mappen, omdat die er het laatst bij kwamen.
Hoe je het voorkomt
Houd je aan drie gewoontes. Eén: alleen regels die een fout voorkomen die je echt hebt gezien. Twee: de belangrijkste regels bovenaan, met "Klaar betekent" en "Niet aanraken" vóór de rest. Drie: lange uitleg naar een apart bestand met een verwijzing, of naar een skill als het om een vaste werkwijze gaat. Meet de omvang één keer per maand met wc -c, net als je andere onderhoud.
Ons oordeel
Ons oordeel: wanneer AGENTS.md loont, en wat Nederlandse teams anders moeten doen
AGENTS.md is het kleinste stuk werk met het grootste effect op hoe Codex in je repo werkt. Een uur om het bestand goed te zetten verdient zich terug zodra je Codex vaker dan een paar keer op dezelfde code loslaat. Voor een los script van één middag is het overbodig.
Wanneer wel, wanneer niet
Wel: elke repo waar je Codex structureel gebruikt, en zeker als meer mensen of meer tools in dezelfde code werken. Niet: een eenmalig experiment, of een repo die je niet zelf beheert. Kloon je code van een ander, lees dan eerst de AGENTS.md die erin staat. Codex laadt hem automatisch, dus instructies die je niet kent sturen je agent mee. Waarom dat een risico is, staat bij prompt-injectie.
AVG, taal en Windows
AGENTS.md staat in versiebeheer en gaat bij elke taak naar het model. Zet er dus geen namen van klanten, BSN's, wachtwoorden of API-keys in, ook niet als voorbeeld. Beschrijf liever waar gevoelige data staat en dat Codex daar niet aan mag komen. Leg ook je taal vast: in trainingen zien we dat Codex zonder regel wisselt tussen je en u en Engelse termen overneemt uit de code. Werkt je team op Windows, let dan op de aparte Codex-map in WSL en gebruik geen symlinks voor je instructiebestanden.
De fout die we in trainingen het vaakst zien
Teams corrigeren Codex in de chat ("nee, we gebruiken pnpm") en zijn de volgende dag verbaasd dat dezelfde fout terugkomt. Een correctie in de chat geldt alleen voor die sessie. OpenAI adviseert: maakt Codex dezelfde fout twee keer, vraag dan om een korte terugblik en zet de les in AGENTS.md. Je kunt Codex ook zelf vragen: "Voeg aan AGENTS.md een regel toe die deze fout voorkomt. Houd het bij één zin."
Een MKB-voorbeeld
Stel: een administratiekantoor met één interne developer die de website en een paar Python-scripts voor exports uit Exact Online onderhoudt, en een collega die af en toe teksten aanpast met Codex. De developer draait /init, schrapt de mappenboom en houdt vijf regels over: de commando's, "klaar betekent tests geslaagd", de map met exports als verboden terrein, de testadministratie als enige doel voor scripts, en je-vorm in alle teksten. In scripts/ komt een tweede AGENTS.md met de regel dat geen script klantgegevens logt. Na twee weken komen er twee regels bij, beide na een fout die echt twee keer gebeurde. Het bestand blijft onder 2 KB. Wil je zo'n eerste versie samen met je eigen repo maken, dan kan dat in een AI-werksessie.
FAQ
Veelgestelde vragen
Waar moet AGENTS.md staan voor Codex?
Het gedeelde teambestand zet je in de root van je repository. Regels voor één onderdeel zet je in een AGENTS.md in de map van dat onderdeel, en je persoonlijke afspraken in ~/.codex/AGENTS.md (op Windows %USERPROFILE%\.codex\AGENTS.md). Codex leest bij de start je persoonlijke bestand en alle bestanden van de root tot de map waarin je werkt.
Hoe groot mag een AGENTS.md zijn in Codex?
Alle AGENTS.md-bestanden op het pad samen mogen standaard 32 KiB zijn, ingesteld met project_doc_max_bytes in config.toml. Daarboven stopt Codex met toevoegen en tellen de regels onderaan niet mee. Je kunt de limiet verhogen, maar opsplitsen over submappen houdt het verbruik per taak lager.
Wat doet /init in Codex?
/init maakt een AGENTS.md-scaffold in de map waar je het draait, in de Codex CLI en in de IDE-extensie. Codex vult het met mappen, commando's en conventies die het in je project vindt. Zie het als een startpunt: schrap wat Codex zelf kan zien, controleer elk commando en vul aan wat het niet kan weten.
Wat is AGENTS.override.md?
Een bestand dat in dezelfde map voorrang krijgt op AGENTS.md. In ~/.codex gebruik je het voor tijdelijk andere persoonlijke regels; in een submap voor afwijkende regels van één team of onderdeel. Volgt Codex onverwachte regels, zoek dan eerst naar een vergeten AGENTS.override.md. Claude Code leest dit bestand niet.
Is AGENTS.md hetzelfde als CLAUDE.md?
Ze hebben hetzelfde doel, vaste projectinstructies voor een coding agent, maar verschillen in wie ze leest. AGENTS.md is een open standaard die Codex, Cursor, Copilot en vele andere tools lezen. CLAUDE.md is het eigen bestand van Claude Code, met extra functies zoals @-imports. Claude Code leest AGENTS.md vanaf versie 2.1.277 als er geen CLAUDE.md naast staat.
Kan Claude Code dezelfde AGENTS.md gebruiken als Codex?
Ja. Staat er geen CLAUDE.md of CLAUDE.local.md op het pad, dan leest Claude Code vanaf v2.1.277 je AGENTS.md zelf. Heb je wel een CLAUDE.md, zet dan @AGENTS.md bovenaan die CLAUDE.md, met daaronder alleen de regels die specifiek voor Claude zijn. Zo bestaat elke gedeelde regel maar op één plek.
Leest Codex een CLAUDE.md-bestand?
Niet standaard. Zet je CLAUDE.md in project_doc_fallback_filenames in ~/.codex/config.toml, dan leest Codex CLAUDE.md in mappen waar geen AGENTS.md staat. Voor een blijvende oplossing zet je de inhoud met /import over naar AGENTS.md en laat je Claude Code die AGENTS.md lezen.
Mag je klantgegevens in AGENTS.md zetten?
Nee. AGENTS.md staat in versiebeheer en gaat bij elke taak mee naar het model, dus persoonsgegevens, wachtwoorden en API-keys horen er niet in. Beschrijf in plaats daarvan waar gevoelige data staat en dat Codex die map niet mag openen, en regel met de sandbox en .gitignore dat het ook echt niet kan.
Waarom negeert Codex mijn AGENTS.md?
Meestal door een van vier oorzaken: Codex is buiten de repo gestart, er staat een AGENTS.override.md hoger op het pad, de keten is groter dan 32 KiB, of de sessie liep al voor je aanpassing. Vraag Codex om de huidige instructies samen te vatten om te zien wat het echt geladen heeft, en start na een wijziging een nieuwe sessie.
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
- Custom instructions with AGENTS.mdZoekvolgorde, AGENTS.override.md, fallbacknamen, de limiet van 32 KiB, controlecommando's en troubleshooting.
- Slash commands in Codex CLI/init maakt een AGENTS.md-scaffold; /import haalt een Claude Code- of Cursor-setup binnen.
- Best practices voor CodexWat in een goede AGENTS.md hoort, kort houden en bijwerken na een herhaalde fout.
- Customization overviewBouwvolgorde AGENTS.md, skills, MCP en subagents; @codex add this to AGENTS.md in pull requests.
- Review GitHub pull requestsDe sectie Code Review Rules en welke AGENTS.md Codex per gewijzigd bestand gebruikt.
- Configuration referenceproject_doc_max_bytes en project_doc_fallback_filenames in config.toml.
- Import from another agentInstructiebestanden uit Claude Code of Cursor worden AGENTS.md; je bestaande setup blijft ongewijzigd.
- Codex op WindowsDe Codex-map %USERPROFILE%\.codex en de aparte homemap in WSL.
- AGENTS.mdDe open standaard onder de Agentic AI Foundation, met de lijst van tools die het bestand lezen.
- How Claude remembers your projectWanneer Claude Code AGENTS.md leest, de instelling Project instructions en de import @AGENTS.md.
Verdieping op Project Impact
- CLAUDE.md schrijvenDe tegenhanger voor Claude Code, met voorbeeld en probleemtabel.
- Codex-commandsAlle slash commands, waaronder /init en /import.
- Codex-functiesAGENTS.md naast hooks, worktrees, memories en subagents.
- Codex-skillsWerkwijzen die alleen laden als ze nodig zijn.
- Website beheren met CodexEen uitgewerkte AGENTS.md voor een MKB-website.
- Codex-limietenWaarom een kleinere AGENTS.md je verbruik drukt.
- Privacy en sandbox in CodexSandbox, approvals en prompt-injectie via repo-bestanden.
- Claude Code vs CodexDe twee tools naast elkaar, met één AGENTS.md als testopzet.
- AGENTS.md in het woordenboekDe korte definitie van de open standaard.
- Agent Skills wordt een open standaardHoe AGENTS.md, MCP en Agent Skills bij de Agentic AI Foundation terechtkwamen.
Je team één keer goed laten instrueren, in plaats van elke sessie opnieuw?
In de ChatGPT, Claude & Gemini Masterclass schrijft je team een eerste AGENTS.md voor een eigen repo en leert het Codex sturen met vaste afspraken, skills en de juiste sandbox. Incompany, vanaf €1.795 excl. btw.