/doctor 是什麼,跟其他排查指令有什麼不同?
/doctor 是 Claude Code 內建的斜線指令,執行一次完整的環境設定檢查,涵蓋安裝方式(npm 全域安裝、本機安裝、原生執行檔)、更新管道、MCP 伺服器連線狀態、權限規則錯誤、CLAUDE.md 檔案重複等常見的隱性問題。它的別名是 /checkup,兩個名稱效果完全相同。
跟 /status 這個指令的分工不同:/status 呈現的是當前對話的一次性快照(使用中的模型、帳號、連線健康度),屬於被動的狀態顯示;/doctor 則是主動執行一整套檢查,針對安裝與設定去挖掘問題根源,並且具備進一步修復的能力,兩者互補而非互相替代。
/doctor 為什麼存在,解決了什麼問題?
Claude Code 的環境設定牽涉到不少容易「靜默故障」的環節——安裝方式可能同時存在好幾種(npm 全域、~/.claude/local、Homebrew)互相衝突、PATH 設定錯誤、MCP 伺服器連不上、權限規則寫錯、Skill 或 Command 描述超出預算被丟棄,這些狀況大多不會跳出明確的錯誤訊息,使用者只會感覺到「東西怪怪的」,卻不知道該從哪裡查起。
/doctor 存在的目的,就是把這些原本分散、需要使用者自己一項項排查的檢查項目,整合成一個指令、幾秒鐘內跑完,直接告訴你「哪裡沒問題、哪裡有警告、哪裡出錯了」,把原本可能要花好幾輪來回搜尋或詢問才能定位的問題,壓縮成一次性的診斷報告。
/doctor 實際運作起來是什麼樣子?
在任何一個 Claude Code 對話裡輸入 /doctor(或別名 /checkup),會開啟一個檢查面板,幾秒鐘內顯示一份逐項標記狀態的報告——每一項檢查用綠色(正常)、黃色(警告)、紅色(錯誤)標示,例如安裝類型、安裝路徑、版本號、是否存在多重安裝、MCP 連線狀態等。你不需要有一個正在運作的對話 session 才能執行檢查,直接在終端機輸入 claude doctor 也能跑同一套檢查,這在 Claude Code 完全無法啟動對話的情況下特別有用。
這個指令從唯讀診斷升級為可以直接協助修復,是後續版本才加入的能力:在診斷結果畫面按下 f 鍵,可以讓 Claude 針對回報的問題進行修復,但修復前一定會先呈現要修改的內容、等待你確認,不會自己默默動手——這個「先報告、再徵求同意才動作」的機制,也是它跟一般自動修復工具最大的差異。
了解 /doctor 的功能,對我日常使用 Claude Code 有什麼影響?
最直接的影響是排查習慣的調整:遇到「感覺不太對勁但沒有明確錯誤訊息」的狀況時,把 /doctor 當成第一步,而不是先上網搜尋或直接詢問 Claude——很多環境層級的問題,光跑一次檢查就能秒懂原因,不需要繞一大圈才找到根源。這也呼應了排查 Skill 不觸發這類問題時的建議順序:先用診斷工具確認設定本身有沒有問題,再去檢查更上層的文字內容寫得夠不夠好。
另一個實務建議是把它排進固定檢查時機,而不是只在出問題時才想到用:每次做完主要版本升級後跑一次,因為新版本引入的新檢查項目(例如某個新的設定建議),只會偵測到升級前就存在、但一直沒被舊版本檢查邏輯發現的問題,跑一次能提早抓到潛在隱患,而不是等到它真的造成明顯故障才發現。
官方文件與社群紀錄顯示,/doctor 曾在某個版本從純粹的唯讀診斷升級成支援按 f 鍵直接協助修復的版本,這個變化的時間點被明確記錄下來,社群整理的紀錄裡也指出,在這之前的舊版本,執行 /doctor 只會開啟一個列出問題、標示哪個項目正在生效的診斷畫面,本身不具備任何修復能力——這個版本間的行為差異,也是為什麼查詢 /doctor 相關資訊時,需要留意自己使用的版本是否已經支援修復功能,而不是假設所有版本行為一致。
優點是把原本分散、難以定位的環境問題整合成一次性診斷,幾秒鐘就能定位常見故障,也能在確認後直接協助修復;缺點是它主要處理的是安裝與設定層級的問題,對於「Skill 描述寫得不夠具體」這類內容品質問題無能為力,這類情況只能確認設定本身沒問題後,回頭自己調整內容。