/goal in Claude Code: autonome modus en Agent View in 2026
MarkdownDe opdracht /goal in Claude Code 2.1.139 start de autonome modus: de agent werkt totdat het doel is bereikt. Ik leg Agent View, worktrees en 5 voorbeelden uit.
Lees het volledige artikel
Ailoot-referentiedocumentatie: ailoot.ai/docs/.
Wat is /goal in Claude Code?
Belangrijkste punten
/goal is een opdracht in Claude Code 2.1.139+ (uitgebracht op 11 mei 2026) waarmee de autonome modus wordt gestart: je stelt een voltooiingsvoorwaarde in en Claude schrijft code, voert tests uit en gaat verder met de volgende beurt totdat het doel is bereikt. Na elke beurt leest een klein model (standaard Haiku) het transcript en antwoordt “ja/nee” op de voorwaarde. Je kunt de opdracht activeren in een gewone sessie of in headless-modus via claude -p.
Voorheen stopte Claude Code na elk antwoord en wachtte het op je volgende prompt. Dat werkte voor korte taken, maar liep vast bij lange taken: een API-migratie, 12 mislukte tests repareren, een bestand van 800 regels refactoren — voor zulke taken zijn 20–30 iteraties nodig, en na elke iteratie moest je terug naar de terminal.
/goal lost dit op met een eenvoudig idee: scheid “degene die het werk doet” van “degene die bepaalt wanneer het af is”. De hoofdagent schrijft code. Een afzonderlijke evaluator (het snelle Haiku-model) leest na elke beurt het gesprek en beantwoordt één vraag: “Is aan de voorwaarde voldaan?” Zo niet, dan begint de agent aan een nieuwe beurt. Zo ja, dan krijg jij de controle terug.
De officiële documentatie van Anthropic beschrijft het als volgt:
De opdracht /goal stelt een voltooiingsvoorwaarde in en Claude werkt daaraan zonder bij elke stap op je prompt te wachten. Na elke beurt controleert een klein, snel model of aan de voorwaarde is voldaan. Zo niet, dan begint Claude aan de volgende beurt in plaats van de controle aan jou terug te geven. Zodra aan de voorwaarde is voldaan, wordt het doel automatisch gewist.
Duizenden agents ’s nachts vanaf een telefoon — dat is geen marketing, maar de huidige praktijk van een Anthropic-engineer. Het mechanisme dat dit mogelijk maakt, is de combinatie van /goal en Agent View, die in dezelfde release op 11 mei 2026 werd geïntroduceerd.
Waarom is de autonome modus nodig: wat was er vóór en na 11 mei 2026?
Belangrijkste punten
Vóór 11 mei 2026 had Claude Code geen ingebouwde autonome modus. Ontwikkelaars schreven hun eigen bash-scripts met cron-timers, wat tot financiële rampen leidde: één ontwikkelaar besteedde in de nacht van 22 mei $6.000 omdat de cache-TTL zonder aankondiging veranderde van één uur naar 5 minuten. /goal bouwde autonomie in de tool zelf in, met een supervisorarchitectuur, een beurtlimiet in de voorwaarde en een evaluatormodel dat sessies uit een lus haalt.
Het idee om “AI ’s nachts te laten werken” bestond al sinds de herfst van 2025, toen Cursor Composer en Cline auto mode al op de achtergrond konden draaien. Maar vóór 11 mei 2026 had Claude Code hiervoor een handmatige wrapper nodig: een cron-taak die elke N minuten claude -p aanriep, of een wrapper die de git-status bewaakte en de volgende prompt startte.
Op 22 mei 2026 beschreef een ontwikkelaar die zo’n script ’s nachts liet draaien en wakker werd met een rekening van $6.000. De oorzaak: Anthropic veranderde stilletjes de cache-TTL van Claude Code van één uur naar vijf minuten, zonder dit aan te kondigen. Cron riep production elke 30 minuten aan — de cache kon tussen twee runs verlopen. Elke run bouwde een geschiedenis van 800.000 tokens helemaal opnieuw op. Nieuwe gegevens naar de cache schrijven kost veel meer dan lezen uit een actieve cache.
De ontwikkelaar deed niets bijzonders — hij gebruikte de tool precies zoals Anthropic die had aangeprezen.
/goal lost dit op met een ingebouwde architectuur:
- Supervisorproces dat de sessie buiten je terminal houdt en blijft draaien wanneer je het venster sluit of je laptop in de slaapstand gaat.
- Haiku-evaluator — een goedkoop model controleert elke beurt; de tokens van de evaluator kosten centen.
- Harde beurtlimiet in de voorwaarde — je kunt expliciet
or stop after 20 turnsschrijven, zodat de sessie gegarandeerd stopt. - Worktree-isolatie voor achtergrondsessies — wijzigingen gaan naar een aparte branch zonder je werkkopie aan te raken.
Het verschil met de aanpak “schrijf je eigen bash-script” is dat Anthropic al deze mechanismen volwaardige onderdelen van de tool maakt, in plaats van hacks van derden.
/goal in 3 stappen inschakelen
Belangrijkste punten
De minimale werkwijze: 1) werk Claude Code bij naar 2.1.139+ via claude update of npm i -g @anthropic-ai/claude-code, 2) typ /goal met een voorwaarde rechtstreeks in de sessie, 3) volg de voortgang via de live overlay (verstreken tijd, aantal beurten, tokens). De opdracht werkt zowel in een interactieve sessie als in headless-modus claude -p. Druk op Ctrl+C om te stoppen; gebruik /goal clear om het doel te annuleren.
Stap 1. Werk Claude Code bij naar versie 2.1.139 of nieuwer.
Controleer de versie:
claude --version
Als de versie lager is dan 2.1.139, werk dan bij:
claude update
# or force it through npm
npm install -g @anthropic-ai/claude-code@latest
Releases tussen 12 en 19 mei 2026 hebben belangrijke bugs in de eerste versie opgelost. In 2.1.140 werd een stille vastloper verholpen waarbij disableAllHooks de evaluator blokkeerde. In 2.1.143 kwamen worktree.bgIsolation: "none" en een oplossing voor lussen in stop hooks. In 2.1.144 (19 mei) werden --resume voor achtergrondsessies en --json voor agentscripting toegevoegd. De minimumversie is 2.1.143.
Stap 2. Typ /goal met een voorwaarde.
Open een gewone Claude Code-sessie en voer de opdracht in:
/goal all tests in test/auth pass and the linter is clean, or stop after 15 turns
Je hoeft daarna geen aparte prompt te sturen — de opdracht start meteen de eerste beurt. Je kunt de voorwaarde in het Russisch, Engels of een combinatie schrijven; het model begrijpt beide talen. De maximale lengte is 4.000 tekens.
Stap 3. Volg de voortgang via de live overlay.
Nadat /goal is gestart, verschijnt onderaan de terminal een livepaneel:
/goal active · 3 turns · 12m elapsed · 18,400 tokens · last: tests in test/auth/login.test.ts still fail
Het toont:
- Beurten — hoeveel beurten zijn voltooid
- Verstreken tijd — hoeveel tijd er sinds de start is verstreken
- Tokens — het totale aantal verbruikte tokens (de belangrijkste waarde om je budget te bewaken)
- Laatste — de laatste reden van de evaluator om “nog niet” te zeggen
Een handige truc: als de evaluator drie beurten achter elkaar dezelfde reden geeft, zit je waarschijnlijk in een lus. Druk dan op Ctrl+C of voer /goal clear in (synoniemen: stop, off, reset, cancel), formuleer de voorwaarde opnieuw en start opnieuw. Deze regel wordt in communityhandleidingen voor /goal genoemd als het belangrijkste teken van een lus: “drie keer vast op dezelfde reden — dit is een lus, stop ermee.”
Een goede voorwaarde schrijven: 5 regels + 5 voorbeelden
Belangrijkste punten
Een voorwaarde is een verifieerbare eindvoorwaarde, geen prompt. Een goede voorwaarde heeft drie elementen: een meetbare eindtoestand (tests slagen, build is groen), een verificatiemethode (npm test exits 0) en beperkingen die niet mogen worden geschonden (“geen wijzigingen aan bestanden buiten /auth”). Slechte voorwaarden zijn vaag (“maak het er goed uitzien”), niet-verifieerbaar (“optimaliseer de UX”) of missen een beurtlimiet. Eén ontwikkelaar verbrandde $200 in 14 uur met een vage voorwaarde.
De documentatie van Anthropic beschrijft drie vereiste elementen van een goede voorwaarde:
Een voorwaarde die gedurende veel beurten standhoudt, bevat meestal: één meetbare eindtoestand — een testresultaat, build-exitcode, aantal bestanden of lege wachtrij; een expliciete verificatiemethode — hoe Claude het moet bewijzen, bijvoorbeeld met
npm test exits 0of een schonegit status; en belangrijke beperkingen — wat onderweg niet mag veranderen, zoalsno other test file is modified.
Een kant-en-klaar sjabloon omvat alle drie elementen in één regel:
Een kant-en-klaar sjabloon omvat alle drie elementen in één regel:
/goal [voer het werk uit] totdat [meetbare eindtoestand] is bereikt, zonder [te respecteren beperkingen]
Vijf regels waar de meeste mensen op vastlopen:
Regel 1. De eindtoestand moet met een opdracht verifieerbaar zijn, niet op smaak.
Niet “maak het er goed uitzien”, maar npm test exits 0. Niet “verbeter de UX”, maar Lighthouse Performance score above 90. De evaluator leest alleen het transcript — hij voert geen opdrachten uit en bekijkt geen screenshots. Als het resultaat niet in tekst kan worden vastgelegd, zal de evaluator nooit “ja” zeggen.
Regel 2. Beperkingen moeten expliciet en nauw afgebakend zijn.
Zonder beperkingen kan Claude tests repareren door de tests zelf te verwijderen of mislukte assertions van commentaar te voorzien. Specificeer without modifying any file outside /auth, without removing existing assertions, without bumping major versions of dependencies.
Regel 3. Een harde beurtlimiet is verplicht.
Voeg aan elke voorwaarde or stop after N turns toe. Dat is je reddingslijn tegen een eindeloze lus. Zonder limiet kan een lus die een uur draait meer tokens verbruiken dan wanneer je dezelfde taak handmatig uitvoert. Houd daar rekening mee in je budget.
Zonder limiet kan een lus die een uur draait meer tokens verbruiken dan wanneer je dezelfde taak handmatig uitvoert. Houd daar rekening mee in je budget.
Regel 4. Beschrijf WAT, niet alleen HOE.
Als je visuals niet in de voorwaarde noemt, maakt Claude ze niet. Als de voorwaarde alleen “tests slagen” vereist, kan Claude complexe tests van commentaar voorzien. Beschrijf WAT je wilt, niet alleen HOE je het gaat controleren.
Regel 5. Laat Claude bewijs in de chat tonen.
De evaluator voert geen opdrachten uit — hij leest alleen wat Claude al heeft laten zien. Als de voorwaarde zegt “npm test is groen”, maar Claude de uitvoer van npm test niet in het transcript heeft getoond, zal de evaluator voor altijd “nog niet” zeggen. Voeg de zin “toon de uitvoer van <command> in het gesprek” aan de voorwaarde toe.
Vijf werkende voorbeelden voor veelvoorkomende taken:
1. API-migratie:
/goal every call to getUser() has been replaced with fetchUser(), npm test passes, npm run build is green, no other API names have been touched, or stop after 30 turns
2. Tests repareren:
/goal all failing tests in test/auth are now green (npm test shows 0 fails in the chat), without changing assertions or deleting tests, or stop after 20 turns
3. Codekwaliteit (bestandsgrootte):
/goal src/legacy/UserService.ts has been split into files under 200 lines each, all imports are updated, npm run build is green, or stop after 25 turns
4. De backlog afwerken:
/goal process every issue labeled 'good-first-issue': read the description, implement a fix in a worktree branch, open a PR. Continue until the queue is empty or 6 issues have been processed
5. Beveiligingsaudit:
/goal every npm audit vulnerability with severity >= high is fixed, all existing tests pass, no breaking API changes, or stop after 15 turns
Wil je meer doen dan alleen /goal uitvoeren en een inrichting opbouwen waarin de autonome modus echt werkt voor je project? /goal is slechts de laatste schakel. Daarvoor moeten drie pijlers op orde zijn: een AI-kloon (jouw werkwijze in Skills en Subagents), een tweede brein (CLAUDE.md en een map plans/) en context engineering (Plan Mode en /compact). Je moet alle drie de onderdelen samen doordenken — die combinatie ondersteunt werken met context.
5 voorbeelden waarin /goal echt werkt
Belangrijkste punten
/goal werkt goed voor taken met een verifieerbare eindtoestand: API-migraties, mislukte tests repareren, grote bestanden opsplitsen, de backlog met issues afwerken en beveiligingsaudits. Het werkt slecht voor subjectieve taken zoals design, UX-polijsten, inzichten vinden en creatief werk. Vuistregel: kun je “klaar” beschrijven met een bash-opdracht? Zo ja, dan is het geschikt. Zo niet, keer dan terug naar een gewone sessie of Plan Mode.
De documentatie van Anthropic noemt vier soorten taken waarvoor /goal geschikt is:
Gebruik goal voor substantieel werk met een verifieerbare eindtoestand: migreer een module naar een nieuwe API totdat alle aanroepen compileren en de tests slagen; implementeer een ontwerpdocument totdat aan alle acceptatiecriteria is voldaan; splits een groot bestand op in gerichte modules totdat elk bestand binnen de limiet voor de bestandsgrootte valt; verwerk een backlog met gelabelde issues totdat de wachtrij leeg is.
Hier zijn vijf voorbeelden met kant-en-klare voorwaarden — neem ze over en pas ze aan je project aan.
Voorbeeld 1. Een module naar een nieuwe API migreren.
Scenario: je stapt over van REST naar GraphQL of vervangt de oude functie getUser() door de nieuwe fetchUser(). De taak is mechanisch, maar raakt 30–50 bestanden.
Voorwaarde:
/goal every getUser() in src/ has been replaced with fetchUser(), all calls updated to the new interface (id instead of userId), npm test passes, no files outside src/ touched, or stop after 30 turns
Waarom dit werkt: de eindtoestand is te controleren met grep -r getUser src/ | wc -l (moet 0 zijn) en npm test exits 0. De beperking beschermt testbestanden.
Voorbeeld 2. Mislukte tests repareren.
Scenario: na een bibliotheekupdate zijn 15 tests kapotgegaan. Je weet dat de oplossing mechanisch is — mocks bijwerken en assertions aanpassen aan het nieuwe formaat. Je wilt dit niet handmatig doen.
Voorwaarde:
/goal all failing tests in test/ are now green, npm test shows the results in the chat with 0 failures, without deleting tests or commenting out assertions, or stop after 25 turns
Een voorbeeld van dezelfde soort voorwaarde:
Een voorbeeld van dezelfde soort voorwaarde:
Repareer alle mislukte tests totdat npm test 0 teruggeeft, zonder bestanden buiten de map /auth te wijzigen
Voorbeeld 3. Een god class opsplitsen.
Scenario: één bestand van 1.200 regels bevat alles — het model, de service, hulpprogramma’s en de API-client. Je wilt het opsplitsen volgens het principe “één bestand, één verantwoordelijkheid”, alle imports bijwerken en de tests laten slagen.
Voorwaarde:
/goal src/legacy/UserService.ts has been split into files under 200 lines, each file handles one responsibility (model, repository, api-client, validator), all imports are updated, npm run build is green, existing tests pass, or stop after 25 turns
Voorbeeld 4. De backlog met issues ’s nachts afwerken.
Scenario: je hebt een opensourcerepository met 20 issues met het label good-first-issue. Je wilt dat Claude ze ’s nachts afwerkt.
Voorwaarde:
/goal process every issue labeled 'good-first-issue': read the description, implement a fix in a separate worktree branch worktree-issue-N, open a PR with a description. Continue until the queue is empty or 6 issues have been processed, or stop after 80 turns
Het aantal 6 is niet willekeurig gekozen — het is een realistische bovengrens voor één nacht op een Pro-abonnement.
Voorbeeld 5. Beveiligingsaudit.
Scenario: npm audit toont 8 kwetsbaarheden met een hoge ernst. Je wilt dat Claude ze oplost zonder major-versies bij te werken.
Voorwaarde:
/goal every npm audit vulnerability with severity high+ is fixed, npm audit shows 0 high in the chat, all existing tests pass, no breaking API changes, no major version bumps to packages, or stop after 15 turns
Wat je NIET met /goal moet doen:
| Taaktype | Waarom het niet werkt |
|---|---|
| “Maak een mooie UI” | De evaluator ziet alleen tekst, geen design |
| “Vind een inzicht in de gegevens” | Geen verifieerbare eindtoestand |
| “Optimaliseer de UX van de pagina” | Subjectieve smaak; de agent optimaliseert wat wordt gemeten |
| Onderzoek / verkenning | Open einde — de evaluator weet niet wanneer het “genoeg” is |
| Productie-implementatie | Externe effecten kunnen niet worden teruggedraaid |
| Content / marketing maken | Tekstkwaliteit is niet met een opdracht te controleren |
Croucher formuleert de vuistregel krachtig in zijn praktijkgids: gebruik /goal niet voor taken waarbij “klaar” betekent “ziet er goed uit”, “voelt goed”, “goed ontworpen” of “leuk”. De evaluator leest alleen het transcript — hij voert geen tools uit en kan niet beoordelen hoe het resultaat werkt. Deze regel sluit 80% uit van de subjectieve taken waarbij /goal zonder bruikbare uitvoer blijft draaien.
Wanneer /goal geld verspilt: 3 antipatronen
Belangrijkste punten
Drie typische antipatronen voor /goal: een vage voorwaarde zonder beurtlimiet (één ontwikkelaar verbrandde $200 in 14 uur), een recursieve lus met een verouderde cache ($6.000 in één nacht doordat de cache-TTL veranderde) en creatieve taken zonder verifieerbare eindtoestand (een game zonder visuals, waarbij de evaluator “klaar” zegt ondanks de ontbrekende graphics). De beschermingsmaatregelen zijn: voeg altijd or stop after N turns toe, specificeer een meetbaar resultaat en controleer eerst of de taak überhaupt geschikt is voor autonomie.
Antipatroon 1. Vage voorwaarde zonder harde beurtlimiet.
De meest voorkomende fout is een voorwaarde als “verbeter de code” / “maak het goed” / “optimaliseer het”. Zonder beurtlimiet blijft de agent draaien totdat je quotum op is.
Findskill beschreef een echt geval:
Een ontwikkelaar meldde $200 te hebben verbruikt in een sessie van 14 uur met vage voorwaarden: door een zwakke voorwaarde kan de evaluator 50, 100 of 500 beurten lang “nog niet” blijven zeggen voordat je het merkt.
$200 in 14 uur voor een vage voorwaarde is het volledige weekquotum van het Max-abonnement. Je wordt ’s ochtends wakker zonder quotum en zonder bruikbaar resultaat.
Beschermingsmaatregel: eindig elke voorwaarde met or stop after N turns (15 voor eenvoudige taken, 50 voor moeilijke taken en maximaal 100 voor nachtelijke runs).
Antipatroon 2. Recursieve lus met kapotte caching.
Een ontwikkelaar liet een script ’s nachts draaien en kreeg een rekening van $6.000 doordat Anthropic de cache-TTL stilletjes veranderde van één uur naar 5 minuten. De ontwikkelaar gebruikte niet rechtstreeks /goal, maar de logica was dezelfde: een autonome lus met een cron-timer van 30 minuten bouwde elke keer opnieuw een geschiedenis van 800.000 tokens op.
Het kernprobleem was dat externe automatisering niet op de hoogte was van de interne wijzigingen van de provider. Hetzelfde kan met /goal gebeuren als je het 8 uur zonder toezicht laat draaien: het tokengebruik groeit niet-lineair en de promptcache werkt niet zoals je denkt.
Beschermingsmaatregelen:
- Laat
/goalniet 8+ uur draaien zonder tussentijdse controles. - Schakel gebruikslimieten in via Settings → Usage (een nieuwe beschermingsmaatregel na het incident van $6.000).
- Open
claude agents’s nachts twee keer — werp metSpaceeen snelle blik en controleer of het aantal beurten niet sneller groeit dan verwacht. - Stel voor dure modelketens (Opus 4.7) een strengere beurtlimiet in — maximaal 30.
Antipatroon 3. Creativiteit via /goal.
Croucher gebruikte /goal om een game te bouwen — de voorwaarde omvatte determinisme, invarianten en controleren of het level te voltooien was. De game werd gebouwd, de tests slaagden en de evaluator zei “bereikt”. De game had geen visuals — de voorwaarde noemde geen graphics.
Dit illustreert de algemene regel: de evaluator optimaliseert precies wat je meet. Als de voorwaarde geen visuals noemt, zijn die er niet. Als er alleen tests in staan, kan de evaluator assertions van commentaar voorzien.
Beschermingsmaatregel: gebruik /goal niet voor dingen die op smaak berusten (design, tekst, UX). Keer terug naar een gewone sessie of Plan Mode — daarin blijf je betrokken bij het besluitvormingsproces.
Wat is Agent View en hoe open je het dashboard?
Belangrijkste punten
Agent View is een visueel dashboard voor het beheren van achtergrondsessies van Claude Code. Open het met de opdracht claude agents in de terminal. Elke achtergrondsessie verschijnt als een rij met een status (Bezig, Invoer nodig, Inactief, Voltooid, Mislukt, Gestopt). Het is handig wanneer je 2–5 autonome taken tegelijk uitvoert — in plaats van tussen terminals te schakelen, zie je alles op één scherm. Het biedt peek (Space — snel bekijken zonder verbinding), attach (Enter), detach (pijl links) en pin (Ctrl+T).
Als /goal de opdracht “werk totdat je klaar bent” is, dan is Agent View de controlekamer waarin je al die opdrachten tegelijk kunt zien. Anthropic beschrijft het als volgt:
Agent view open je met `claude agents` — één scherm voor al je achtergrondsessies: wat er wordt gedaan, waarvoor je invoer nodig is en wat klaar is. Start nieuwe sessies, bekijk hun status in één oogopslag zonder door transcripten te scrollen en maak alleen verbinding wanneer een sessie je nodig heeft.
Opdracht om het te openen:
claude agents
Er wordt een TUI geopend — een tekstdashboard in de terminal. De sessielijst staat links; het peek-paneel met het nieuwste bericht van de geselecteerde rij staat rechts.
Zes sessiestatussen:
| Status | Betekenis |
|---|---|
| Bezig | Claude werkt actief — voert tool calls uit of genereert een antwoord |
| Invoer nodig | Claude wacht op je antwoord op een specifieke vraag of op toestemming |
| Inactief | De sessie is inactief en klaar voor de volgende prompt |
| Voltooid | De taak is succesvol afgerond |
| Mislukt | De sessie is met een fout beëindigd |
| Gestopt | De sessie is gestopt met Ctrl+X of claude stop |
Belangrijkste sneltoetsen:
↑ / ↓ door de sessielijst navigeren
Space peek-paneel (bekijken zonder verbinding)
Enter / → verbinding maken met een sessie (erin gaan)
← verbinding verbreken (de sessie niet beëindigen)
Ctrl+T vastzetten (de sessie beschermen tegen automatisch stoppen)
Ctrl+X de sessie stoppen; druk binnen 2 sec opnieuw om te verwijderen
Ctrl+R hernoemen
Ctrl+S groepering omschakelen (status ↔ directory)
Een achtergrondsessie starten:
Vanuit interactieve Claude Code:
/bg fix the failing test test/auth/login.test.ts
Of rechtstreeks vanuit de shell:
claude --bg "fix the failing test test/auth/login.test.ts"
Of met een naam (zodat de sessie in Agent View onder een herkenbaar label verschijnt):
claude --bg --name "flaky-test-fix" "fix test/auth/login.test.ts"
De achtergrondsessie wordt automatisch aan Agent View toegevoegd — start met --bg, open claude agents en je ziet de sessie in de lijst.
De belangrijkste functie: sessies blijven bestaan wanneer de laptop in de slaapstand gaat en het venster wordt gesloten:
De sessiestatus wordt op schijf opgeslagen en blijft behouden na automatische updates en herstarts van de supervisor. Sessies worden ook opgeslagen wanneer de machine in de slaapstand gaat. Wanneer de machine weer wakker wordt, hervatten de processen en maakt de supervisor opnieuw verbinding in plaats van de pauze als inactieve tijd te behandelen.
Maar zet je de laptop uit of start je hem handmatig opnieuw op, dan eindigen de achtergrondsessies als Mislukt. Overnight-runs met veel achtergrondagents werken alleen op een laptop die aan blijft.
Worktrees: hoe Claude parallelle sessies isoleert
Belangrijkste punten
Een worktree is een aparte kopie van je repository in .claude/worktrees/<name>/ op een afzonderlijke branch worktree-<name>. Wanneer je een achtergrondsessie start via /bg of Agent View, verplaatst Claude die automatisch naar een worktree voordat het bestanden bewerkt. Parallelle sessies kunnen dezelfde checkout lezen, maar schrijven elk naar hun eigen kopie, zodat ze elkaars werk niet overschrijven. Je kunt dit uitschakelen met worktree.bgIsolation: "none" in .claude/settings.json (beschikbaar sinds 2.1.143).
Worktrees lossen het grootste probleem met parallel autonoom werk op: wat als twee sessies tegelijkertijd src/auth.ts proberen te bewerken? Vóór 2.1.139 konden zulke sessies elkaars wijzigingen letterlijk overschrijven. Met Agent View introduceerde Anthropic automatische isolatie:
Elke achtergrondsessie die vanuit agent view, via /bg of met
claude --bgwordt gestart, begint in je werkdirectory. Voordat Claude bestanden bewerkt, verplaatst het de sessie naar een geïsoleerde git-worktree in.claude/worktrees/, zodat parallelle sessies dezelfde checkout lezen maar elk naar hun eigen kopie schrijven.
Hoe dit in de praktijk werkt:
# Launched three background sessions:
claude --bg --name "fix-tests" "fix the failing tests in test/"
claude --bg --name "add-oauth" "add Google OAuth according to the plan in plans/oauth.md"
claude --bg --name "split-userservice" "split UserService.ts into modules"
# File structure after launch:
.claude/worktrees/
├── fix-tests/ # separate repo copy on branch worktree-fix-tests
├── add-oauth/ # separate copy on branch worktree-add-oauth
└── split-userservice/ # separate copy on branch worktree-split-userservice
Elke sessie werkt in haar eigen kopie. Wanneer de taak klaar is, voeg je de benodigde branches samen met main.
Gevaarlijke valkuil — een sessie verwijderen, verwijdert ook de worktree.
Worktrees die door Claude zijn gemaakt, worden samen met de sessie in agent view verwijderd: voeg wijzigingen samen of push ze voordat je een sessie verwijdert die bestanden in haar eigen worktree heeft bewerkt.
Als je een sessie in Agent View beëindigt (druk tweemaal op Ctrl+X), verdwijnt de worktree. Alle niet-gecommitte wijzigingen gaan verloren. Commit of push altijd voordat je een sessie in Agent View verwijdert.
Uitschakelen (voor uitzonderlijke gevallen):
Als je een repository hebt waarin git-worktrees niet werken (bijvoorbeeld een configuratie met symlinks of een grote monorepo met een trage checkout), kun je isolatie uitschakelen:
// .claude/settings.json
{
"worktree": {
"bgIsolation": "none"
}
}
Daarna bewerken achtergrondsessies rechtstreeks je werkkopie. Deze optie kwam in 2.1.143, na klachten van teams met grote monorepo’s.
Parallel werken verbruikt je quotum:
Ook hier gelden snelheidslimieten: achtergrondsessies gebruiken net als interactieve sessies abonnementsquotum, dus 10 parallelle agents verbruiken ongeveer 10 keer zo snel quota als één agent.
Dat betekent dat een Pro-abonnement ($20/maand) genoeg is voor 1–2 parallelle sessies gedurende de nacht, niet voor tien. Als je veel agents parallel wilt laten draaien, heb je Max of Enterprise nodig.
/goal + Plan Mode + subagents combineren voor lange taken
Belangrijkste punten
/goal is op zichzelf de laatste schakel in de keten. Gebruik daarvoor Plan Mode om een gefaseerd plan in plans/ te maken en subagents om het werk te verdelen. De combinatie werkt zo: 1) Plan Mode schrijft een gedetailleerd plan met verifieerbare selectievakjes, 2) subagents kunnen parallel aan verschillende fasen werken in hun eigen worktree-branches, 3) /goal herhaalt de cyclus “werk → evaluator → volgende beurt” totdat elk vakje is aangevinkt. Zonder Plan Mode is /goal nutteloos voor complexe taken.
Een typische mislukking is meteen /goal build a new feature typen. Dat werkt niet omdat de evaluator niet weet hoe een “afgeronde functie” eruitziet. Je hebt een plan nodig met selectievakjes die de evaluator één voor één kan controleren.
Laag 1. Plan Mode schrijft een gefaseerd plan.
Vraag Claude in Plan Mode om een gedetailleerd wijzigingsplan met 5–7 fasen en verifieerbare selectievakjes te maken. Sla het op als plans/2026-05-24-google-oauth.md. Elke fase bevat 3–7 selectievakjes met concrete acties.
Laag 2. Subagents verdelen het werk per fase.
Als het plan parallel kan worden uitgevoerd (bijvoorbeeld omdat de fasen onafhankelijk zijn — een backendendpoint + frontendformulier + DB-migratie), kun je elke fase in een aparte achtergrondsessie starten via claude --bg --name "<phase>". Elke sessie krijgt een eigen worktree.
Laag 3. /goal herhaalt de cyclus totdat de vakjes zijn aangevinkt.
/goal all phases 1–7 in plans/2026-05-24-google-oauth.md are complete and marked [x], all tests in test/auth pass (npm test shows 0 failures), npm run build is green, or stop after 50 turns
Na elke beurt leest de evaluator het plan, controleert welke vakjes zijn voltooid en gaat de agent verder als er nog iets openstaat.
Deze combinatie steunt op drie onderdelen:
- context engineering: de juiste context in
plans/— de evaluator leest die - tweede brein: de map
plans/bewaart het plan tussen sessies - AI-kloon: CLAUDE.md stelt de regels vast die de agent volgt
Zonder CLAUDE.md kan /goal een oplossing voorstellen die de architectuur breekt. Zonder een plan in plans/ kent de evaluator de succescriteria niet. Zonder subagents zijn er geen parallelle fasen; alles gebeurt achter elkaar.
Hoe vergelijk je /goal met Codex, Cursor en andere agentmodi?
Belangrijkste punten
Het nuttige onderscheid is hoe een taak doorgaat, waar die draait, welke rechten die heeft en hoe voltooiing wordt gecontroleerd. Hier is geen onderbouwde gelijkwaardige meting voor een universele tokenefficiëntiefactor of een vast aantal stappen waarna een andere tool samenhang verliest. Vergelijk echt model, client, versie, uitvoeringsmodus en taak voordat je kiest.
/goal voegt na elke beurt een aparte voltooiingscontrole toe. Andere producten hebben verschillende modi; lokale CLI, gehoste cloudtaak en begeleide editorsessie zijn geen uitwisselbare vergelijkingseenheden. Beschrijf niet al het Codex CLI-werk als een cloudcontainer en neem niet één validatormodel of betaalmethode voor elke Codex-run aan.
Gebruik dezelfde repositorymomentopname en taak met dezelfde acceptatiecontroles. Noteer per kandidaat:
| Dimensie | Wat vastleggen |
|---|---|
| Uitvoering | Client/versie en lokale of gehoste runtime |
| Model | Exact model, reasoning effort en contextlimieten |
| Voortzetting | Wat een nieuwe beurt start en wat die stopt |
| Isolatie | Werkkopie, machtigingen, geheimen en netwerktoegang |
| Resultaat | Geaccepteerde controles, fouten en menselijke correcties |
| Gebruik | Invoer-, cachelees-/schrijf- en uitvoertokens, tijd en echte betaalmethode |
Een vaste tokenfactor vereist die voorwaarden en gemeten aantallen voor dezelfde geslaagde uitkomst. Ook een benchmarkpercentage vereist benchmarkversie, model, harnas en runinstellingen; Terminal-Bench-percentages zonder die gegevens vervangen dat bewijs niet. Dit artikel biedt geen onafhankelijke vergelijking tussen tools.
Kies voor de benodigde workflow: begeleide bewerkingen, een afgebakende achtergrondtaak of een meerbeurttaak met een expliciete voltooiingsvoorwaarde. Test de ondersteunde modus van het geïnstalleerde product in plaats van aan te nemen dat een concurrent helemaal geen autonomie heeft. Houd machtigingsgoedkeuring los van taakvoortzetting: een toolaanroep automatisch toestaan bewijst niet dat het gebruikersdoel is gehaald.
/goal versus /loop:
/loop is een andere opdracht uit dezelfde release en start periodieke taken met een tijdsinterval (elke N minuten). /goal is gebaseerd op voorwaarden (totdat eraan is voldaan). Gebruik /loop voor cronachtige taken en /goal om een afgebakend doel te bereiken.
Uit de documentatie van Anthropic:
| Aanpak | Wanneer de volgende beurt start | Wanneer het stopt |
|---|---|---|
/goal | Nadat de vorige beurt is afgelopen | Wanneer het model de voorwaarde bevestigt |
/loop | Wanneer het tijdsinterval is verstreken | Wanneer jij het stopt of Claude besluit dat het werk klaar is |
| Stop hook | Nadat de vorige beurt is afgelopen | Wanneer je script of prompt dat bepaalt |
Checklist van 7 punten vóór je /goal start
Belangrijkste punten
Controleer vóór elke /goal-run 7 punten: Claude Code versie 2.1.139+, de voorwaarde bevat een verifieerbare eindtoestand, er is een harde beurtlimiet, beperkingen zijn expliciet, alle belangrijke wijzigingen zijn gecommit, gebruikslimieten zijn ingeschakeld in Settings en Agent View staat open om de voortgang te volgen. Eén ontbrekend punt kan je enkele honderden dollars en verloren werk kosten.
Checklist vóór elke /goal-run:
Claude Code-versie 2.1.139+ — controleer met
claude --versionen werk bij als de versie lager is. De aanbevolen minimumversie is 2.1.143 (15 mei 2026), die lussen in stop hooks oplost.De voorwaarde bevat een verifieerbare eindtoestand — specificeer
npm test exits 0in plaats van “verbeter het”. Als je geenbash-opdracht kunt bedenken om het resultaat te verifiëren, is/goalniet geschikt voor deze taak.Er is een harde beurtlimiet — elke voorwaarde specificeert
or stop after N turns. Gebruik 15 voor eenvoudige taken, 50 voor moeilijke taken en maximaal 100 voor nachtelijke runs.Beperkingen zijn expliciet en nauw afgebakend —
without modifying files outside /auth,without removing existing assertions,without bumping major versions. Zonder deze beperkingen kan Claude tests repareren door ze zelf te verwijderen.Alle belangrijke wijzigingen zijn gecommit of gepusht — als je niet in een worktree werkt (bijvoorbeeld met
worktree.bgIsolation: "none"), bewerkt Claude je werkkopie. Een fout kan betekenen dat je niet-opgeslagen werk verloren gaat.Gebruikslimieten zijn ingeschakeld via Settings → Usage — een nieuwe beschermingsmaatregel na het incident van $6.000. Stel een limiet in per dag, per sessie en per maand.
Agent View
claude agentsstaat open in een apart venster — kijk bij lange taken eens per uur met Space. Als het aantal beurten sneller stijgt dan verwacht of de evaluator drie beurten achter elkaar dezelfde reden geeft, druk dan opCtrl+Cen formuleer de voorwaarde opnieuw.
Nog één punt — voer /goal nooit uit met --dangerously-skip-permissions op code van iemand anders of onbekende code. Die combinatie schakelt alle controles uit en laat de agent doen wat hij wil in je project. De auteur van deze analyse gebruikt dit alleen in een nieuwe worktree waar niets verloren kan gaan.
/goal is een krachtige functie, maar geen magie. De resultaten zijn zo goed als de manier waarop je de voorwaarde formuleert. Als je “klaar” kunt beschrijven in woorden die een opdracht kan verifiëren, doet /goal de rest. Zo niet, keer dan terug naar een gewone sessie of Plan Mode.
Bronnen
Je kunt Ailoot verder ontdekken op ailoot.ai.
Meer details
Vragen en antwoorden
Hoe schrijf ik een controleerbare voltooiingsvoorwaarde?
Noem één meetbaar resultaat, de opdracht of het bewijs daarvoor en grenzen zoals behoud van assertions of alleen opgegeven bestanden wijzigen. Geef een expliciete stopgrens en laat verificatie-uitvoer in het gesprek tonen.
Is een vaste tokenefficiëntiefactor genoeg om een agent te kiezen?
Nee. Er is geen gelijkwaardige meting die die factor onderbouwt. Vergelijk dezelfde geaccepteerde taak en registreer model, clientversie, uitvoeringsmodus, cache- en tokengebruik, verstreken tijd en menselijke correcties.