Claude Code /doctor 详解:一键诊断你的开发环境
为什么需要 /doctor
用 Claude Code 开发,总会遇到一些莫名其妙的问题:
- 命令跑着跑着突然没反应了,是 API 断了还是 Token 没了?
- MCP 服务器连不上,是配置写错了还是端口被占了?
- 搜索功能失灵了,ripgrep 到底装没装?
- 从 npm 升级到原生安装,旧版本残留会不会冲突?
这些问题一个个排查,费时费力。你得看环境变量、检查配置文件、测试网络连接、确认权限设置——每次都像在做侦探工作。
你需要一个一键诊断的工具。
这就是 /doctor。
/doctor 是什么
/doctor 是 Claude Code 的环境诊断命令。它会自动检测你的安装状态、配置、连接、权限等方方面面,然后告诉你哪些正常、哪些有问题、怎么修。
在交互模式下输入:
/doctor
或者在终端直接运行:
claude doctor
几秒钟后,你会看到一份完整的诊断报告,每一项检查都标记了状态:绿色通过、黄色警告、红色报错。
/doctor 检查了什么
1. 安装诊断
这是最基础也最重要的一组检查。/doctor 会检测:
安装类型:你是通过 npm 全局安装的、本地安装的、还是原生安装的?不同安装方式影响升级路径和权限管理。
Installation type: npm-global
Installation path: /usr/local/lib/node_modules/@anthropic-ai/claude-code
Version: 2.1.88
多重安装检测:如果你同时存在多个安装(比如 npm 全局装了一份,~/.claude/local 又装了一份,Homebrew 还装了一份),/doctor 会全部列出来并警告你。
这是很常见的问题——升级安装方式后忘了卸掉旧的,导致版本冲突或者跑到了错误的二进制文件。
自动更新状态:auto-updates 是否开启?如果是 npm 全局安装,是否有权限执行更新(有些系统需要 sudo)?
配置一致性:你实际的安装方式和 config 里记录的安装方式是否匹配。比如你已经切换到了原生安装,但配置还写着 npm-local,/doctor 会提醒你修正。
2. Ripgrep 状态
Claude Code 的搜索功能(Grep tool)依赖 ripgrep。/doctor 会检测它的运行状态:
Ripgrep: working (mode: builtin)
三种模式:
- system:使用系统安装的 ripgrep
- builtin:使用 Claude Code 自带的 ripgrep(npm 安装时)
- embedded:编译进二进制的 ripgrep(原生安装时)
如果 ripgrep 不可用,搜索功能会完全失效。/doctor 会告诉你具体原因和修复方法。
3. 上下文用量警告
这组检查帮你发现上下文被意外吃掉的问题:
CLAUDE.md 文件大小:如果你的 CLAUDE.md 超过了 4 万字符,/doctor 会警告你。过大的 CLAUDE.md 每次对话都会加载,白白消耗上下文窗口。
Warning: Large CLAUDE.md files detected
└ .claude/memory.md - 52,341 characters
└ CLAUDE.md - 41,209 characters
Agent 描述过多:自定义 Agent 的描述会占用系统提示词空间。如果你的自定义 Agent 描述总量超过了 15,000 tokens,/doctor 会列出占用最多的 Agent,建议你精简。
MCP 工具过多:MCP 服务器注册的工具越多,系统提示词越长。阈值是 25,000 tokens。如果你连了好几个 MCP 服务器,每个注册了几十个工具,上下文就被工具描述吃掉了大半。
权限规则冲突:检查是否有被遮蔽的权限规则。比如你设了一个允许 npm test 的规则,但上面有一条更宽泛的拒绝规则覆盖了它,导致你的允许规则永远不会生效。
4. 沙箱状态
Claude Code 使用沙箱来隔离工具执行。/doctor 会检测:
- 当前平台是否支持沙箱
- 沙箱功能是否已启用
- 沙箱依赖是否就绪
如果沙箱不可用但你以为它在保护你,这就是个安全风险。/doctor 会明确告诉你实际状态。
5. MCP 服务器配置
如果你配置了 MCP 服务器,/doctor 会验证:
- 配置文件的 JSON 格式是否正确
- 服务器连接是否正常
- 有没有解析错误或启动失败
MCP 配置错误是常见问题——少了一个逗号、路径写错了、命令不存在,/doctor 都能发现。
6. 快捷键配置
检查 ~/.claude/keybindings.json 是否有效:
- 格式是否正确
- 是否有冲突的快捷键绑定
- 是否引用了不存在的操作
7. 环境变量验证
/doctor 会检查几个关键环境变量是否设置合理:
BASH_MAX_OUTPUT_LENGTH:Bash 工具的输出上限。设太大可能导致上下文溢出TASK_MAX_OUTPUT_LENGTH:后台任务的输出上限CLAUDE_CODE_MAX_OUTPUT_TOKENS:模型最大输出 Token 数。如果超过了模型支持的上限,会给出警告
8. 更新信息
/doctor 还会异步检查是否有新版本可用,显示当前版本和最新版本,以及更新渠道(stable、latest 等)。
什么时候该用 /doctor
环境刚搭好的时候:新装或升级后跑一次,确认一切正常。
出现莫名问题的时候:搜索不好使了、MCP 连不上了、响应变慢了——先跑 /doctor 看看有没有红色报错。
切换安装方式后:从 npm 升级到原生安装,或者反过来,跑一次检查是否有残留冲突。
团队排障的时候:让同事跑一次 /doctor,把输出发过来,比让他描述半天问题快多了。
一个真实排障场景
你升级到原生安装后,发现 Claude Code 启动变慢了,而且有些搜索返回空结果。
跑 /doctor,发现:
Warning: Multiple installations detected:
└ native: ~/.local/bin/claude
└ npm-global: /usr/local/lib/node_modules/@anthropic-ai/claude-code
Warning: Configuration mismatch:
└ Running: native
└ Configured: npm-local
└ Fix: Update your install method in settings
Ripgrep: not working (mode: system)
└ System ripgrep not found at expected path
问题一目了然:
- 旧的 npm 全局安装没删干净 —
npm uninstall -g @anthropic-ai/claude-code - 配置文件里的安装方式没更新 — 更新 settings
- 系统 ripgrep 丢了 — 重新安装或让 Claude Code 用内置版本
三个问题,三步修复,不用猜。
使用注意
信任目录
/doctor 运行时会跳过工作区信任对话框,并且会启动 MCP 服务器进行健康检查。所以只在你信任的目录下运行 claude doctor。在陌生的项目目录里跑可能会触发不受信任的 MCP 配置。
异步加载
部分检查是异步完成的。比如 MCP 工具的 Token 计数可能需要等 MCP 连接建立后才准确,可用版本检查需要网络请求。第一次看到的结果可能不完整,等几秒钟数据会补全。
写在最后
/doctor 是 Claude Code 里最容易被忽略的命令之一。
很多人遇到问题第一反应是上网搜、问 AI、翻文档。但其实大部分环境问题,/doctor 几秒钟就能给你答案——不只是告诉你”哪里有问题”,还告诉你”怎么修”。
养成习惯:环境有异常,先跑 /doctor。
相关推荐
AI-first 创业公司,为什么只需要一种编程语言?
技术架构越简单 = AI Coding 效率越高。从 Java 的"防人"设计到 TypeScript 全栈通吃,聊聊 AI 时代创业公司的编程语言选择。
cc-ping:一行命令 Ping 所有 Claude Code 配置
用多个 Claude Code API Key 或中继?cc-ping 帮你管理配置、一键切换,还能并行 Ping 所有节点比速度。
震惊!程序员用这个工具,4分钟干完95分钟的活!效率暴涨24倍
躺床上发3条消息,4分钟搞定3个项目。传统方式需要95分钟,这就是冷兵器和热兵器的差距。
CCBot - 研发提效 24 倍
通过 IM 机器人控制 Claude Code,3 个项目 4 分钟全部搞定。传统编程需要 95 分钟,效率提升 24 倍。
Claude Code /add-dir:被低估的 Monorepo 神器
Claude Code 默认只能看到当前目录。/add-dir 打破这个限制——分享我每天跨 5 个仓库使用的经验。
Claude Code 省 Token 小技巧:感叹号的妙用
一个简单却容易被忽略的技巧——用感叹号直接执行命令,省 token、提速度、更可控。
我做了个机器人,让团队在飞书里用 Claude Code
CCBot 让你的团队在飞书群聊里直接用 Claude Code——不需要终端、不需要 SSH。开源、自部署、五分钟搞定。
Claude Code /btw 命令详解:不打扰主线的快问快答
详细介绍 Claude Code 的 /btw 命令——它是什么、怎么用、什么时候该用,以及它和子代理、/compact 的区别。
Claude Code /compact:释放上下文,不丢进度
任务做到一半上下文满了?/compact 帮你压缩对话继续干活——和 /clear、/rewind 的区别一次讲清。
Claude Code /config:一文搞懂所有可调设置
用 Claude Code 却从没打开过 /config?这篇带你逐项拆解——从权限模式到自动压缩,从主题切换到通知配置,帮你打造最顺手的 AI 编程环境。
Claude Code /context:你的上下文都被什么吃了?
对话到一半 Claude Code 说上下文不够了?/context 用一张可视化网格告诉你:上下文被什么占了、占了多少、怎么优化。
Claude Code /diff:这次对话改了什么,一目了然
Claude Code 帮你改了一堆文件,但你不确定到底改了什么?/diff 用交互式界面展示所有改动——既有 git 视角的全量 diff,也有按对话轮次拆分的逐步 diff。
Claude Code /fast:同样的 Opus,两倍速——值不值?
/fast 不会降级模型,还是 Opus,只是更快。什么时候该开、什么时候该关,以及实际体验差异。
Claude Code 引用外部知识的最佳实践:GitHub MCP + Context7
用 GitHub MCP 和 Context7 MCP 两个工具组合,解决 Claude Code 知识过时导致的代码错误问题。
Claude Code /hooks:让 AI 按你的规矩办事
想在 Claude Code 执行命令前自动检查?想在任务完成后自动通知?/hooks 让你用脚本、AI 甚至 HTTP 请求,在关键节点插入自定义逻辑。
Claude Code /init:10 秒自动生成 CLAUDE.md
别再手写 CLAUDE.md 了。看看 /init 自动生成的效果、怎么自定义输出,以及一个让 Claude Code 效率翻倍的小技巧。
Claude Code MCP:让 AI 连接 GitHub、数据库等一切工具
MCP 把 Claude Code 从代码阅读器升级为全栈 Agent。哪些 MCP 服务器值得装、配置怎么写,实测分享。
Claude Code /memory 详解:让 AI 真正记住你的项目
详细介绍 Claude Code 的 /memory 命令和记忆系统——CLAUDE.md 手动指令、Auto Memory 自动记忆、模块化规则,让 Claude 跨会话记住项目规范和个人偏好。
Claude Code /model:Opus、Sonnet、Haiku 怎么选?
不是每个任务都需要 Opus。怎么切换模型、哪个场景用哪个、怎么省 token 又不掉质量。
Claude Code /permissions:谁能干什么,你说了算
每次 Claude Code 要跑命令都弹窗问你?嫌烦又不敢全放开?/permissions 帮你精细控制每个工具的权限——该放的放,该拦的拦。
Claude Code /plan 详解:先想清楚再动手
详细介绍 Claude Code 的 /plan 命令和 Plan Mode——只读规划模式,让 Claude 先分析代码、制定方案,确认后再动手,避免复杂任务翻车。
Claude Code + Playwright MCP:AI 终于能"看见"页面了
一个 Modal 溢出的 bug,Claude Code 反复修了 5 次都没搞定。直到接入 Playwright MCP 让它真正看到页面,一次定位,一次修复。
Claude Code /resume 命令详解:别让对话白聊
详细介绍 Claude Code 的 /resume 命令——恢复历史对话、管理会话、实用技巧,让你的每一轮对话都不浪费。
Claude Code /review:让 AI 帮你做 Code Review
提了 PR 没人看?想在合并前多一道把关?/review 让 Claude Code 像一个资深开发者一样审查你的代码——还有 /ultrareview 和 /security-review 两个进阶选择。
Claude Code Skills 详解:打造你的专属命令库
详细介绍 Claude Code 的 Skills 功能——创建自定义斜杠命令、复用提示词模板、共享团队最佳实践,让 AI 编程更高效更一致。
Claude Code /stats:看看 AI 到底帮你写了多少代码
好奇 Claude Code 到底写了多少行代码?/stats 给你完整数据——token、编辑次数、工具调用,教你怎么看。
Claude Code /status 命令详解:一眼看清会话全貌
详细介绍 Claude Code 的 /status 命令——它是什么、怎么用、能看到哪些信息,以及它在日常工作流中的实际价值。
Claude Code /tasks 命令详解:后台任务尽在掌控
详细介绍 Claude Code 的 /tasks 命令——查看后台任务、管理并行 Agent、掌控长时间运行的进程,让多任务开发井井有条。
Claude Code /usage 命令详解:你的额度还剩多少
详细介绍 Claude Code 的 /usage 命令——查看用量、了解限额、避免突然被限速,让你对自己的额度心中有数。
Claude Code /vim:在 AI 编程助手里用 Vim 键位
习惯了 Vim 的操作方式?/vim 让你在 Claude Code 的输入框里用 hjkl 移动、dd 删行、ciw 替换单词——不用改变肌肉记忆。
Claude Code 使用指南:从安装到实战,一篇就够(2026)
用了半年 Claude Code 的经验总结——5 分钟安装配置、最常用的命令、CLAUDE.md 编写技巧,以及没人告诉你的实战心得。
Claude 全家桶:从聊天到写代码到自动办公,一文讲清楚
一篇文章带你了解 Anthropic 的 Claude 全家桶——Claude.ai、Claude Code、Claude Cowork,以及 Opus、Sonnet、Haiku 三大模型家族。
Claude Code /agents 详解:自定义 AI 子代理,各司其职
详细介绍 Claude Code 的 /agents 命令——查看、管理和创建自定义 Agent,让不同任务由专门的 AI 角色来执行,从代码探索到架构规划各司其职。
Claude Code /effort 详解:控制 AI 思考的深度
详细介绍 Claude Code 的 /effort 命令——调节 Claude 的推理努力程度,在速度和质量之间找到最佳平衡点,让每一次对话都恰到好处。
Claude Code /cost 详解:你的 AI 编程到底花了多少钱
详细介绍 Claude Code 的 /cost 命令——实时查看会话 API 成本,了解各模型定价和 Token 消耗明细,让每一分钱都花得明明白白。
Claude Code /export 详解:把 AI 对话带走
详细介绍 Claude Code 的 /export 命令——将对话导出为文件或复制到剪贴板,方便分享、存档和复盘,让每一次有价值的对话都不浪费。
Claude Code /rewind 详解:AI 改错了?一键回退
详细介绍 Claude Code 的 /rewind 命令——将代码和对话回退到任意历史节点,支持只回退代码、只回退对话、或两者同时回退,是你和 AI 协作时的后悔药。
Claude Code /plugin 详解:给你的 AI 编程助手装插件
详细介绍 Claude Code 的 /plugin 命令——管理插件的安装、启用、禁用和更新,通过插件扩展 Claude Code 的命令、技能、Agent 和 Hook,打造你专属的 AI 编程工具链。
Claude Code /theme 详解:给你的终端换个好看的皮肤
详细介绍 Claude Code 的 /theme 命令——6 种预设主题 + 自动模式,支持深色/浅色、色盲友好、ANSI 兼容,60+ 色值覆盖终端全部 UI 元素。
Claude Code /insights 详解:用 AI 分析你自己用 AI 的方式
详细介绍 Claude Code 的 /insights 命令——五阶段数据分析流水线、七大洞察章节、多维度会话统计,用 Claude Opus 生成专属 HTML 使用报告。
Claude Code /rename 详解:给你的会话取个有意义的名字
详细介绍 Claude Code 的 /rename 命令——手动命名、AI 自动生成(Haiku 模型)、启动参数命名、Plan 模式自动命名,以及双标题系统与 Bridge 同步机制。
Claude Code settings.json 详解(一):配置文件在哪里、谁说了算
全面介绍 Claude Code 的配置文件体系——五个配置来源的路径、优先级规则、数组合并与单值覆盖的区别、企业管理设置的多种下发方式。
Claude Code settings.json 详解(二):permissions 权限系统全解析
深入解析 Claude Code 的 permissions 配置——allow/deny/ask 三类规则、通配符语法、MCP 工具权限、defaultMode 各模式含义,以及 additionalDirectories 的作用。
Claude Code settings.json 详解(三):hooks 钩子全解析
深入解析 Claude Code 的 hooks 配置——四种钩子类型、核心事件(PreToolUse/PostToolUse/Stop/Notification)、stdin/stdout 协议、exit code 语义,以及实用配置示例。
Claude Code settings.json 详解(四):env、模型、认证与其他实用字段
全面介绍 Claude Code settings.json 中的 env 环境变量注入、模型配置、身份认证辅助、Git 提交署名、会话清理、语言与界面、思考深度、自动更新、记忆系统等实用字段。
Claude Code Agent Loop:拆解 AI 编程助手的心脏
Claude Code 是怎么一步步理解你的需求、调用工具、自我修复的?从源码角度拆解 Agent Loop 的核心架构——流式响应、并行工具执行、自动压缩、错误恢复,一次讲透。