ドキュメント
CLAUDE_CONFIG_DIRの解説
このページは英語から機械翻訳されています。修正を歓迎します。 GitHubでこのページを編集
このページの内容
CLAUDE_CONFIG_DIRは、~/.claudeの代わりにどのフォルダーを使うかをClaude Codeに指定します。ログイン、設定、MCPサーバー、プラグイン、会話履歴など、アカウント固有のものはすべてそこに保存されます。別々のフォルダーを指定すれば、アカウントを分けられます。
CLAUDE_CONFIG_DIR=~/.claude-work claudeフォルダーの中身
Claude Code 2.1.302で確認した内容です。
| パス | 内容 | 共有 |
|---|---|---|
.credentials.json |
ログイントークン(Linux)、MCPのOAuthトークン | 不可 |
.claude.json |
アカウント情報、ユーザーのMCPサーバー、プロジェクトごとの状態 | 不可(MCPサーバーは別の方法で可) |
settings.json |
権限、フック、モデル、ステータスライン、プラグイン | 可 |
CLAUDE.md |
グローバルな指示 | 可 |
agents/, commands/, skills/, plugins/ |
拡張機能 | 可 |
projects/ |
.jsonlファイル形式の会話、プロジェクトごとのメモリー |
可 |
history.jsonl |
プロンプトの履歴 | 可 |
sessions/, shell-snapshots/, cache/など |
実行時の状態 | 不可 |
つまずきやすい2つの点
CLAUDE_CONFIG_DIRを設定していない場合、.claude.jsonは~/.claudeの中にありません。 このときClaude Codeは、フォルダーの隣の~/.claude.jsonにこのファイルを置きます。CLAUDE_CONFIG_DIR=~/.claudeを使い始めると、Claude Codeは代わりに~/.claude/.claude.jsonを探すため、アカウントが見つかりません。ccam importは、この2つをリンクすることでこの問題に対処します。
macOSでは、ログインはフォルダーではなくキーチェーンにあります。 Claude CodeはログインをClaude Code-credentialsという名前で保存し、CLAUDE_CONFIG_DIRが設定されている場合は、その後ろにフォルダーパスの短いハッシュを付けます。そのため、フォルダーが別であればキーチェーンの項目も別になります。キーチェーンへの書き込みが拒否された場合、Claude Codeは代わりにフォルダー内の.credentials.jsonを使います。
フォルダー間での共有
シンボリックリンクは機能します。Claude Codeは、リンクされたsettings.jsonやprojects/フォルダーをリンク経由で読み書きし、リンクをそのまま維持します。例外はMCPサーバーです。MCPサーバーはログインと同じ.claude.jsonに保存されるため、代わりに--mcp-configで渡してください。
ccamは、まさにこのルールに基づいて作られています。フォルダーをどのようにリンクするかは共有を、全体像は複数アカウントのガイドを参照してください。