Claude Code Doctor: The Checkup I Run After Every Model Release (Plus the New Prompt Audit)

David IyaDavid Iya September 29, 2026 8 min read
A brass stethoscope coiled on a slate-grey desk next to a mug of black coffee, a blank clipboard and the edge of a closed laptop, in soft overcast light
Original image, Claude Code Club

What Claude Code doctor does

Claude Code doctor is a built-in checkup you start by typing /doctor in a session (the alias is /checkup). It looks at your whole setup and tells you what is wrong or wasteful: duplicate or leftover installs, PATH problems, settings files that do not parse, skills and MCP servers and plugins that cost context without being used, hooks that are slow, and whether a newer version is out on your release channel. It also trims a checked-in CLAUDE.md by cutting content Claude could work out from the code itself. It reports its findings first and asks before it changes anything. Since Claude Code v2.1.283 there is a second mode, /doctor prompt-audit, that reads your instructions for rules written for older models and files that contradict each other.

I treat it the way I treat a service on a car. Nothing is broken today, but a Claude Code setup collects weight quietly. A skill you installed to try once. An MCP server for a client you finished in the spring. A CLAUDE.md that grew a paragraph every time something went wrong. None of it throws an error. It just makes every session a little slower and a little less focused, and you do not notice until the agent starts ignoring a rule you know is in there.

How to run /doctor in the Claude Code desktop app

In the desktop app, open a local session on the project you want checked, type / in the prompt box, and pick doctor from the list, or just type /doctor and send. /doctor is a bundled skill, which means it is a prompt handed to Claude rather than a terminal-only panel, so it runs in a desktop session the same way it runs anywhere else. Claude reads your setup, writes up what it found, and then asks which fixes you want applied.

  1. Open the project in a local session. The checkup looks at the project's own CLAUDE.md and .claude folder as well as your personal settings, so run it from the project, not from an empty folder.
  2. Type /doctor and send. Let it finish before you reply. The report is the useful part.
  3. Read the findings and answer the questions. It will ask before trimming a file, turning something off, or changing a setting.
  4. Commit the changes to the project's CLAUDE.md and .claude folder in git, so a bad trim is one revert away. How I use Claude Code with git covers the habit.

If you also live in the terminal, there is a separate command, claude doctor, typed at the shell rather than inside a session. It prints read-only installation and settings diagnostics without starting a session. That is the one to reach for when Claude Code will not start at all. Everything else in this post is the in-session /doctor.

The five things /doctor checks, and what to do with each

The report groups into five kinds of finding. Each one points at a different problem, and each one has a clear right answer most of the time.

What /doctor checks and how to act on it

CheckWhat it findsWhat I do with it
Install healthDuplicate or leftover installs, PATH problems, settings files that do not parse, and whether a newer version is out on your release channelFix every one. A second install or a broken settings file causes the kind of bug that looks like Claude being unreliable when it is not
Unused skills, MCP servers and pluginsThings you have installed, weighed against their context cost and how often they get usedTurn off anything I have not used in a month. I can switch it back on in seconds if I miss it
Slow hooksHooks that take long enough to slow every action they run onKeep only the hooks that [earn their keep](/blog/claude-code-hooks-that-earn-their-keep), and make the rest faster or remove them
CLAUDE.md size and duplicationLocal CLAUDE.md files that repeat the checked-in one, and content in the checked-in file that Claude could derive from the code, such as directory layouts and dependency listsAccept the trims, then read what is left. Pitfalls, reasons and conventions that differ from defaults should stay
DefaultsAn offer to make auto mode your default, and to pre-approve read-only commands you keep denyingDecide on purpose. [Auto mode as the default](/blog/claude-code-auto-mode-default) is fine for most solo work; on client repos I think about it first

The unused-extension check is the one that pays back fastest. Every skill in the skill listing adds to your context on every turn, whether Claude uses it or not. If you want the per-skill numbers on their own, /skill-doctor shows what each skill costs and how often it gets used. What actually eats your limit explains why this adds up over a long day.

What /doctor prompt-audit does, and why it matters this week

/doctor prompt-audit is a different job from the checkup. Instead of looking at your install, Claude reads your instructions: your CLAUDE.md, CLAUDE.local.md and AGENTS.md files, plus the rules, skills, commands, subagents and output styles under .claude in the project and in your home folder. It looks for three things: instructions written for older models, references to files or commands that no longer exist, and files that contradict each other. You get a report and a set of proposed edits, and nothing in your files changes until you ask Claude to apply them.

The timing is the point. Claude Sonnet 5.5 landed in Claude Code this week, a week after Opus 5.5, and a lot of the instructions people carry around were written to push an older model into behaving. Shouting in capitals, repeating the same rule three times, warning it not to be lazy. An instruction written to push an older model can land differently on a newer one, and instructions written for older models are exactly what the audit is built to flag. It is the fastest way I know to find those lines, because it reads every file at once and I do not have to remember where I put them. The Sonnet 5.5 post covers what changed in the model itself.

  • Audit everything: type /doctor prompt-audit with no path.
  • Audit one thing: pass a path, for example /doctor prompt-audit .claude/skills/deploy, when you only changed one skill.
  • Check your version first. The audit needs Claude Code v2.1.283 or later. The desktop app updates itself on launch on macOS and Windows, and you can check by hand from the Claude menu, then Check for Updates. In the terminal, claude --version tells you where you are.
  • If the audit refuses to run, check whether you have turned off bundled skills. It runs through the bundled /claude-api skill, so it is unavailable when that skill is disabled in skillOverrides or with disableBundledSkills.

The CCC Checkup Cadence: when to run it

The CCC Checkup Cadence is four triggers. Any one of them means run /doctor, and the first one also means run /doctor prompt-audit.

  1. A new model ships. Run the prompt audit on everything, read the proposed edits, and accept the ones that remove old coaching. Then run the normal checkup.
  2. You installed or removed a batch of things. Three new MCP servers, a plugin, a folder of skills from a course. Run the checkup the same day so you see their context cost before you forget why you added them.
  3. A session starts feeling slow or forgetful. Before you blame the model, run the checkup. Slow hooks, a crowded skill listing and an oversized CLAUDE.md all look like a slow or distracted agent from the outside. Why Claude Code feels slow covers the rest of that list.
  4. It has been a month. Put it on the calendar, or better, make it a scheduled task in the desktop app that runs the checkup on the project and leaves the report for you to review.

How to read the CLAUDE.md trims without losing what matters

The trim is the one finding I read line by line, because it deletes words I wrote. The rule it follows is sound: cut what Claude can derive from the codebase, like directory layouts, dependency lists and architecture overviews, and keep pitfalls, reasons, and conventions that differ from tool defaults. The official guidance is to keep each CLAUDE.md under 200 lines, because longer files use more context and get followed less reliably. Claude Code also warns at startup, and in /status, when a file is over that length.

Where I push back is on anything that records why. "We use a queue here because the payment webhook times out" looks like architecture, but it is a pitfall, and it stays. If the trim proposes cutting a line like that, say no and keep going. Instructions that only matter in one part of the code are better moved than cut: path-scoped rules in .claude/rules load only when Claude works on matching files, and the checkup will offer to move always-loaded guidance into skills and nested CLAUDE.md files for exactly this reason.

Run your first checkup today

Open your busiest project in the desktop app, run /doctor prompt-audit, then /doctor, and commit whatever you accept. It takes a few minutes, it asks before it touches anything, and it is the cheapest way I know to get a setup back to the size it was when it worked best. If you want the finished shape of a clean setup to compare against, CLAUDE.md templates by project type and context engineering are where I would look next.

Free Claude Code drops, straight to your inbox

Short, practical drops on skills, MCP, agents, prompts, and more. No spam, unsubscribe anytime.

Frequently asked questions

What is Claude Code doctor?

It is the /doctor command in Claude Code, also available as /checkup. It runs a setup checkup: install health, PATH problems, unparseable settings, unused skills, MCP servers and plugins weighed against their context cost, slow hooks, newer versions, and CLAUDE.md trims. It reports first and asks before changing anything.

What is the difference between /doctor and claude doctor?

/doctor runs inside a session and can fix what it finds after asking. claude doctor is typed at the terminal and prints read-only installation and settings diagnostics without starting a session, which makes it the right tool when Claude Code will not start.

What does /doctor prompt-audit do?

It has Claude read your CLAUDE.md, CLAUDE.local.md and AGENTS.md files plus the rules, skills, commands, subagents and output styles under .claude, and flag instructions written for older models, references to files or commands that no longer exist, and files that contradict each other. It proposes edits and changes nothing until you ask. It needs Claude Code v2.1.283 or later.

Does /doctor work in the Claude Code desktop app?

Yes. /doctor is a bundled skill, so you run it from the prompt box in a local desktop session by typing /doctor or picking it from the slash command list. The separate claude doctor command is terminal-only.

How often should I run the Claude Code checkup?

After a new model ships, after you install or remove a batch of skills or MCP servers, whenever sessions start feeling slow or forgetful, and once a month regardless. After a model release, run /doctor prompt-audit first.

Last reviewed by David Iya on September 29, 2026

David Iya

Written by

David Iya

Forbes 30 Under 30 · Y Combinator

Keep reading

Claude CodeWorkflows

Claude Code Computer Use: What I Let Claude Click on My Mac (and What It Will Not)

Claude Code computer use lets Claude open your apps, see your screen, click, type, and drag, the way you would, from inside the desktop app. It is off by default, needs a Pro or Max plan, and every app gets approved per session with a fixed level of control: browsers are view-only, terminals are click-only, everything else is full control. Here is how I switched it on, what it caught on a native build that nothing else could reach, which apps I refuse to approve, and the order Claude tries other tools before it touches your screen.

David Iya 9 min
Read article
Claude CodeBuilding

Claude Sonnet 5.5 Is Out: The 10 Things That Matter

Anthropic released Claude Sonnet 5.5 on September 28, 2026. It costs the same as Sonnet 5, runs over 30% faster, and scored 70.6% on a test of real jobs done alone, up from 10.3%. Here are the 10 things that matter, where Opus 5.5 still wins, and how to switch today.

Duncan Rogoff 8 min
Read article

Ready to build it yourself?

Join Claude Code Club, the #1 community for learning claude code, for $9/month.

← Back to the blog