ドキュメント

CLAUDE_CONFIG_DIRの解説

最終更新日: 2026年10月19日
ccam 0.5.0とClaude Code 2.1.302で確認済み

このページは英語から機械翻訳されています。修正を歓迎します。 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は、まさにこのルールに基づいて作られています。フォルダーをどのようにリンクするかは共有を、全体像は複数アカウントのガイドを参照してください。