CClaude Code 中文教學
文件 / claude-directory

探索 .claude 目錄

官方中文文件· 查看原文 ↗ ·官方譯文,未經機器翻譯

Claude Code 讀取 CLAUDE.md、settings.json、hooks、skills、commands、subagents、workflows、rules 和自動記憶的位置。探索您專案中的 .claude 目錄和主目錄中的 ~/.claude。

Claude Code 從您的專案目錄和主目錄中的 ~/.claude 讀取指令、設定、skills、subagents 和記憶。將專案檔案提交到 git 以與您的團隊共享;~/.claude 中的檔案是個人設定,適用於您的所有專案。

在 Windows 上,~/.claude 解析為 %USERPROFILE%\.claude。如果您設定了 CLAUDE_CONFIG_DIR,此頁面上的每個 ~/.claude 路徑都會改為位於該目錄下。

大多數使用者只編輯 CLAUDE.mdsettings.json。目錄的其餘部分是可選的:根據需要新增 skills、rules 或 subagents。

探索目錄

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

未顯示的內容 {#what’s-not-shown}

探索器涵蓋您編寫和編輯的檔案。一些相關檔案位於其他位置:

檔案 位置 用途
managed-settings.json 系統級別,因作業系統而異 企業強制執行的設定,您無法覆蓋。請參閱伺服器管理的設定
CLAUDE.local.md 專案根目錄 您對此專案的私人偏好設定,與 CLAUDE.md 一起載入。手動建立並將其新增到 .gitignore
已安裝的 plugins ~/.claude/plugins 複製的市場、已安裝的 plugin 版本和每個 plugin 的資料,由 claude plugin 命令管理。孤立版本在 plugin 更新或解除安裝後 7 天內被刪除。請參閱 plugin 快取

~/.claude 還保存 Claude Code 在您工作時寫入的資料:文字記錄、提示歷史記錄、檔案快照、快取和日誌。請參閱下方的應用程式資料

選擇正確的檔案

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

您想要 編輯 範圍 參考
為 Claude 提供專案上下文和慣例 CLAUDE.md 專案或全域 Memory
允許或阻止特定工具呼叫 settings.json permissionshooks 專案或全域 PermissionsHooks
在工具呼叫之前或之後執行指令碼 settings.json hooks 專案或全域 Hooks
為工作階段設定環境變數 settings.json env 專案或全域 Settings
將個人覆蓋保留在 git 之外 settings.local.json 僅專案 Settings scopes
新增您使用 /name 叫用的提示或功能 skills/<name>/SKILL.md 專案或全域 Skills
定義具有自己工具的專門 subagent agents/*.md 專案或全域 Subagents
透過指令碼協調許多 subagent workflows/*.js 專案或全域 Dynamic workflows
透過 MCP 連接外部工具 .mcp.json 僅專案 MCP
變更 Claude 格式化回應的方式 output-styles/*.md 專案或全域 Output styles

檔案參考

此表列出探索器涵蓋的每個檔案。專案範圍的檔案位於您的儲存庫中的 .claude/ 下(或 CLAUDE.md.mcp.json.worktreeinclude 的根目錄)。全域範圍的檔案位於 ~/.claude/ 中,適用於所有專案。

提示

有幾件事可以覆蓋您在這些檔案中放入的內容:

  • 您的組織部署的受管設定優先於所有內容
  • CLI 旗標(如 --permission-mode--settings)會覆蓋該工作階段的 settings.json
  • 某些環境變數優先於其等效設定,但這會有所不同:檢查環境變數參考以了解每個變數

請參閱設定優先順序以了解完整順序。

點擊檔案名稱以在上方的探索器中開啟該節點。

檔案 範圍 提交 功能 參考
CLAUDE.md 專案和全域 每個工作階段載入的指令 Memory
rules/*.md 專案和全域 主題範圍的指令,可選擇路徑限制 Rules
settings.json 專案和全域 權限、hooks、環境變數、模型預設值 Settings
settings.local.json 僅專案 您的個人覆蓋,自動 gitignored Settings scopes
.mcp.json 僅專案 團隊共享的 MCP 伺服器 MCP scopes
.worktreeinclude 僅專案 Gitignored 檔案以複製到新的 worktrees Worktrees
skills/<name>/SKILL.md 專案和全域 可重複使用的提示,使用 /name 叫用或自動叫用 Skills
commands/*.md 專案和全域 單檔案提示;與 skills 相同的機制 Skills
output-styles/*.md 專案和全域 自訂系統提示部分 Output styles
agents/*.md 專案和全域 Subagent 定義及其自己的提示和工具 Subagents
workflows/*.js 專案和全域 Claude 撰寫並從 /workflows 儲存的動態工作流程指令碼;每個檔案都會變成 /<name> 命令 Dynamic workflows
agent-memory/<name>/ 專案和全域 Subagents 的持久記憶 Persistent memory
~/.claude.json 僅全域 應用程式狀態、OAuth、UI 切換、個人 MCP 伺服器 Global config
projects/<project>/memory/ 僅全域 自動記憶:Claude 在工作階段間對自己的筆記 Auto memory
keybindings.json 僅全域 自訂快捷鍵 Keybindings
themes/*.json 僅全域 自訂色彩主題 Custom themes

疑難排解設定

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

應用程式資料

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

自動清理

下列路徑中的檔案在啟動時被刪除,一旦它們的年齡超過 cleanupPeriodDays。預設值為 30 天。

~/.claude/ 下的路徑 內容
projects/<project>/<session>.jsonl 完整對話文字記錄:每條訊息、工具呼叫和工具結果
projects/<project>/<session>/subagents/ Subagent 對話文字記錄,當父工作階段文字記錄過期時一起移除
projects/<project>/<session>/tool-results/ 溢出到單獨檔案的大型工具輸出
file-history/<session>/ Claude 變更的檔案的編輯前快照,用於檢查點還原。保存 100 個最近檢查點的快照;沒有保留檢查點參考的快照檔案會被刪除,除了每個檔案的第一個快照
plans/ Plan Mode 期間寫入的計畫檔案
debug/ 每個工作階段的偵錯日誌,僅在您使用 --debug 啟動或執行 /debug 時寫入
paste-cache/image-cache/ 大型貼上和附加影像的內容
session-env/ 每個工作階段的環境中繼資料
tasks/ 由 task tools 寫入的每個工作階段任務清單
shell-snapshots/ 在啟動時擷取的別名、函式和 shell 選項,由 Bash tool 應用於每個命令。在正常退出時移除。掃描會清除任何在當機後遺留的檔案。
backups/ 在設定遷移前取得的 ~/.claude.json 的時間戳記副本
feedback-bundles/ /feedback 在第三方提供者上寫入的已編輯文字記錄存檔,或在未設定 Anthropic 認證時寫入,用於傳送到您的 Anthropic 帳戶團隊
todos/statsig/logs/ 舊版本的舊版目錄。不再寫入。掃描會移除其內容,然後移除空目錄。

保留直到您刪除它們

以下路徑不受自動清理覆蓋,並無限期保留。

~/.claude/ 下的路徑 內容
history.jsonl 您輸入的每個提示,帶有時間戳記和專案路徑。用於向上箭頭回憶。
stats-cache.json /usage 顯示的彙總權杖和成本計數
remote-settings.json 您組織的伺服器管理設定的快取副本。僅在您的組織已設定時出現。在每次啟動時重新整理。

其他小型快取和鎖定檔案會根據您使用的功能而出現,可安全刪除。

純文字儲存

文字記錄和歷史記錄在靜止時未加密。作業系統檔案權限是唯一的保護。如果工具讀取 .env 檔案或命令列印認證,該值會寫入 projects/<project>/<session>.jsonl。若要減少暴露:

  • 降低 cleanupPeriodDays 以縮短文字記錄的保留時間
  • 設定 CLAUDE_CODE_SKIP_PROMPT_HISTORY 環境變數以跳過在任何模式中寫入文字記錄和提示歷史記錄。在非互動模式中,您可以改為在 -p 旁邊傳遞 --no-session-persistence,或在 Agent SDK 中設定 persistSession: false
  • 使用權限規則拒絕讀取認證檔案

清除本機資料

執行 claude project purge 以刪除 Claude Code 為一個專案保存的狀態。該命令需要 Claude Code v2.1.124 或更新版本。它會刪除:

  • projects/ 下的文字記錄和自動記憶
  • 每個工作階段的 tasks/debug/file-history/ 項目
  • history.jsonl 中的匹配提示行
  • 專案在 ~/.claude.json 中的項目

該命令會列印完整的刪除計畫,並在移除任何內容之前要求確認。

預覽計畫而不刪除任何內容:

claude project purge ~/work/my-repo --dry-run

透過單一確認提示刪除:

claude project purge ~/work/my-repo

省略路徑以從互動式清單中選擇專案。

跳過確認提示以在指令碼中使用:

claude project purge ~/work/my-repo --yes

傳遞 --all 而不是路徑以一次清除所有專案的狀態,這會直接刪除 history.jsonl 而不是篩選它。傳遞 -i 以逐項逐步執行刪除計畫。

該命令會單獨保留 shell-snapshots/backups/,因為這些不是專案範圍的,並在計畫輸出中警告它們。如果沒有狀態與給定路徑相符,它會以狀態 1 退出。

您也可以手動刪除上述任何應用程式資料路徑。新工作階段不受影響。下表顯示您對過去工作階段失去的內容。

刪除 您失去
~/.claude/projects/ 過去工作階段的繼續、繼續和倒帶
~/.claude/history.jsonl 向上箭頭提示回憶
~/.claude/file-history/ 過去工作階段的檢查點還原
~/.claude/stats-cache.json /usage 顯示的歷史總計
~/.claude/remote-settings.json 無。在下次啟動時重新擷取。
~/.claude/debug/~/.claude/plans/~/.claude/paste-cache/~/.claude/image-cache/~/.claude/session-env/~/.claude/tasks/~/.claude/shell-snapshots/~/.claude/backups/ 沒有面向使用者的內容
~/.claude/todos/~/.claude/statsig/~/.claude/logs/ 無。舊版目錄不由目前版本寫入。

不要刪除 ~/.claude.json~/.claude/settings.json~/.claude/plugins/:這些保存您的驗證、偏好設定和已安裝的 plugins。