Nieuws

Claude Code subagents: zo voorkom je dat een fork buiten zijn taak schrijft

Sinds versie 2.1.302 start Claude Code bijna overal standaard een fork als hij een taak uitbesteedt, niet een gewone, afgeschermde subagent. Een fork krijgt daarbij automatisch dezelfde schrijftoegang als je hoofdgesprek. Met twee echte, nooit opgeloste GitHub-issues als voorbeeld van wat daardoor misgaat, en de regel om het te voorkomen.

Dennis ClaassenDennis Claassen16 min lezen
Claude Code subagents: een fork erft dezelfde schrijftoegang als het hoofdgesprek

Een agent voor jullie eigen proces?

Kies een afgebakende taak en werk toe naar een agent met heldere bronnen, rechten en controle.

Dennis Claassen

Dennis Claassen

AI-trainer · 35+ teams getraind

Bekijk de Agent Sprint

Key takeaways

Claude Code subagents kregen op 16 oktober 2026 een belangrijke wijziging: wanneer Claude zelf besluit een taak uit te besteden, kiest hij nu op bijna elk platform standaard een fork in plaats van een gewone, afgeschermde subagent. Dat staat met zoveel woorden in de officiële changelog van Claude Code. Het verschil lijkt klein, maar een fork krijgt automatisch dezelfde schrijftoegang als je hoofdgesprek, terwijl een gewone subagent je kunt beperken tot alleen lezen. Werk je al met AI-agents in je team, dan is dit de wijziging die bepaalt of een uitbestede taak binnen zijn grenzen blijft. Hieronder: wat er precies verandert, echte, nooit opgeloste voorbeelden van wat daardoor kan misgaan, en de regel om het zelf te voorkomen.

Wat zijn Claude Code subagents, en wat is een fork?

Een subagent is volgens Anthropics eigen documentatie een aparte Claude Code-sessie die je hoofdgesprek een taak laat overnemen en daarna een samenvatting teruggeeft, zodat je eigen gesprek niet vervuilt met tussenstappen. Een gewone subagent start vanaf nul: hij krijgt zijn eigen systeemprompt, de opdracht die je meegeeft, en verder niets van je lopende gesprek. Je kunt hem ook een eigen, beperkte gereedschapskist geven met het veld tools in zijn configuratie.

Een fork is een ander type subagent. De documentatie noemt het zo: "A fork is a subagent that inherits the entire conversation so far instead of starting fresh." Een fork ziet dus dezelfde systeemprompt, dezelfde tools en dezelfde berichtgeschiedenis als je hoofdgesprek. Dat is precies waarom hij sneller op gang is: hij hoeft niet eerst uit te zoeken waar je het over had.

Subagent Claude Code: het verschil in één zin

Het verschil tussen een gewone subagent Claude Code en een fork zit in wat hij meekrijgt, niet in wat hij doet. Een gewone subagent begint blanco en kun je op toolniveau afschermen. Een fork begint met alles wat jij al had, inclusief je volledige tool-toegang, en daar kun je op het moment dat Claude zelf een fork start niets aan beperken.

Een fork lost daarmee een reëel probleem van de gewone subagent op. Een gewone subagent krijgt niet je hele gesprek, maar een samengevatte briefing daarvan, en samenvatten is onvermijdelijk lossy. Een onafhankelijke developer beschrijft op zijn eigen blog hoe dat hem vier uur kostte: hij liet een gewone subagent een validatiecheck beoordelen, en de samenvatting had zijn eigen custom middleware teruggebracht tot "project uses standard Laravel middleware stack". Precies het detail dat telde, was weg, en de subagent concludeerde ten onrechte dat de controle waterdicht was. Dat is exact het probleem waarvoor een fork bestaat: hij "ziet" die middleware wel, omdat hij bij het hele gesprek aanwezig was, niet bij een samenvatting ervan. Het oorspronkelijke verzoek van ontwikkelaars om een subagent de volledige gespreksgeschiedenis te geven, is in maart 2026 gesloten als opgelost: de fork is daarvan het resultaat.

Wat verandert er sinds versie 2.1.302 in Claude Code subagents?

Tot 16 oktober 2026 was de fork-modus alleen in de terminal standaard aan. De changelog van Claude Code beschrijft de wijziging in versie 2.1.302 letterlijk zo: "Changed fork subagents (subagent_type: "fork") to be on by default in claude -p, the Agent SDK, the desktop app and VS Code, as they already are in the terminal." Volgens het npm-registratiebestand van het pakket @anthropic-ai/claude-code ging die versie op 16 oktober 2026 live, vijf dagen voor het schrijven van dit artikel. Dat registratiebestand toont zelf geen leesbare publicatiedatums per versie op de pagina; we hebben de exacte datum daarom gecontroleerd via de onderliggende registry-data van npm.

Dezelfde release veranderde ook wie waar op de achtergrond draait. Voor die versie koos Claude Code zelf of een subagent op de voor- of achtergrond liep in de desktop-app en VS Code. Sinds 2.1.302 draait de subagent van je hoofdgesprek daar altijd op de achtergrond, zoals in de terminal. Start die subagent zelf weer een eigen subagent, dan draait die tweede stap juist standaard op de voorgrond. Praktisch betekent dit: bemerk je dat een taak niet meer "vanzelf" doorloopt zoals voorheen, dan is dat waarschijnlijk deze wijziging en niet een storing.

Claude Code fork: waar hij al stond, en waar hij nu bijkomt

Een Claude Code fork stond vóór 16 oktober al standaard aan in de terminal. Werkte je vooral via claude -p, de Claude Agent SDK, de desktop-app of VS Code, dan is dit nieuw voor jou. Forks starten daar nu ook vanzelf, zonder enige instelling, zodra Claude zelf besluit een taak uit te besteden.

Waar het misgaat: een fork die toch bestanden schrijft

De documentatie zegt het zelf nuchter: een fork "skips both filters" op de tool-pool en krijgt exact dezelfde tools als het hoofdgesprek. Dat betekent dat een instructie als "lees dit, schrijf niets weg" in je prompt aan een fork geen technische grens is, maar een verzoek aan het model. Niets op toolniveau houdt een fork tegen om toch te schrijven.

Dat is geen theoretisch risico. Op 24 augustus 2026 meldde een developer in een open GitHub-issue bij Claude Code precies dit:

Wat je vroegWat er gebeurdeKlopt het?
"Lees deze documenten en rapporteer terug. Schrijf geen enkel bestand." (gestart als fork)De fork schreef substantiële inhoud rechtstreeks naar meerdere bestanden in de werkende repository, voordat hij zijn rapport teruggaf.Nee. De instructie "schrijf niets" werd genegeerd, want niets op toolniveau hield de fork tegen.
Dezelfde opdracht, nu gestart als een subagent met het ingebouwde, alleen-lezen type Explore in plaats van een fork.Volgens Anthropics eigen documentatie is Explore "a fast, read-only agent optimized for searching and analyzing codebases", met Write en Edit geweigerd op toolniveau, niet alleen ontmoedigd via de prompt.Ja. Een schrijfpoging is hier geen kwestie van of het model wil gehoorzamen, maar van een tool die niet beschikbaar is.

De reparatie is dus niet een strengere prompt, maar een ander subagent-type: Explore (of een subagent met een eigen tools: Read, Grep, Glob) voor alles wat puur moet lezen, en een fork alleen voor taken waarbij schrijven met de volledige context juist gewenst is. De reporter van het eerste issue legt de oorzaak van het oorspronkelijke probleem zo uit: "Fork-type subagents inherit the parent's full tool access (Write/Edit/Bash) and permission mode, so nothing enforced the 'don't write' instruction beyond the model choosing to comply." De fork zag via de overgenomen gespreksgeschiedenis ook het bredere, oorspronkelijke doel van het hoofdgesprek, en koos er zelf voor om dat bredere doel uit te voeren in plaats van zich aan de smalle, specifieke opdracht te houden. Het issue is op 18 oktober 2026 automatisch gesloten wegens inactiviteit, zonder dat Anthropic er een reactie op gaf of de werking heeft aangepast. Een vergelijkbaar, apart gemeld issue uit juni 2026 beschrijft dezelfde oorzaak: een fork die voor een alleen-lezen beoordeling was ingezet, "adopted the parent's role as the driver of the task" en startte op eigen initiatief een workflow, ook daar ondanks een expliciete "schrijf niets"-instructie. Ook dat issue is gesloten zonder fix.

Let op

Vertrouw bij een fork nooit op een prompt-instructie als enige grens tegen schrijven, verwijderen of een andere onomkeerbare actie. Een fork krijgt dezelfde tools als je hoofdgesprek, dus de enige harde grens is een tool die de fork simpelweg niet heeft.

Waarom dit zo blijft werken: een fork bestaat juist om snel en zonder her-uitleg verder te werken vanuit dezelfde context. Die snelheid is precies wat ook de volledige tool-toegang meebrengt. Wil je die snelheid niet inleveren voor een taak die toch een grens nodig heeft, dan is de oplossing niet "voorzichtiger prompten", maar een ander subagent-type kiezen.

Claude Agent SDK en VS Code: wie deze wijziging raakt

De wijziging raakt niet alleen de Claude Code-terminal. Bouw je een eigen toepassing op de Claude Agent SDK en laat je Claude daarbinnen zelf beslissen of hij een taak uitbesteedt, dan koos hij vóór 16 oktober in de SDK nog een gewone subagent als standaard. Sinds versie 2.1.302 is dat een fork, met dezelfde volledige tool-toegang als hierboven beschreven. Hetzelfde geldt voor de desktop-app en de VS Code-extensie. Gebruik je Claude Code alleen interactief in de terminal, dan verandert er voor jou niets: daar was dit al de situatie.

Claude Code parallel agents: sneller, niet veiliger

Een reden om bewust voor een fork te kiezen, is het tegelijk uitproberen van meerdere oplossingsrichtingen vanaf hetzelfde startpunt: Claude Code parallel agents die elk vanuit dezelfde context verder werken, zodat je ze aan het eind kunt vergelijken. Dat werkt goed voor een vraag met meerdere mogelijke antwoorden, zoals drie manieren om een functie te herschrijven. Het is geen manier om een taak veiliger te maken. Elke parallelle fork heeft nog steeds de volledige tool-toegang van het hoofdgesprek. Drie keer zo veel forks betekent dus drie keer zo veel kans op precies de valkuil hierboven, niet minder.

Fork of gewone subagent: wanneer kies je wat?

Als dit geldtDan ditWaarom de drempel daar ligtReken op
De taak moet alleen lezen of analyseren, en mag onder geen beding iets wegschrijvenEen gewone subagent met tools: Read, Grep, Glob, of het ingebouwde Explore-typeAlleen een subagent met een eigen, beperkte toolset wordt op toolniveau geblokkeerd. Een fork erft altijd de volledige toolset van het hoofdgesprek, dus "schrijf niets" is daar geen technische grens, zoals de twee issues hierboven laten zien.Eén regel in de configuratie, geen enkele onbedoelde write meer.
De taak moet precies verder waar het hoofdgesprek was, en schrijven is juist gewenstEen forkEen fork is in feite een kopie van je hoofdgesprek met dezelfde tools en geschiedenis, dus hij werkt door zonder dat je alles opnieuw moet uitleggen.Geen her-uitleg nodig, de snelste optie van de twee.
Je wilt drie oplossingsrichtingen tegelijk proberen vanaf hetzelfde startpuntMeerdere forks parallel starten, elk met een eigen, smalle opdrachtElke fork begint vanaf dezelfde context maar werkt onafhankelijk verder, dus je vergelijkt uitkomsten zonder de situatie drie keer te herhalen.Enkele minuten wachttijd per fork, afhankelijk van de taakomvang.
Je gebruikt claude -p, de Agent SDK, de desktop-app of VS Code en hebt zelf nog niets ingesteldGa ervan uit dat Claude zelf een fork kiest zodra hij een taak uitbesteedt, en stel expliciet in wat je wiltSinds versie 2.1.302 is de fork de standaardkeuze op bijna elk platform. Zonder expliciete keuze loop je zonder het te weten het risico hierboven.Vijf minuten om je bestaande subagent-configuraties na te lopen.

Wat dit kost en wat het oplevert

Het navragen van je bestaande subagent-configuraties kost weinig tijd: voor een team met vijf tot tien vaste subagents is dat volgens onze eigen inschatting een kwartier tot een half uur werk, niet meer. Wat je daarmee direct bruikbaar krijgt, is zekerheid over welke van je subagents een harde grens hebben en welke daadwerkelijk forks zijn die op de volledige tool-toegang draaien.

Wat na een week beter wordt: je weet voor elke bestaande subagent of hij een eigen toolset heeft of impliciet op forkgedrag kan overschakelen, en je hebt voor de taken die een harde grens nodig hebben die grens expliciet gezet. Wat niet beter wordt binnen een week: het model zelf beslist nog steeds, binnen de grenzen die je hem geeft, wanneer het "logisch" aanvoelt om verder te gaan dan gevraagd. Dat gedrag voorkom je met een tool-grens, niet met een betere prompt, precies wat de twee aangehaalde issues laten zien. Versie 2.1.302 bestaat pas sinds 16 oktober 2026. Wij hebben dus zelf nog geen week eigen gebruiksdata op deze specifieke wijziging. De cijfers hierboven zijn daarom een inschatting op basis van wat vergelijkbare opruimklussen in onze trainingen kosten, niet een gemeten resultaat van deze exacte release.

Probeer dit vandaag

Wil je zelf zien wat het verschil in de praktijk betekent? Maak in een testrepository (niet in productiecode) twee aanroepen met de Agent-tool of met /subtask in Claude Code, en vergelijk het resultaat:

Agent 1 (bewust een gewone, beperkte subagent):
"Lees bestand X en Y, en vat de belangrijkste wijzigingen samen.
Schrijf niets weg." met tools beperkt tot Read en Grep.

Agent 2 (een fork):
Exact dezelfde opdracht, maar gestart als fork (standaard, zonder
verdere instelling, in claude -p, de SDK, de desktop-app of VS Code).

Controleer na afloop met git status of er iets veranderd is in je repository. Bij agent 1 kan dat niet, want Write en Edit staan niet in de toolset. Bij agent 2 kan het wel, ook als je in de opdracht zelf "schrijf niets" had gezet. Dat verschil, zichtbaar in je eigen git status, is de kern van deze release.

Hoe je na zeven dagen weet of het werkt

Doe dit deze week

  1. Inventariseer je subagent-configuraties

    Loop .claude/agents/ (project en persoonlijk) langs en noteer per bestand of het veld tools een beperkte lijst bevat, of ontbreekt (en dus de volledige toolset meekrijgt zodra het als fork draait).

  2. Zet een harde grens op elke taak die dat nodig heeft

    Voor elke subagent die alleen moet lezen of analyseren: zet tools: Read, Grep, Glob (of vergelijkbaar) in de configuratie, zodat een technische grens de taak begrenst, niet alleen de prompt.

  3. Test het verschil zelf met de twee aanroepen uit 'Probeer dit vandaag'

    Draai dezelfde opdracht als gewone, beperkte subagent en als fork, en controleer met git status of je het verschil ziet. Twijfel je nog over een taak, zet die dan voorlopig niet als fork in.

Het agent-recept dat vandaag werkt: de twee aanroepen uit "Probeer dit vandaag" hierboven. Kopieer ze, vervang bestand X en Y door je eigen documenten, en vergelijk het resultaat met git status.

Wil je dit met je team uitwerken tot een eigen set subagents met de juiste tool-grenzen per taak? Dat bouw je in de Agent Sprint. Wil je eerst het gesprek voeren over wie in jouw organisatie mag beslissen welke agent waar bij mag, dat hoort in een AI-werksessie.

AI-training

Wil je AI leren inzetten?

In onze praktische trainingen leer je hoe je ChatGPT, Claude en andere AI-tools effectief inzet voor jouw werk.

Bekijk trainingen

Info

Stand van zaken op 21 oktober 2026. Claude Code staat op versie 2.1.306 (dist-tag latest); versie 2.1.304 is de stable-release. Fork-subagents (subagent_type: "fork") staan sinds versie 2.1.302 (16 oktober 2026) standaard aan in claude -p, de Claude Agent SDK, de desktop-app en VS Code; in de terminal was dat al zo. Je zet dit uit met de omgevingsvariabele CLAUDE_CODE_FORK_SUBAGENT=0; claude mcp serve biedt forks nooit aan. De twee aangehaalde GitHub-issues (#89277 en #69209) staan beide gesloten wegens inactiviteit, zonder reactie van een Anthropic-medewerker en zonder dat de werking is aangepast. Versienummers en standaardinstellingen kunnen wijzigen; check de officiële changelog voor je hierop een teambeslissing baseert.

Bronnen

Veelgestelde vragen

  • Wat is een fork-subagent in Claude Code?

    Een fork is een type subagent dat de volledige, lopende conversatie overneemt in plaats van blanco te beginnen. Hij ziet dezelfde systeemprompt, dezelfde tools en dezelfde berichtgeschiedenis als je hoofdgesprek. Dat maakt hem sneller inzetbaar dan een gewone subagent, maar het betekent ook dat hij automatisch dezelfde schrijftoegang krijgt als je hoofdgesprek.

  • Wat is het verschil tussen een gewone subagent Claude Code en een fork?

    Een gewone subagent Claude Code start vanaf nul met zijn eigen systeemprompt en, als je dat instelt, een beperkte toolset. Een fork erft de volledige conversatie en de volledige toolset van het hoofdgesprek. Alleen bij een gewone subagent kun je met het veld tools een harde, technische grens zetten op wat hij mag doen.

  • Wat is een Claude Code fork precies, en staat die standaard aan?

    Een Claude Code fork is de subagentmodus die context meegeeft in plaats van isolatie. Sinds versie 2.1.302 (16 oktober 2026) staat hij standaard aan in claude -p, de Claude Agent SDK, de desktop-app en VS Code. In de terminal stond hij al langer standaard aan. Je zet dit uit met de omgevingsvariabele CLAUDE_CODE_FORK_SUBAGENT=0.

  • Verandert deze update ook de Claude Agent SDK?

    Ja. Bouw je een eigen toepassing op de Claude Agent SDK en laat je Claude zelf beslissen of hij een taak uitbesteedt, dan koos hij vóór 16 oktober 2026 nog een gewone subagent als standaard. Sinds versie 2.1.302 is dat een fork, met dezelfde volledige tool-toegang als in de andere getroffen omgevingen.

  • Kun je met Claude Code parallel agents laten werken via forks?

    Ja, je kunt meerdere forks tegelijk starten vanaf hetzelfde gesprek om verschillende oplossingsrichtingen uit te proberen. Dat is sneller omdat je de context niet voor elke fork opnieuw moet uitleggen, maar het maakt een taak niet veiliger: elke parallelle fork heeft nog steeds de volledige tool-toegang van het hoofdgesprek.

Tags
claude-codesubagentsai-agentsanthropicclaude-agent-sdk
Dennis Claassen

Geschreven door

Dennis Claassen

Oprichter en AI-trainer

Dennis is de oprichter van Project Impact en traint Nederlandse bedrijven in het effectief gebruiken van AI. Met jarenlange ervaring in tech en onderwijs helpt hij teams om AI praktisch toe te passen.

Meer over Dennis

Een agent voor jullie eigen proces?

Kies een afgebakende taak en werk toe naar een agent met heldere bronnen, rechten en controle.

Bekijk de Agent Sprint