查看載入上下文的內容
/context 命令會顯示目前工作階段中佔用上下文視窗的所有內容,並依類別細分:系統提示詞、系統工具、MCP 工具、自訂 subagent(含各自的載入來源)、記憶檔案、skill 以及對話訊息。請先執行此命令,確認您的 CLAUDE.md、規則或 skill 描述是否確實存在。/context 中的 skill 區段也包含 隨附 skill,而這些是 /skills 不會列出的。
若要查看特定類別的詳細資訊,請接著使用對應的專用命令:
如果某個記憶檔案未出現在
/context 的細分結果中,請對照 CLAUDE.md 檔案的載入方式 檢查其位置。子目錄中的 CLAUDE.md 檔案是按需載入,而非在工作階段開始時載入,因此不會出現在該細分結果中。
如果 /context 確認檔案已載入,但 Claude 仍未遵循某項特定指令,問題很可能出在指令的撰寫方式,而非是否已載入。CLAUDE.md 很適合用於您會提供給新進團隊成員的各類指引,例如專案慣例、建置命令,以及檔案應放置的位置。
當指令模糊到可有多種解讀方式、兩個檔案給出互相衝突的指示,或檔案變得過長以致個別規則所受的關注降低時,遵循程度就會下降。撰寫有效的指令 說明了能維持高遵循程度的具體性、篇幅與結構模式。
檢查已解析的設定
設定在受管、使用者、專案和本機範圍之間合併。受管設定在存在時始終優先。在其餘的設定中,較近的範圍會按本機、專案、使用者的順序覆蓋較廣的範圍。某些設定也可以由命令列旗標或 環境變數 設定,這些變數充當另一個覆蓋層。當設定似乎不適用時,您設定的值通常被另一個範圍或環境變數覆蓋。 若要找出無效的設定檔案,請從您的終端機執行claude doctor。它會列印唯讀的安裝和設定診斷,而不會啟動工作階段。如需完整檢查,也會提議修正並在套用前詢問,請在工作階段內執行 /doctor。
執行 /status 以查看哪些設定來源處於作用中,包括是否啟用了受管設定。若要瞭解 Claude Code 對於給定鍵使用哪個範圍,請參閱 設定優先順序。
檢查 MCP servers
執行/mcp 以查看每個已設定的 server、其連線狀態,以及您是否已為目前專案核准它。server 可以定義正確但仍然不提供 tools,原因有幾個常見的:
.mcp.json中的專案範圍 servers 需要一次性核准。如果提示被關閉,server 將保持停用狀態,直到您從/mcp核准它。- 啟動失敗的 server 在
/mcp中顯示為失敗。command或args中的相對檔案路徑是常見原因,因為它們相對於您啟動 Claude Code 的目錄而不是.mcp.json的位置進行解析。 - 顯示為已連線但列出零個 tools 的 server 已成功啟動但未返回 tool 清單。從
/mcp選擇 Reconnect。如果計數保持為零,執行claude --debug=mcp並在~/.claude/debug/<session-id>.txt的偵錯日誌中讀取 server 的 stderr。
檢查 hooks
執行/hooks 以列出為目前工作階段註冊的每個 hook,按事件分組。如果您定義的 hook 沒有出現,表示 Claude Code 未載入它。請檢查以下原因:
- hook 定義在獨立檔案中。hook 應位於設定檔中的
"hooks"鍵下。 matcher值是陣列而不是單一字串。當您啟動互動式工作階段時以及在claude doctor中,Claude Code 會將該項目列為無效設定。如果該陣列位於PreToolUse或PermissionRequest下,該檔案的其他 hook 也都不會載入。
matcher欄位是一個使用|匹配多個 tool 名稱的單一字串,例如"Edit|Write"。,分隔符是等效的,因此"Edit,Write"匹配相同的 tools。在 v2.1.191 之前,逗號會進入正規表達式評估,matcher 永遠不會匹配,因此如果您不在 v2.1.191 版本上,請使用|。- 拼寫錯誤的 tool 名稱會產生一個不匹配任何內容的 matcher,因此 hook 會無聲地失敗。
settings.json 的編輯在短暫的檔案穩定延遲後在執行中的工作階段中生效,即使您在工作階段開始後才建立檔案或專案的 .claude/ 資料夾。您不需要重新啟動。在 v2.1.257 之前,Claude Code 沒有偵測到在工作階段開始後建立的 .claude/ 資料夾中的編輯。
如果在保存後幾秒鐘 /hooks 仍顯示舊定義,請再次執行 /hooks 以重新整理檢視。
如果 /hooks 顯示 hook 但它仍然不觸發,下一步是即時監視 hook 評估。使用 claude --debug 啟動工作階段並觸發 tool 呼叫。偵錯日誌記錄每個事件、檢查了哪些 matchers 以及 hook 的結束代碼和輸出。如需日誌格式,請參閱 Debug hooks,如需常見失敗模式,請參閱 hooks 疑難排解。
針對乾淨的設定進行測試
使用claude --safe-mode 開始,它會啟動一個停用您自訂項目的工作階段,包括:
CLAUDE.md- Skills、外掛和 hook
- MCP 伺服器
- 自訂命令和 agent
- 自訂輸出風格
- 自訂快捷鍵
CLAUDE.md 和 MCP 伺服器會被關閉。
如果問題在安全模式中持續存在,或您的設定本身令人懷疑,請啟動一個完全不含您自己設定的工作階段,並檢查問題是否仍然出現。
1
建立空目錄並切換到該目錄
在沒有執行任何 Claude Code 工作階段的情況下,於您的 shell 中建立目錄並移至其中:
- Bash 或 Zsh
- PowerShell
2
使用乾淨的設定目錄啟動 Claude Code
在同一個 shell 中,將 首次啟動時,您會再次經歷首次執行設定畫面,這表示乾淨的設定目錄已生效。受管設定仍然適用,而且如果您使用 claude.ai 帳戶登入,連接器仍會載入。
CLAUDE_CONFIG_DIR 設定為一個新的目錄來取代 ~/.claude,並傳入 --setting-sources user 以關閉專案設定,例如 .claude/settings.json、CLAUDE.md 和 .mcp.json:- Bash 或 Zsh
- PowerShell
此變數僅適用於這一次啟動。
3
重現問題
在乾淨的工作階段中重複觸發問題的操作:
- 問題消失:原因在於您的使用者或專案設定。將
~/.claude.json和~/.claude中的檔案一次一個地複製到~/claude-clean/config。如果沒有任何一個讓問題重新出現,請在同一個 shell 中前往您的專案目錄,並在不使用--setting-sources user的情況下啟動 Claude Code。在 Bash 或 Zsh 中,執行CLAUDE_CONFIG_DIR=~/claude-clean/config claude。在 PowerShell 中,該變數仍然已設定,因此執行claude即可。 - 問題持續存在:原因在於您的使用者和專案設定之外。在工作階段中執行
/status以檢查是否有受管設定,檢查您 shell 中的環境變數,然後參閱疑難排解。
檢查常見原因
大多數設定問題都可以追溯到一小組位置和語法規則。在假設有錯誤之前,請先檢查這些項目:相關資源
如需每個設定表面的完整參考,請參閱專用頁面:.claude目錄參考:每個設定檔案位置及其讀取方式- Settings:使用哪個檔案以及 Claude Code 使用哪個值;settings 參考有完整的鍵清單
- Hooks 參考:事件名稱、承載和
--debug輸出格式 - MCP:server 設定、核准和
/mcp輸出 - Troubleshoot installation and login:
command not found、PATH 和身份驗證問題 - Troubleshooting:效能、掛起和搜尋問題