Skip to main content
Claude Code 從您的專案目錄和主目錄中的 ~/.claude 讀取指令、設定、skills、subagents 和記憶。將專案檔案提交到 git 以與您的團隊共享;~/.claude 中的檔案是個人設定,適用於您的所有專案。 在 Windows 上,~/.claude 解析為 %USERPROFILE%\.claude。如果您設定了 CLAUDE_CONFIG_DIR,此頁面上的每個 ~/.claude 路徑都會改為位於該目錄下。 大多數使用者只編輯 CLAUDE.md 和 settings.json。如果您的儲存庫已經有一個 AGENTS.md 供其他編碼代理使用,Claude Code 可以自行讀取或與 CLAUDE.md 一起讀取。目錄的其餘部分是可選的:根據需要新增 skills、rules 或 subagents。

探索目錄

點擊樹中的檔案以查看每個檔案的功能、何時載入以及範例。

未顯示的內容

探索器涵蓋您編寫和編輯的檔案。一些相關檔案位於其他位置: ~/.claude 也保存 Claude Code 在您工作時寫入的資料:文字記錄、提示歷史記錄、檔案快照、快取和日誌。請參閱下方的應用程式資料。

選擇正確的檔案

不同類型的自訂設定位於不同的檔案中。使用此表格找到變更應該位於何處。

檔案參考

此表列出探索器涵蓋的每個檔案。專案範圍的檔案位於您的儲存庫中的 .claude/ 下(或 CLAUDE.md、.mcp.json 和 .worktreeinclude 的根目錄)。全域範圍的檔案位於 ~/.claude/ 中,適用於所有專案。
有幾件事可以覆蓋您在這些檔案中放入的內容:
  • 您的組織部署的受管設定優先於所有內容,除了設定優先順序下的例外
  • CLI 旗標(如 --permission-mode 或 --settings)會覆蓋該工作階段的 settings.json
  • 某些環境變數優先於其等效設定,但這會有所不同:檢查環境變數參考以了解每個變數
請參閱設定優先順序以了解完整順序。
點擊檔案名稱以在上方的探索器中開啟該節點。

按檔案分類的 Frontmatter 欄位

Skills、命令檔案、子代理、輸出樣式和規則從檔案頂部的 YAML frontmatter 讀取其設定,每個都接受自己的一組欄位。此表列出每個檔案的欄位名稱,並連結到描述它們的參考資料。 在 plugin 中提供的代理遵守子代理欄位的子集。

疑難排解設定

如果設定、hook 或檔案未生效,請參閱偵錯您的設定以取得檢查命令和症狀優先查詢表。

應用程式資料

除了你編寫的設定外,~/.claude 還保存 Claude Code 在工作階段期間寫入的資料。這些檔案是純文字格式。任何通過工具的內容都會被寫入磁碟上的文字記錄:檔案內容、命令輸出、貼上的文字。

自動清理

Claude Code 會刪除下列路徑中的檔案,只要它們的年齡超過 cleanupPeriodDays,只要它能安全地確定保留期間。預設值為 30 天,最小值為 1;設定 0 會導致驗證錯誤。相同的年齡截止值也適用於 孤立 worktrees 的自動移除。 sessions/ 中的工作階段檔案、自動記憶和 Claude Desktop 及 Cowork 文字記錄各自遵循自己的保留規則:
  • sessions/:為每個執行中的工作階段保存一個小檔案,用於偵測並行工作階段和崩潰。它不是基於年齡的掃描的一部分:Claude Code 在其工作階段退出時移除每個檔案,並在下次啟動時清除崩潰遺留物。
  • 自動記憶:掃描不會刪除專案 自動記憶 目錄 projects/<project>/memory/ 中的記憶檔案。Claude Code 只有在整個保留期間該目錄一直為空時才會移除它。在 v2.1.228 之前,掃描將記憶目錄內的資料夾視為工作階段資料,可能會刪除其下的舊檔案。
  • Claude Desktop 和 Cowork 文字記錄:Claude Code 保留你在 Claude Desktop 或 Cowork 中啟動或最近繼續的工作階段的文字記錄,無論年齡如何。要為這些文字記錄設定年齡限制,請設定 desktopSessionCleanupPeriodDays。當 受管設定 設定 cleanupPeriodDays 時,Claude Code 會在該期間後刪除這些文字記錄。需要 Claude Code v2.1.248 或更新版本;較早版本在 cleanupPeriodDays 後刪除它們。
Claude Code 在這些情況下跳過基於年齡的掃描:
  • 裸機模式:當你使用 --bare 執行 claude -p 時,Claude Code 不會在該工作階段中執行掃描。
  • 暫停掃描:如果 Claude Code 無法安全地確定保留期間,它會暫停保留清理掃描;retention_sweep 事件 列出每個暫停它的設定。當原因是無法讀取或解析的設定檔案,或 cleanupPeriodDays 或 desktopSessionCleanupPeriodDays 明確設定的設定錯誤時,Claude Code 也會在 /status 中顯示警告,直到你修復設定錯誤。當 受管設定 提供 cleanupPeriodDays 時,Claude Code 在任一情況下都會以受管值執行掃描。

工作階段暫存簿目錄

暫存簿是 Claude Code 為 Claude 提供的每個工作階段目錄,用於臨時檔案:中間結果、輔助指令碼和不屬於你的專案的草稿。當 Claude 說它將某些內容保存到「暫存簿」時,該檔案就在那裡。Claude 使用它而不是 /tmp,可以在其中建立、編輯和讀取檔案,無需權限提示。 暫存簿位於 Claude Code 的暫存目錄下,而不是 ~/.claude。找到你的平台的目前工作階段路徑:
  • macOS:/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/
  • Linux:/tmp/claude-<uid>/<project>/<session-id>/scratchpad/,或當你的系統設定 $TMPDIR 時在其下的相同形狀
  • Windows:%TEMP%\claude\<project>\<session-id>\scratchpad\
<project> 是你的工作目錄路徑,其中除字母和數字外的每個字元都被替換為 -,例如 -Users-you-my-project。如果你設定 CLAUDE_CODE_TMPDIR,樹會改為移到該目錄下。Hooks 接收目前工作階段的路徑作為 scratchpad_dir。 暫存簿檔案的持續時間與工作階段的文字記錄相同:保留掃描 在刪除文字記錄時刪除目錄,claude project purge 不會觸及暫存目錄。因為目錄位於系統暫存位置下,你的作業系統也可以清除它,例如在重新啟動時。要保留 Claude 在那裡寫入的內容,請要求 Claude 將其移到你的專案中。 工作階段只有在以下所有情況都成立時才有暫存簿:
  • 你使用 claude.ai 帳戶而不是 API 金鑰登入
  • 工作階段使用 Anthropic API,而不是 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry
  • enableArtifact 未設定為 false

保留直到你刪除它們

保留清理掃描不會移除下列路徑。Claude Code 保留它們直到你刪除它們,除了兩個快取在你登出時刪除。 其他檔案根據你使用的功能而出現。快取和鎖定檔案可以安全刪除。保留這些狀態檔案:

純文字儲存

文字記錄和歷史在靜止時未加密。OS 檔案權限是唯一的保護。如果工具讀取 .env 檔案或命令列印認證,該值會被寫入 projects/<project>/<session>.jsonl。要減少暴露:
  • 降低 cleanupPeriodDays 以縮短 Claude Code 保留文字記錄的時間
  • 設定 desktopSessionCleanupPeriodDays 以給予 Claude Desktop 和 Cowork 文字記錄年齡限制
  • 設定 CLAUDE_CODE_SKIP_PROMPT_HISTORY 環境變數以在任何模式下跳過寫入文字記錄和提示歷史。在非互動模式下,你可以改為在 -p 旁邊傳遞 --no-session-persistence,或在 TypeScript Agent SDK 中設定 persistSession: false;Python SDK 沒有等效選項。
  • 使用 權限規則 拒絕讀取認證檔案

清除本機資料

執行 claude project purge 以刪除 Claude Code 為一個專案保存的狀態。它刪除:
  • projects/ 下的文字記錄和自動記憶
  • 每個工作階段的 tasks/、debug/ 和 file-history/ 項目
  • history.jsonl 中的匹配提示行
  • 專案在 ~/.claude.json 中的項目
你在專案工作階段中貼上或附加的圖片以及每個工作階段的 暫存簿 儲存在 Claude Code 的暫存目錄下,而不是 ~/.claude,所以清除不會移除它們。保留掃描 仍會在圖片年齡超過 cleanupPeriodDays 時刪除它們;清除的工作階段的暫存簿會保留,直到你刪除它或你的作業系統清除暫存目錄。 該命令列印完整的刪除計畫並在移除任何內容之前要求確認。 下面的範例使用 ~/work/my-repo 作為佔位符。將其替換為你的專案的路徑。如果沒有狀態符合該路徑,該命令會列印錯誤並以狀態 1 退出。 預覽計畫而不刪除任何內容:
該計畫列出每個匹配項目及其包含的原因:
使用單一確認提示刪除:
該命令列印相同的計畫,然後詢問 Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N] 並且只有在你回答 y 時才刪除。 省略路徑以從互動清單中選擇專案。 跳過確認提示以在指令碼中使用:
傳遞 --all 而不是路徑以一次清除每個專案的狀態,這會直接刪除 history.jsonl 而不是篩選它。傳遞 -i 以逐項逐步執行刪除計畫。 該命令保留 shell-snapshots/ 和 backups/ 不動,因為那些不是專案範圍的,並在計畫輸出中警告它們。 你也可以手動刪除上述任何應用程式資料路徑,除了 保留的狀態檔案。新工作階段不受影響。下表顯示你對過去工作階段失去的內容。 不要刪除 ~/.claude.json、~/.claude/settings.json 或 ~/.claude/plugins/:那些保存你的驗證、偏好設定和已安裝的外掛程式。