← Claude Code Hub
✦ Tip #132 Jul 12, 2026

Claude Code /doctor no longer just diagnoses: now it fixes what it finds

`/doctor` used to be the report you ran once something already failed. Now it's a full checkup: it finds what's broken and, above all, the dead weight quietly eating your context, and offers to fix it with your OK.

Diagram of /doctor in Claude Code as a full checkup: a checkup card with two sections: Health (installation, MCP servers, slow hook) and Context cost (unused or duplicated skills, plugins and CLAUDE.md), and the prompt to apply only what you approve

TL;DR /doctor went from printing a read-only report to running a full setup checkup. It still hunts what's broken (installation, dead MCP servers, slow hooks), but now it also surfaces the dead weight that quietly eats your context: skills, MCP servers, and plugins you load but never use, plus CLAUDE.md that's duplicated or padded with things Claude could infer from the code. It shows you the findings first and asks for confirmation before changing anything. Alias: /checkup.

Until recently, /doctor was the thermometer: you ran it when something already hurt, it told you where it was looking in green/yellow/red, and that was about it. Since v2.1.205 it's a different animal. Now it's the full physical: it doesn't wait for you to get sick, it finds things you didn't know were wrong (several kinds at once), and offers to fix them.

From taking your temperature to a full workup

The change isn't cosmetic. /doctor now looks at two families of problems, and that's the whole point:

  • What's broken. Installation health, MCP servers that won't respond, hooks that take too long. Real errors.
  • What's excess. Skills, MCP servers, and plugins you have loaded but never use (paying a toll on your context every turn), local CLAUDE.md files duplicated against the checked-in one, and CLAUDE.md content Claude could derive just by looking at the repo.

The second family is the new one, and it's the one most people ignore: it throws no error, breaks nothing, it just makes every message more expensive without you seeing it.

Result preview

> /doctor

Setup checkup · 8 checks

  Health
  🟢 Installation      native · Claude Code v2.1.205
  🟢 MCP servers       4/4 responding
  🔴 Hook slow         PostToolUse 'lint' took 4.2s avg

  Context cost
  🟡 Unused skills     3 loaded, 0 used in last 30 sessions
  🟡 Unused plugins    1 loaded, never invoked
  🟡 CLAUDE.md dupes   2 rules also in the checked-in CLAUDE.md
  🟡 CLAUDE.md derivable  ~40 lines Claude can infer from the code

  1 error · 4 warnings · 3 OK

Apply the proposed fixes? Claude will show each change first.
  [y] review and apply   ·   [n] dismiss

You say yes and it goes one by one: it shows you the diff for each fix (disable the skill you never touch, drop the two duplicated rules from CLAUDE.md, trim the lines that are excess) and applies only what you approve. Nothing changes behind your back.

How to use it

1. Run it inside a session

/doctor

/checkup does exactly the same thing. It's the alias, in case that word comes to you first. This full checkup (dead weight included, and the fixes) lives only inside a session.

2. Read the findings before you decide

The key difference from the old version: it reports first, then asks. It applies nothing until you say yes, and it shows you each change individually. You can accept the slow-hook fix and reject the CLAUDE.md trim if you want that chunk on purpose.

3. Shell claude doctor is a different, lighter thing

claude doctor

Don't mix them up: the shell version is not this checkup. It's the classic installation check (install type, version, PATH, ripgrep, auto-updates), the one you run when Claude won't even start. In fact, it tells you so on the way out: "For a full setup checkup that can also fix issues, run /doctor in a Claude Code session." The dead-weight sweep and the confirm-then-fix flow are the in-session /doctor only.

What it reviews

Family Check What it surfaces
Health Installation Type, version, binary integrity
Health MCP servers Each configured server responds
Health Hooks Flags the ones that take too long
Dead weight Unused skills / MCP / plugins What you load but never invoke, versus its context cost
Dead weight Duplicated CLAUDE.md Local rules already in the checked-in CLAUDE.md
Dead weight Derivable CLAUDE.md Content Claude can infer from the code itself

Reference

Aspect Detail
Command /doctor (alias /checkup), inside a session
Shell claude doctor Lighter installation check; not the checkup, doesn't touch dead weight
Before Read-only report
Now Diagnoses and fixes, with confirmation
Order Reports first, asks second, applies only what's approved
New coverage Dead skills/MCP/plugins, CLAUDE.md dedup and trim, slow hooks

When what you have is a concrete symptom (search isn't finding files, an MCP won't connect, a skill vanished) and you want the "something's broken, find it" angle, that's still the classic /doctor. This tip is the opposite: the periodic checkup that catches what slipped past you.

And if the checkup flags your CLAUDE.md as bloated, here's what to trim and what to keep: your CLAUDE.md is full of junk. For the toll of plugins you load but never use, this one breaks it down.

Official docs: Slash commands · Claude Code Docs

Free guide

51 tips to master Claude Code.

One page per tip. Five chapters. What I actually use daily in production — no theory, no fluff.

  • I. Getting started 10 tips
  • II. Awareness 3 tips
  • III. Mastery 22 tips
  • IV. Autonomy 10 tips
  • V. Comparison 6 tips
Are you a professional Web developer?

You'll receive the guide by email · You join the Gravitas newsletter · Unsubscribe anytime

of 51
#

Wmedia · 51 Tips
Free guide · 51 tips · 5 chapters

51 tips to master Claude Code.

Are you a professional Web developer? · Unsubscribe anytime