Vorige week eindigde mijn post met een agenda-herinnering: herzie je CLAUDE.md en hooks elke drie tot zes maanden tegen het huidige model, omdat instructies die zijn afgestemd op de modellen van vandaag nieuwere modellen ongemerkt kunnen beperken.
Het duurde acht dagen.
Sinds die post op 2 juni live ging, bracht Anthropic een nieuwe vlaggenschip-modelfamilie uit, een troubleshoot-modus die je hele harnas met één vlag uitschakelt, een echt feedbackkanaal voor Stop-hooks, en een handvol guardrails die voorheen jouw taak waren en nu standaard zijn ingebouwd. Niets daarvan ontkracht de gelaagde aanpak — sterker nog, deze week is het sterkste argument ervoor. Een lean, goed opgebouwd harnas absorbeert een model-upgrade in een middag. Bij een opgeblazen harnas ontdek je juist welke van je 400 regels instructies daadwerkelijk noodzakelijk waren.
Hier is wat er veranderde, in dezelfde lagen als vorige keer, en wat we daarmee deden in onze .NET-codebase.
De hoofdmoot: Claude Fable 5
Op 9 juni (v2.1.170) bracht Anthropic Claude Fable 5 uit, het eerste model in een nieuwe Mythos-klasse die boven Opus zit. Anthropic framet het zelf als: de capaciteiten overtreffen die van elk model dat ze ooit algemeen beschikbaar hebben gemaakt; een zustermodel, Claude Mythos 5, wordt zonder bepaalde dual-use veiligheidsmaatregelen exclusief geleverd aan goedgekeurde organisaties. Twaalf dagen nadat Opus 4.8 de standaard werd, heeft de modelkiezer dus een nieuwe bovenste plank.
Twee praktische gevolgen voor een afgesteld harnas.
Eerst: lees je CLAUDE.md met frisse ogen opnieuw. De regels die we voor Opus-klasse modellen schreven, vallen in twee groepen: feiten over onze repository (bouw in Release, kom niet aan het solution-bestand, integratietests staan los van solution-brede runs) en compensaties voor modelgedrag (wees expliciet over X, doe altijd Y voor Z). De eerste groep overleeft elke modelwissel ongewijzigd. De tweede groep is precies waar de vorige post voor waarschuwde — instructies die een nieuwer model opzadelen met de faalpatronen van gisteren. We schrapten deze week drie regels die alleen bestonden omdat een ouder model die herinnering nodig had. Fable niet.
Ten tweede landde er in v2.1.169 een kleine maar veelzeggende wijziging: de drempel voor de “CLAUDE.md is te lang”-waarschuwing schaalt nu mee met het contextvenster van het model. Daarmee formaliseert het platform de stelling van vorige keer — contextbudget is relatief, en de tooling behandelt het nu ook zo. Lees dit niet als een vrijbrief om op te blazen; lees het als bevestiging dat het budget een eersteklas zorg is.
Model en effort blijven knoppen per sessie (--model, /effort), en sinds v2.1.162 bevestigt de /effort-kiezer wanneer je gekozen niveau als standaard voor nieuwe sessies blijft staan. Wij draaien Fable voor ontwerpgericht en cross-cutting werk en houden goedkopere modellen voor mechanisch werk — het harnas maakt het niet uit welk model aan het stuur zit, en dat is precies het punt.
Laag 2 herzien — hooks krijgen een feedbackkanaal
De nuttigste wijziging van de week voor iedereen die guardrails draait, is makkelijk over het hoofd te zien in de changelog. Vanaf v2.1.166 kunnen Stop- en SubagentStop-hooks hookSpecificOutput.additionalContext teruggeven — feedback die naar Claude terugstroomt en de beurt laat doorlopen, zonder als hook-fout te worden bestempeld.
Waarom dat ertoe doet: het patroon “beëindig de beurt niet voordat de tests slagen” uit vorige keer werkte, maar het werkte met dwang. De hook blokkeerde de stop, Claude zag een foutmelding, en je hoopte dat hij de juiste vervolgstap afleidde. Nu kan de hook zeggen waarom:
{
"hookSpecificOutput": {
"hookEventName": "Stop",
"additionalContext": "3 tests failing in OrderProcessingTests. Fix before finishing: dotnet test --filter Category!=Integration"
}
}
De beurt loopt door met die context erin geïnjecteerd. Het is het verschil tussen een portier en een coach.
Hoe wij het deden. Onze Stop-hook gaf voorheen bij een falende build of tests een non-zero exit met een korte stderr-melding. We hebben hem herschreven zodat hij additionalContext teruggeeft met de daadwerkelijke faalsamenvatting — namen van falende tests, het exacte commando om opnieuw te draaien. Anekdotisch herstelt Claude sneller en minder chaotisch: hij gaat direct op de genoemde fouten af in plaats van de hele suite opnieuw te draaien om ze te herontdekken.
Nog twee guardrail-upgrades die het waard zijn om over te nemen:
- Glob-patronen in deny-regels (v2.1.166): de positie voor toolnamen accepteert nu globs, dus
"*"weigert alle tools in een regel. Onbekende toolnamen in deny-regels geven nu ook een waarschuwing bij het opstarten — wat meteen een verkeerd gespelde regel van ons blootlegde die wekenlang stilletjes nergens op matchte. Loop die opstartoutput één keer na. - Ingebouwde bescherming voor configbestanden die code-executie verlenen (v2.1.160–163): Claude Code vraagt nu om bevestiging voordat het naar shell-startupbestanden schrijft, en
acceptEdits-modus vraagt om bevestiging voordat het build-tool-configbestanden schrijft die code uitvoeren —.npmrc,.pre-commit-config.yaml,.devcontainer/en dergelijke. Wij hadden zelf hooks voor een deel van deze paden. We hielden onze guards voor het solution-bestand enDirectory.Packages.props(die zijn van ons alleen) en schrapten de overlap. Minder hooks, dezelfde dekking — dat is winst.
Lagen 1 en 3 — gereedschap voor contexthygiëne
Twee toevoegingen in v2.1.169 zijn klein, maar precies het type feature waar een gelaagde setup op zit te wachten.
--safe-mode (of CLAUDE_CODE_SAFE_MODE=1) start Claude Code met elke aanpassing uitgeschakeld — CLAUDE.md, plugins, skills, hooks, MCP-servers, alles. Dit is de harnas-debugger die we niet hadden. Bij vreemd gedrag is de eerste vraag altijd “ligt het aan het model of aan mijn configuratie?” — en tot nu toe betekende die vraag beantwoorden handmatig alles loskoppelen. Nu is het één vlag: reproduceer in safe mode, en je weet aan welke kant van de lijn het probleem zit. We hebben het al één keer gebruikt om aan te tonen dat een storend edit-patroon kwam door een te brede regel in een geneste CLAUDE.md, niet door het model.
disableBundledSkills verbergt Anthropics meegeleverde skills, workflows en ingebouwde slash-commando’s voor het model. Als je net als wij eigen, opinionated skills hebt gebouwd voor PR’s, reviews en intake, zijn de meegeleverde varianten pure contextbelasting en af en toe een bron van “wacht, waarom gebruikte hij die.” We hebben het aangezet voor de hoofdrepository. Daaraan gerelateerd: /plugin list (v2.1.163) geeft eindelijk een snel overzicht van wat er is geïnstalleerd, met --enabled/--disabled-filters — handig voor het periodieke opruimritueel.
Nog een kleine skills-noot: er is nu een \$-escape (v2.1.166) voor een letterlijk dollarteken vóór een cijfer in commandobodies. Als je skills schrijft die regex-vervangingsstrings of MSBuild-syntax raken, hoef je je niet meer in bochten te wringen rond de 0-geïndexeerde $0-argumentsubstitutie.
Laag 5 herzien — parallel werk, gehard
Drie wijzigingen hier, in oplopende volgorde van belang.
/cd (v2.1.169) verplaatst een lopende sessie naar een nieuwe werkmap zonder de prompt-cache te breken. Voorheen betekende een sessie heen en weer schuiven tussen een worktree en de hoofdcheckout: óf herstarten, óf een koude cache. Kleine kwaliteit-van-leven-winst, maar echt geld bespaard bij lange sessies.
fallbackModel (v2.1.166) accepteert tot drie fallback-modellen die op volgorde worden geprobeerd als het primaire model overbelast is, en --fallback-model geldt nu ook voor interactieve sessies. Voor nachtelijke Routines en langlopende achtergrondagents verandert dit “de run liep om 2 uur ’s nachts vast omdat het vlaggenschip bezet was” in “de run degradeerde netjes naar Sonnet en is afgerond.” We hebben een fallback van twee diep ingesteld op elke geplande job.
Cross-sessie messaging is gehard (v2.1.166): berichten die via SendMessage van andere Claude-sessies worden doorgestuurd, dragen niet langer gebruikersautoriteit — ontvangers weigeren doorgestuurde permissieverzoeken, en auto-modus blokkeert ze. Als je agent-teams draait, dicht dit een echt gat: één sessie kan niet langer een permissie-toekenning via een andere sessie witwassen. Niets om te configureren; weet alleen dat als je een workflow had die afhankelijk was van doorgestuurde goedkeuringen, die nu (terecht) stopt met werken.
Buiten de CLI: Dreaming, en meer ademruimte
Twee aankondigingen van Code w/ Claude Tokyo (5–6 juni) maken de week compleet.
De rate limits voor Claude Code zijn verdubbeld, naast verhoogde API-limieten voor Opus. Geen configuratiewijziging nodig — maar als je voorheen parallelle worktree-sessies temperde of Routines spreidde om onder de limieten te blijven, is het de moeite waard dat te herzien. Wij hebben twee nachtelijke jobs niet langer gespreid.
Claude Managed Agents kregen “Dreaming”: een geplande procedure die eerdere agent-sessies doorneemt, patronen blootlegt en geheugen cureert zodat agents tussen runs door verbeteren — terugkerende fouten, gedeelde workflows en teamvoorkeuren komen in een duurzame opslag terecht. Het is de platform-gehoste neef van het auto-memory “littekenweefsel” waar wij lokaal op leunen, en het duidelijkste signaal tot nu toe waar dit naartoe gaat: geheugencuratie als expliciete, geplande discipline in plaats van een toevalstreffer van gebruik. We zitten niet op Managed Agents voor deze codebase, maar als je vloten draait, is dit de feature om als eerste te evalueren.
De bijgewerkte checklist
Als je de checklist van vorige week hebt gevolgd, is dit de delta — hooguit een uur werk:
- Lees je CLAUDE.md opnieuw, met Fable 5 in gedachten. Schrap elke regel die oud modelgedrag compenseert in plaats van je repository te documenteren. (Bij ons verdwenen er drie.)
- Herschrijf je
Stop/SubagentStop-hooks zodat zeadditionalContextteruggeven met de daadwerkelijke faaldetails in plaats van een kale non-zero exit. - Vergelijk je bestandsbeschermings-hooks met de nieuwe ingebouwde prompts voor shell-startup- en build-tool-configbestanden; schrap de overlap.
- Check de opstartoutput op de nieuwe waarschuwingen voor onbekende toolnamen in deny-regels. Misschien vind je een typefout die al een tijdje niets doet.
- Zet
disableBundledSkillsaan als je eigen skills hetzelfde terrein dekken, en draai meteen/plugin list. - Voeg
fallbackModel(tot drie, op volgorde) toe aan elke geplande of langlopende job. - Train het reflex: vreemd gedrag →
claude --safe-mode→ vandaaruit bisecten.
De slotzin van vorige week was dat een afgestelde setup is als het inwerken van een scherpe nieuwe collega. De aanvulling van deze week: de collega is gepromoveerd, het gebouw heeft nieuwe sloten, en de helft van je post-its is achterhaald. De lagen hielden stand. De inhoud had een opfrisbeurt nodig. Dat is de deal die je aangaat — en een week zoals deze is precies waarom elke laag klein en single-purpose houden zich terugbetaalt.
Bronnen
Officiële documentatie — Changelog (v2.1.154–v2.1.170), What’s new, Hooks reference, Settings.
Aankondigingen van Anthropic — Claude Fable 5 & Mythos 5 (9 juni 2026), Code w/ Claude Tokyo aankondigingen (5–6 juni 2026), Opus 4.8 (28 mei 2026).
Zoals eerder: controleer versie-specifieke details tegen de actuele changelog voordat je erop vertrouwt — de CLI verschijnt regelmatig en feature-versie-koppelingen verschuiven. Deze post zal verouderen. Dat is precies het punt.