Claude Code /doctor: wat hij controleert en wat er nieuw is
8m leestijd getoetst aan Claude Code 2.1.270 op 13 september 2026

Claude Code /doctor: wat hij controleert en wat er nieuw is

Wat /doctor in Claude Code nu echt controleert: tien checks, waarvan er maar twee kijken of het ding goed geïnstalleerd staat. De rest gaat over wat jij erin hebt geladen.

claude doctor in je shell controleert de installatie en verandert niets. /doctor in een sessie licht je skills, MCP-servers, plugins, hooks en CLAUDE.md-bestanden door, en vraagt om bevestiging voordat hij iets repareert.

De shell-versie geeft je een keurig rapportje. Versie, installatiemethode, platform, update-kanaal, de laatste update-poging en of Remote Control beschikbaar is. Dat van mij eindigt met "No installation issues found", gevolgd door een verwijzing naar /doctor voor een volledige checkup die ook kan repareren wat hij vindt. Alles groen, niets te doen.

Draai daarna /doctor in een sessie en je krijgt tien checks. Twee daarvan kijken of Claude Code goed geïnstalleerd staat en up-to-date is. De andere acht kijken naar wat jij ermee hebt gedaan.

Juist dat verschil maakt het interessant. Het commando heeft zijn naam gehouden en is stilletjes iets heel anders gaan doen.

Wat de health check van /doctor nu controleert ​

/doctor (alias /checkup) is sinds 2.1.203 een meegeleverde skill, terwijl claude doctor in de shell de oude installatiecheck bleef. Hij leest je settings, je skills, je MCP-servers, je plugins, je hooks en je geheugenbestanden, en stelt daarna wijzigingen voor. Dit is de complete lijst, rechtstreeks uit de skill van 2.1.203:

#Check
0Gezondheid van je setup: installatie, settings, agent-definities
1Ongebruikte skills, MCP-servers en plugins
2Lokale CLAUDE.md ontdubbelen en tegenstrijdigheden vinden
3Afleidbare inhoud uit ingecheckte CLAUDE.md-bestanden halen
4Altijd geladen CLAUDE.md-inhoud omzetten naar lazy loading
5Trage hooks
6Contextzware extensies
7Claude Code-versie
8Auto mode als standaard permission mode
9Vaak geweigerde read-only commando's vooraf goedkeuren

Check 0 en 7 zijn de oude installatiecheck. Check 1 tot en met 6 zijn een contextaudit. Check 8 en 9 zijn weer iets anders, daar kom ik zo op terug.

Het rekenwerk in check 6 is concreet genoeg om er iets aan te hebben: hij schat per onderdeel hoeveel context permanent bezet is, splitst dat uit per geheugenbestand, en zet je lijst met skills en commando's af tegen een budget van ongeveer 1% van het context window. Hij zegt er ook bij dat het schattingen zijn op basis van wat er op schijf staat, en verwijst je naar /context voor de echte meting. Zoveel eerlijkheid had ik niet verwacht van een tool die je zijn eigen opruimwerk verkoopt.

Wat er sinds 2.1.203 is veranderd ​

Tussen 2.1.203 en 2.1.270 kwamen er drie veranderingen bij:

  • Achtergebleven sandbox-bestanden (2.1.257). /doctor waarschuwt voor sandbox-bestanden die een afgebroken sessie heeft laten staan.
  • /skill-doctor (2.1.261). Een apart commando dat alleen je ongebruikte skills laat zien en wat ze aan context kosten. Eigenlijk het skills-deel van check 1, en sneller als je alleen dat wilt weten.
  • Organisatiebeleid (2.1.268). claude doctor meldt nu wanneer het beleid van je organisatie niet geladen kan worden, bijvoorbeeld omdat je achter een proxy zit.

Waarom dit nu pas komt ​

Sonnet 5 kwam op 30 juni uit met een venster van 1M tokens. Opus 5 volgde op 24 juli, met hetzelfde venster. In Claude Code zijn ze allebei de standaard voor hun tier.

Toen het venster nog 200k was, meldde de vervuiling zich vanzelf. Je installeerde elf plugins en een CLAUDE.md van 400 regels, en halverwege de middag zat je naar de compaction-waarschuwing te kijken en te vloeken. Die muur was irritant, en die muur was ook feedback.

Bij een miljoen tokens loopt bijna niemand er nog tegenaan. De vervuiling is er nog steeds, alleen krijg je er geen foutmelding meer bij. Je agent wordt een beetje vager, start iets trager op, en volgt iets vaker die verouderde instructie die al drie sessies niet meer klopt. Niets in de interface waarschuwt je, want er ging niets stuk.

Dus bouwde Anthropic er een linter voor. Dat zijn check 1 tot en met 6: een linter voor rommel die geen symptoom meer heeft. Mijn stuk over de token-belasting ging over tooling die je meer context kost dan ze oplevert, en hier bouwt de leverancier zelf de meter die me gelijk geeft.

De check die in je geheugen snijdt ​

Bij check 3 wil je even stilstaan. Die stelt voor je ingecheckte CLAUDE.md in te korten door alles weg te halen wat Claude ook uit de codebase kan afleiden. Mappenstructuren, dependency-lijsten, architectuuroverzichten: weg, want dat kan de agent gewoon lezen. Valkuilen, het waarom achter keuzes en conventies die afwijken van de standaardinstellingen: die blijven staan.

Die scheidslijn klopt precies. Ik heb hetzelfde betoogd over verouderd geheugen, waar het bestand dat je mappenstructuur beschrijft nu net het bestand is dat zes weken later tegen je liegt.

Alleen: wie trekt die lijn? "Content Claude could derive from the codebase" betekent dat het model zijn eigen redeneervermogen beoordeelt, en zelfbeoordeling is nu juist waar deze dingen structureel slecht in zijn.

Hij zal vol overtuiging voorstellen die ene regel te schrappen die overbodig leek en in werkelijkheid dragend was, de regel die voorkomt dat hij in deze repo elke keer weer dezelfde fout maakt. Het voorstel klinkt volstrekt redelijk. En jij weet niet meer waarom die regel er staat, want je hebt hem er acht maanden geleden in gezet, na het derde incident.

/doctor laat eerst zijn bevindingen zien en vraagt om bevestiging voor hij iets aanpast, dus je krijgt een diff. Lees die als een pull request van een snelle, gretige junior die deze repo nog nooit heeft gezien, want dat is precies wat het is. De regel dat je nooit code shipt die je niet snapt geldt ook voor je geheugenbestand. Dat bestand is configuratie, en configuratie heeft per regel meer impact dan code.

Check 8 en 9 hebben een mening ​

Check 8 stelt voor om auto mode je standaard permission mode te maken, op gebruikersniveau, voor al je projecten. Check 9 zoekt read-only commando's die je steeds weigert en biedt aan ze vooraf goed te keuren.

Allebei zijn ze te verdedigen. Check 9 is gewoon goed: als je veertig keer nee hebt gezegd tegen git status, kijk je allang over die prompt heen. En de skill gaat zorgvuldig om met check 8, slaat hem over als beleid of projectinstellingen een andere mode vastzetten, en vermeldt dat de CLI netjes terugvalt als auto mode niet beschikbaar blijkt.

Maar kijk even wat hier gebeurt. Een tool die "doctor" heet, adviseert nu ruimere permissies, als onderdeel van een gezondheidscheck. Die verpakking is niet onschuldig, want niemand gaat in discussie met een diagnose.

Wil je auto mode, kies er dan bewust voor, met het permissiemodel in je hoofd, en niet omdat een groene checklist het aanbood tussen een rapport over trage hooks en een versie-update door.

Wat me verraste ​

Ergens in check 1 staat een instructie die de skill zichzelf oplegt: rapporteer nooit tokenkosten voor MCP-tools die deferred zijn, en adviseer nooit om een MCP-server uit te zetten "to save context" als zijn tools deferred zijn.

MCP-toolschema's zitten tegenwoordig standaard achter een zoektool. Alleen de naam staat permanent in context, het schema wordt op afroep opgehaald. Het gangbare advies om je MCP-servers eruit te gooien omdat ze je venster opvreten, is daarmee grotendeels achterhaald.

De skill weet dat en weigert de eer op te strijken voor een besparing die niet plaatsvindt. Hij stelt nog steeds voor om servers uit te zetten die je nooit aanroept, maar dan eerlijk gebracht als opruimen: gewoon één ding minder om op in te loggen en te onderhouden.

Een opruimtool die niet overdrijft wat het opruimen oplevert, zegt iets goeds over de rest.

Hoe ik hem gebruik ​

claude doctor vanuit de shell is read-only. Draai hem wanneer er iets niet klopt aan de installatie zelf.

Geen van beide commando's kijkt naar de sessie waar je nu in zit. Die heeft een eigen meter en eigen gewoontes, en gaat in uren achteruit in plaats van in maanden.

/doctor in een sessie is een agent met schrijfrechten op je configuratie. Ik draai hem ongeveer maandelijks, aan het begin van een sessie, als ik nog het geduld heb om een diff te lezen. Aan het eind van een lange dag is die checklist het enige dat nog tussen mij en een merge staat, en dan wuif ik alles door.

Zonder veel nadenken accepteren: versie-updates, meldingen over trage hooks, het ontdubbelen van lokale geheugenbestanden ten opzichte van de ingecheckte, plus servers die je echt nooit hebt aangeroepen. Regel voor regel lezen: alles wat aan een ingecheckte CLAUDE.md komt, en allebei de permissievoorstellen.

Het commando dat je vroeger vertelde dat de tool kapot was, vertelt je nu vooral dat jij het bent. Tien checks, en acht daarvan gaan over keuzes die jij hebt gemaakt. Dat rapport is vervelender om te krijgen, en een stuk nuttiger.

(25 van 40)
1Mijn Claude Code-setup: status line, plugins en terminal2Superpowers: hoe je Claude Code leert eerst te denken3Claude Code-hooks: deterministische controle over AI-workflows4Het CLAUDE.md-bestand: geef je AI permanent geheugen5Stop met vriendelijk vragen aan je agent6Wat er nieuw is in Claude Code: notities van het Londen-event7Het beste cijfer in Opus 4.8 is geen benchmark8Verouderd geheugen is erger dan geen geheugen9De agent is gewoon een loop10Bouw een MCP-server, en vraag je dan af of die moet bestaan11Skill, subagent, hook of slash command? Kies de juiste12Inloggen op MCP-servers vanuit je shell13Claude veilig toegang geven tot je SQL-database14De dag dat 'default' ineens 'Manual' heette15Claude Code-skills: zo schrijf je er een die werkt16Een goede Claude Code-subagent schrijven17Claude Code permissions instellen: de gids die ik miste18Claude Code sandboxen: toestemming is geen muur19Prompt injection voorkomen: verdediging voor wie agents bouwt20Het beste Claude-model voor code: welk model voor welke taak21Legacy code refactoren met AI: begin met characterization tests22Je MCP-server beveiligen: authenticatie, scopes en rate limits23Opus 5 is er, en je effort-instellingen kloppen niet meer24Incident response voor AI-agents: wat je doet als je coding agent de fout in gaat25Claude Code /doctor: wat hij controleert en wat er nieuw is26Context beheren in Claude Code: wanneer /clear en wanneer /compact27Git worktrees uitgelegd: parallel werken met AI-agents zonder botsingen28Claude Code plan mode: beslissen voordat de agent schrijft29Debuggen met een coding agent: geef hem het zoekwerk, de hypothese houd je zelf30Claude Code checkpoints en /rewind: wijzigingen van je agent terugdraaien31Claude Code cross-session messaging: sessies die elkaar berichten sturen32Audit logging voor AI-agents: wat Claude Code vastlegt en wanneer je iemand wakker belt33Claude Code-config delen met je team: wat de repo wel en niet afdwingt34Je Claude Code-sessie heeft geen klok35Claude Code in een grote codebase: de agent afbakenen tot wat ertoe doet36Een Claude Code-sessie terughalen die de resume-picker niet laat zien37Waar Claude Code zijn tijd aan kwijt is: een maand eigen sessies gemeten38Claude Code bijsturen tijdens het werk: Esc, de wachtrij en /btw39Claude Code auto mode: waarom je allow-regel voor Agent niets doet40Claude Code Superpowers: wat subagent-driven development aan tokens kost