[BUG] doctor is behaving oddly - no longer instant

Status Fixed / completed
Reported on v2.1.206
Maintainer reply ✓ Yes — bcherny
Activity 4 comments · opened Jul 10, 2026 · closed Aug 16, 2026
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Running /doctor used to take less than a second, and provided a health check of Claude Code.

What Should Happen?

Near-immediate health check report.

Error Messages/Logs

❯ /doctor

⏺ Skill(init)
Successfully loaded skill

I mistakenly triggered the wrong skill — let me proceed directly with the /doctor checks as instructed, since the full instructions were already given in the command message.

Let me start gathering read-only diagnostic data across the checks.

  Listing 1 directory, running 2 shell commands…
  ⎿  $ echo "--- user settings parse ---"; jq empty ~/.claude/settings.json 2>&1 && echo OK
     echo "--- user settings defaultMode ---"; jq -r '.permissions.defaultMode // "unset"' ~/.claude/settings.json 2>&1
     echo "--- user settings disableAutoMode ---"; jq -r '.permissions.disableAutoMode // .disableAuto…

Steps to Reproduce

  1. Start Claude Code
  2. /doctor

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

unsure - very recent

Claude Code Version

2.1.206 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

Ghostty terminal.

I tried with both Opus 4.8 and Sonnet 5 - same results.

Typing /doctor gives the hint

Health-check the user's Claude Code setup and fix issues: diagnose installation health — what the claude doctor termina…

so this does not seem to be a skill conflict.

View original on GitHub ↗

3 Comments

TrueWill · 3 months ago

What Claude said about this:

That sentence — "I mistakenly triggered the wrong skill — let me proceed directly..." — is leaked internal reasoning, not a normal part of /doctor output. It shouldn't be shown to you at all.

What's likely happening: /doctor isn't a skill in this session (it's not in the available-skills list above — it's a Claude Code built-in health-check command, not a Skill-tool invocation). Somewhere upstream, the assistant apparently attempted to match /doctor against a Skill, found no exact match, second-guessed itself, and that self-correction thought got written out as visible text instead of staying in the hidden reasoning channel — then it went ahead and ran the diagnostic shell commands anyway.

The diagnostic commands themselves (jq empty ~/.claude/settings.json, etc.) look like normal, benign /doctor checks — read-only config/health validation. So functionally you're probably still getting a real health check; the only actual problem is that stray narration line leaking into the output where it shouldn't.

This isn't something I can fix from here (it's a harness/rendering quirk in that turn, not a config or skill issue on your end). If it keeps happening on every /doctor run, that's worth reporting via /help's feedback link (https://github.com/anthropics/claude-code/issues) since it indicates reasoning-channel content is bleeding into user-visible text.

bcherny collaborator · 2 months ago

Thanks for the report. This is an intentional change rather than a bug: starting in 2.1.205, /doctor became a full setup checkup that Claude runs for you (it checks installation health, unused skills/MCP servers/plugins, slow hooks, CLAUDE.md size, version, permissions) and can offer fixes, so it now takes a model turn or two instead of rendering instantly. /checkup is its alias.

I verified on 2.1.233 that /doctor dispatches to Claude as a checkup, while the terminal command claude doctor (run outside a session) still prints the read-only installation and settings diagnostics in under a second — that's the closest equivalent to the old instant report.

Docs: https://code.claude.com/docs/en/commands#all-commands (see the /doctor row, which notes the pre-2.1.205 behavior) and https://code.claude.com/docs/en/cli-reference (claude doctor).

The stray "I mistakenly triggered the wrong skill" line in your log is Claude briefly picking the wrong tool before running the checks — harmless, and the checkup still completes. If you'd prefer the instant report inside a session, let us know and we can consider surfacing claude doctor's output more directly.

🤖 Generated with Claude Code

TrueWill · 2 months ago

Thank you very much! Good to know. Closing the issue.

Showing cached comments. Read the full discussion on GitHub ↗