Switch早期アクセス
← ガイド一覧
Claude Code

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 · 繁體中文

Claude Desktop のプロファイルを管理する独立系アプリ、Switch によるガイドです。Switch は正式リリース前の早期アクセス期間中です。

CLAUDE_CONFIG_DIR の役割

Anthropic の環境変数リファレンスでは、CLAUDE_CONFIG_DIR は設定ディレクトリ(標準では ~/.claude)を上書きするものと説明されています。すべての設定、セッション履歴、プラグインは、指定したパスの下に保存されます。

Claude Code のそれ以外の部分は変わりません。claude コマンドは同じプログラムのままで、読み書きするフォルダが変わるだけです。ある値で起動すれば 1 つの環境になり、別の値で起動すれば、それとは独立した 2 つ目の環境になります。

設定ディレクトリに保存されるもの

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 ファイルも、そのディレクトリに置かれます。

ドキュメントに記載された例外が 1 つあります。API キーを使わずにサインインした Claude Console のアカウント 2 つは、ディレクトリを分けても区別されません。この種類のサインインは、Claude Code が設定ディレクトリの外に保存するためです(認証のドキュメント、2026 年 10 月時点)。

また、環境変数がすべてのディレクトリでログインを上書きすることもあります。シェルで ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、CLAUDE_CODE_OAUTH_TOKEN のいずれかを export していると、サインインしたアカウントよりそちらが優先される場合があります。優先順位の全体はClaude Code のアカウントを切り替える方法をご覧ください。

設定する場所

いちばん簡単なのは、Anthropic も例に挙げているシェルのエイリアスです。~/.zshrc に追加して、新しい Terminal ウィンドウを開きます。

alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

初回の実行時に、新しいディレクトリ用のログインと初期設定が案内されます。claude だけで起動した場合は、引き続き ~/.claude が使われます。

この変数は、ユーザー設定または管理設定(managed settings)で指定することもできます。設定ファイルには絶対パスを書いてください。プロジェクト設定とローカル設定では無視されるため、その方法でリポジトリごとに指定することはできません。

シェルがどのディレクトリを使っているかを確認するには、claude auth status を実行します。最近のバージョンでは、JSON 出力に configDirectory フィールドが含まれます(CLI リファレンス)。

よくある間違い

  • 一部のウィンドウで変数を指定し忘れる。変数のない Terminal のタブは ~/.claude とそのログインを使いますが、これは見落としがちです。エイリアスを使えば防げます。
  • 設定ファイルで ~ を使う。設定ファイルには /Users/you/.claude-work のような絶対パスが必要です。
  • フォルダ全体をコピーして新しいフォルダを作る。一方のアカウントの履歴や状態が、もう一方にコピーされてしまいます。空のフォルダから始めて、必要なものだけを追加してください。詳しくはスキルと MCP サーバーの共有で説明しています。
  • 過去のセッションも引き継がれると考える。トランスクリプトは作成したディレクトリに保存されるため、別のディレクトリで claude --resume を実行しても一覧に表示されません。Claude Code のセッションを再開する方法をご覧ください。
  • API キーを export している。すべてのディレクトリでログインが上書きされます。

Switch で Claude Desktop に使う場合

Claude Desktop の中で動く Claude Code は、シェルのエイリアスを読み込みません。この場合は Switch が対応します。Switch の各プロファイルは、Anthropic 純正の Claude Desktop アプリを専用のデータフォルダで開きます。Keep coding preferences separate がオン(新しいプロファイルでは標準でオン)の場合は、プロファイルごとに専用の Claude Code 設定フォルダも用意され、Switch はそのフォルダを CLAUDE_CONFIG_DIR に指定して、そのプロファイルの Claude Desktop を起動します。

Switch が Terminal のコマンドを追加することはありません。また、各アカウントにはそれぞれのプランと使用制限がそのまま適用されます。Switch と Claude Code について。