「個人プランと仕事のチームプラン、同じPCでClaude Codeを切り替えて使いたい」「案件ごとに環境を分けたい」——Claude Codeを使い込むほど、こうした「使い分け」のニーズが出てきます。
Claude Codeは設定と認証情報を ~/.claude ディレクトリに保存しますが、この保存先を CLAUDE_CONFIG_DIR という環境変数で切り替えると、アカウント・プランを完全に分けて使えます。あとはエイリアスを作れば、claude-work / claude-personal のようにコマンド1つで使い分けられます。
この記事では、その仕組みから、Windows / macOS / Linux 別の設定手順、プランの切り替え、そしてmacOSではまるつまずきやすいKeychainの落とし穴まで、初心者にもわかるように解説します。
CLAUDE_CONFIG_DIR は動作しますが、2026年6月時点で公式の環境変数一覧にはまだ明記されていません(仕様は今後変わる可能性があります)。最新は公式ドキュメントでもご確認ください。 [目次を開く]
なぜ同一PCで複数のClaude Codeを使い分けるのか
代表的なユースケースは次のとおりです。
- 個人プラン↔チーム/組織プランの切り替え:個人のPro/Maxと、会社のTeamやConsole(API)アカウントを使い分ける
- 案件/クライアントごとの分離:設定・履歴・MCPサーバーを混ぜたくない
- 検証用・実験用の環境:本番設定を汚さずに試す
Claude Codeには「プロフィール切替」の専用コマンドはないため、設定ディレクトリを分けてエイリアスで切り替えるのが定番の方法です。
仕組み:設定ディレクトリ(CLAUDE_CONFIG_DIR)で分離する
Claude Codeは、設定や認証情報を既定で ~/.claude(ホーム直下の .claude フォルダ)に保存します。CLAUDE_CONFIG_DIR 環境変数でこの場所を別のフォルダに向けると、そのフォルダごとに独立した「プロフィール」になります。
flowchart TB
A["claude-work(エイリアス)<br>CLAUDE_CONFIG_DIR=~/.claude-work"] --> AF["~/.claude-work/<br>設定・認証・履歴・MCP"]
B["claude-personal(エイリアス)<br>CLAUDE_CONFIG_DIR=~/.claude-personal"] --> BF["~/.claude-personal/<br>設定・認証・履歴・MCP"]
AF --> AA["チーム / 組織アカウント"]
BF --> PA["個人アカウント"] 何が分離されるか
| 項目 | 分離される? |
|---|---|
設定(settings.json) | ◯ |
| 認証情報(ログイン状態) | ◯(※macOSは後述の注意あり) |
| セッション履歴(会話ログ) | ◯ |
| サブエージェント・MCP設定・メモリ等 | ◯ |
認証情報の保存場所(OS別)
ここが重要です。認証情報がCLAUDE_CONFIG_DIRで動くかどうかはOSで異なります。
| OS | 認証情報の保存先 | CLAUDE_CONFIG_DIRで分離される? |
|---|---|---|
| Linux | ~/.claude/.credentials.json | ◯ 完全に分離(フォルダごと) |
| Windows | %USERPROFILE%\.claude\.credentials.json | ◯ 完全に分離(フォルダごと) |
| macOS | 暗号化されたKeychain(OS共有) | ✕ 共有される(要注意) |
つまり、LinuxとWindowsは設定ディレクトリを分けるだけでアカウントも完全に分れます。一方 macOSは認証情報がKeychainに入り、これがOS全体で共有されるため、サブスクリプションログインだけだと両プロフィールが同じアカウントになります(対策は後述)。
設定方法:エイリアスでプロフィールを分ける
「仕事用(work)」と「個人用(personal)」の2つに分ける例で説明します。
macOS / Linux(bash・zsh)
~/.bashrc または ~/.zshrc に次を追加します。
# 仕事用
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
# 個人用
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude' 保存したら source ~/.zshrc(bashなら source ~/.bashrc)で再読み込みします。あとは次のように初回ログインします。
claude-work # 起動→仕事(チーム/組織)アカウントでログイン
claude-personal # 起動→個人アカウントでログイン Windows(PowerShell)
PowerShellではエイリアスではなく関数で定義するのが確実です。プロファイル($PROFILE)に次を追加します。
function claude-work {
$env:CLAUDE_CONFIG_DIR = "$env:USERPROFILE\.claude-work"
& claude @args
}
function claude-personal {
$env:CLAUDE_CONFIG_DIR = "$env:USERPROFILE\.claude-personal"
& claude @args
} 保存後、PowerShellを開き直すか . $PROFILE で再読み込みし、claude-work / claude-personal で起動します。
Windows(cmd)
コマンドプロンプトなら、そのセッションで環境変数を設定してから起動します。
set CLAUDE_CONFIG_DIR=%USERPROFILE%\.claude-work
claude 切り替えるときは同じ要領で \.claude-personal を指定します。毎回打つのが面倒なら、.bat ファイルにしておくと便利です。
プランの切り替え:個人サブスク ↔ チーム/組織
プロフィール(設定ディレクトリ)を分けたら、それぞれで独立にログインします。
- 初回ログイン:そのプロフィールで
claudeを起動するとブラウザログインが開き、サブスクリプションアカウントで認証できます - アカウントを切り替えたい:プロンプトで
/logoutしてから、別アカウントで/login(または再起動)
APIキー(Console/組織)を使う場合と、注意したい優先順位
チーム/組織側を Anthropic Console のAPIキーで使うなら、エイリアスに ANTHROPIC_API_KEY を指定します。
# 個人はサブスク、仕事はAPIキー、という使い分け
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'
alias claude-work='ANTHROPIC_API_KEY=sk-xxx CLAUDE_CONFIG_DIR=~/.claude-work claude' ANTHROPIC_API_KEY をシェル全体に設定していると、全プロフィールでサブスクリプションログインを上書きします。認証の優先順位は「APIキー > サブスクリプション」だからです。グローバルの ANTHROPIC_API_KEY は unset し、必要なエイリアスにだけ設定しましょう。 macOSで本当にアカウントを分けるには(Keychain対策)
前述のとおり、macOSはサブスクリプションの認証情報がKeychainに入り、設定ディレクトリを分けても共有されます。macOSで確実に2アカウントを分けるには、次のいずれが現実的です。
- 片方をAPIキーにする(推奨):例えば個人=サブスク(Keychain)、仕事=
ANTHROPIC_API_KEY(設定ディレクトリごと)。APIキーはエイリアスで分離できるため、Keychain共有の影響を受けません - その都度
/logout→/loginで手動切替(両方サブスクの場合) - macOSのユーザーアカウント自体を分ける(きっちり分けたい場合)
Linux/Windowsはこの問題がなく、設定ディレクトリを分けるだけでサブスク同士でも完全に分離できます。
2つを同時に動かすときの注意点
- Linux / Windows:設定ディレクトリが違えば、二つ同時起動しても認証も状態も分離されて安全です
- macOS:Keychain共有のため、両方サブスクだと同じアカウントを見ます(危険ではないが分かれない)。分けたいならAPIキー併用が確実
- 同じリポジトリで複数セッション:
claude --continueを同じフォルダで二重に走らせると会話ログが混ざることがあるため、別セッションとして扱うのが無難 - ローカルMCPサーバー:同じポートのMCPサーバーを両プロフィールで使うと競合することがあるので、必要に応じて分ける
ユースケース別レシピ
個人プラン ↔ チームプラン
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude' # 個人Pro/Max
alias claude-team='CLAUDE_CONFIG_DIR=~/.claude-team claude' # チーム(初回にチームアカウントで/login) 案件・クライアントごと
alias claude-acme='CLAUDE_CONFIG_DIR=~/.claude-acme claude'
alias claude-foo='CLAUDE_CONFIG_DIR=~/.claude-foo claude' 設定・MCP・履歴が案件ごとに分かれるため、クライアント間で情報が混ざりません。
検証用・実験用
alias claude-sandbox='CLAUDE_CONFIG_DIR=~/.claude-sandbox claude' 設定やプラグインを試しても、本番プロフィールを汚しません。
よくあるつまずき(FAQ)
Q. エイリアスを設定したのに反映されない
~/.zshrc 等を編集したあとの再読み込み(source)・ターミナル再起動を忘れていないか確認しましょう。PowerShellは $PROFILE を編集後に開き直します。
Q. 両方同じアカウントになってしまう(macOS)
macOSのKeychain共有が原因です。仕事側を ANTHROPIC_API_KEY にするか、都度 /logout→/login で切り替えてください。
Q. サブスクでログインしたのにAPIキーが使われる
シェルに ANTHROPIC_API_KEY が残っているとAPIキーが優先されます。unset ANTHROPIC_API_KEY してから必要なエイリアスにだけ設定しましょう。
Q. 設定ディレクトリを分けると、拡張やサブエージェントも分かれる?
はい。settings.json・サブエージェント・MCP設定・メモリ・履歴などがプロフィールごとに独立します。共通設定を使いたい場合は、各プロフィールに同じ設定を置くか、プロジェクト単位の .claude/ で補います。
まとめ
同一PCでClaude Codeを複数アカウントで使い分ける鍵は、CLAUDE_CONFIG_DIR で設定ディレクトリを分け、エイリアスで切り替えることです。要点を振り返ります。
- Linux / Windows:設定ディレクトリを分けるだけで認証まで完全分離
- macOS:認証情報はKeychain共有。確実に分けるなら片方をAPIキーにするのがおすすめ
-
ANTHROPIC_API_KEYのグローバル設定は全プロフィールを上書きするので注意 - プラン切替は
/logout→/login、またはプロフィール分離で
まずは claude-work / claude-personal の2つのエイリアスを作り、個人とチームを切り替える体験から始めてみてください。
あわせて読みたい:
