CLAUDE_CONFIG_DIR 是什麼?Claude Code 設定目錄說明
CLAUDE_CONFIG_DIR 會讓 Claude Code 改用另一個設定目錄,而不是預設的 ~/.claude。設定、工作階段紀錄、外掛和登入都會跟著它走,所以每個目錄都像一套獨立的 Claude Code 設定。Anthropic 建議用它讓工作帳號和個人帳號同時保持登入。
其他語言版本: English · Español · Deutsch · Français · 日本語 · 简体中文 · Português (Brasil) · 한국어 · Italiano · Nederlands
本指南由 Switch 提供。Switch 是獨立開發的 Claude Desktop 設定檔管理工具,目前在正式推出前開放搶先體驗。
Claude Code 設定:這個變數的作用
Anthropic 的環境變數參考說明,CLAUDE_CONFIG_DIR 用來覆寫設定目錄,預設是 ~/.claude。所有設定、工作階段紀錄和外掛,都會存在你指定的路徑底下。
Claude Code 的其他部分都不會改變。claude 指令還是同一個程式,只是讀寫另一個資料夾。用一個值啟動,就得到一套設定;用另一個值啟動,就得到第二套獨立的設定。
設定目錄裡有什麼
根據 Anthropic 關於 .claude 目錄的說明,設定 CLAUDE_CONFIG_DIR 後,原本會放在 ~/.claude 底下的每個路徑,都會改放在你的目錄底下。包括:
- 你個人的
CLAUDE.md、settings.json、技能、指令、子代理程式和輸出樣式。 projects/裡的工作階段紀錄,以及每個專案的自動記憶。- 用於還原檢查點的檔案快照、計畫檔案和你的提示紀錄。
- 按鍵綁定和自訂主題。
專案檔案不受影響。儲存庫自己的 CLAUDE.md、.claude/ 資料夾和 .mcp.json 屬於專案,所以每個設定目錄都看得到。
在 Mac 上,登入如何保持分開
在 macOS 上,Claude Code 把憑證存在加密的鑰匙圈中。Anthropic 的憑證管理說明指出,設定了 CLAUDE_CONFIG_DIR 時,Claude Code 會讓鑰匙圈項目對應到該目錄,所以使用不同目錄的工作階段會讀取不同的項目。如果鑰匙圈拒絕寫入,備用的 .credentials.json 檔案也會放在該目錄裡。
文件提到一個例外。沒有使用 API 金鑰的兩個 Claude Console 登入,不會因為目錄分開而分開,因為 Claude Code 把這類登入存在設定目錄之外(驗證文件,截至 2026 年 10 月)。
環境變數也可能在每個目錄中覆蓋登入。如果你的 shell 匯出了 ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN 或 CLAUDE_CODE_OAUTH_TOKEN,它可能會優先於你登入的帳號。完整順序請參考如何更換 Claude Code 帳號。
在哪裡設定
最簡單的方法是 shell 別名,這也是 Anthropic 提供的範例。把它加到 ~/.zshrc,再開一個新的終端機視窗:
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'第一次執行時,會引導你完成新目錄的登入和設定。一般的 claude 會繼續使用 ~/.claude。
你也可以在使用者設定或受管理的設定中設定這個變數。在設定檔中請寫絕對路徑。Claude Code 會忽略專案設定和本機設定中的這個變數,所以無法用這種方式為每個儲存庫個別設定。
要確認某個 shell 使用哪個目錄,請執行 claude auth status。在較新的版本中,它的 JSON 輸出包含 configDirectory 欄位(CLI 參考)。
常見錯誤
- 某個視窗忘了設定變數。沒有設定它的終端機分頁會使用
~/.claude和它的登入,很容易沒注意到。用別名可以避免這種情況。 - 在設定檔中使用
~。設定檔需要絕對路徑,例如/Users/you/.claude-work。 - 複製整個資料夾來建立新的。這會把一個帳號的紀錄和狀態複製到另一個帳號。請從空資料夾開始,只加入需要的東西。共用技能和 MCP 伺服器有詳細說明。
- 以為舊的工作階段會跟過去。工作階段紀錄存在建立它的目錄裡,所以在另一個目錄執行
claude --resume時不會列出它們。請參考繼續 Claude Code 工作階段。 - 匯出了 API 金鑰。它會在每個目錄中覆蓋登入。
Switch 如何為 Claude Desktop 使用它
Claude Desktop 裡的 Claude Code 不會讀取你的 shell 別名。Switch 負責處理這種情況。每個 Switch 設定檔都會用自己的資料夾開啟 Anthropic 原版的 Claude Desktop App。開啟Keep coding preferences separate(分開保存程式設計偏好)時(新設定檔預設開啟),該設定檔也會有自己的 Claude Code 設定目錄,Switch 啟動該設定檔的 Claude Desktop 時,會把 CLAUDE_CONFIG_DIR 指向這個目錄。
Switch 不會新增任何終端機指令,每個帳號也都保有自己的方案和用量限制。Switch 如何處理 Claude Code。