無料・オープンソース

1台のPCで
複数の Claude アカウントを管理

複数の Claude Code サブスクリプションアカウントを保存し、1コマンドで即座に切り替え。サブスクが切れず、再ログインも不要。
設定、MCP、スキル、履歴はすべて共有。Windows、Linux、macOS に対応。

PowerShell
PS> irm https://raw.githubusercontent.com/yazelin/claude-auth-switcher/main/install-oneliner.ps1 | iex
bash / zsh
$ bash <(curl -fsSL https://raw.githubusercontent.com/yazelin/claude-auth-switcher/main/install-oneliner.sh)

事前に Git が必要です(Linux/macOS では jqcurl も必要)。Git がない場合はこちらのインストール方法をご覧ください

Claude マルチアカウントの悩みを解決
保存

複数アカウントのログイン状態

各 Claude アカウントのログイントークンを独立したプロファイルとして個別に保存。個人用と会社用のアカウントが互いに干渉しません。

切り替え

1コマンドで即座に切り替え

cl switch でメニューを開き、選んで Enter を押すだけ。実行中の Claude を自動で終了してからアカウントを切り替えます。

サブスク維持

サブスクリプション課金を維持

切り替え時にサブスクリプションの身元も一緒に入れ替えるため、Claude Code は引き続き Pro / Max サブスクで動作し、密かに API 課金へ落ちることがありません。

共有

設定と履歴を完全に共有

MCP トークン、設定、会話履歴、スキル、プラグインはすべて共有。切り替わるのはアカウントトークンだけで、その他は影響を受けません。

切り替え時、実際に何が入れ替わるのか?
項目場所切り替え / 共有
アカウントトークン claudeAiOauth~/.claude/.credentials.jsonアカウントごとに切り替え
サブスクリプションの身元 oauthAccount~/.claude.jsonアカウントごとに切り替え
MCP トークン mcpOAuth~/.claude/.credentials.json共有
設定、会話履歴、スキル、プラグイン~/.claude/共有
Claude のアカウントの身元は、実は2つのファイルに隠れています。トークンは .credentials.json、サブスクリプションの身元は ~/.claude.json にあります。 どちらか一方だけを入れ替えると、Claude Code はそれを不整合と見なしてAPI 課金へフォールバックします。cl はこの2つを同時に入れ替えるため、切り替え後もサブスクリプションの利用枠が使われます。期限切れのトークンも切り替え時に自動で更新されます。
インストールから初めての切り替えまで
1

PowerShell を開いてインストールコマンドを貼り付ける

Win + X を押して「ターミナル」または「Windows PowerShell」を選び、以下のコマンドをそのままコピーして貼り付け(Ctrl+V)、Enter を押します。

PowerShell
PS> irm https://raw.githubusercontent.com/yazelin/claude-auth-switcher/main/install-oneliner.ps1 | iex

インストーラーは Windows PowerShell 5.1 と PowerShell 7 の両方のプロファイルを自動で設定し、続く手順を表示します。完了後は PowerShell ウィンドウを開き直してください。

2

現在の Claude アカウントを保存する

すでに Claude Code にログイン済みの場合、この一行を実行して現在のログイン状態を「personal」という名前のプロファイルとして保存します:

PowerShell
PS> cl import personal

「personal」は単なる名前です。自分が分かりやすい呼び名に変えても構いません。

3

2つ目のアカウントを追加する

cl login に名前を付けて実行すると、ブラウザの OAuth ログインフローが開き、ログイン完了後に自動でプロファイルとして保存されます:

PowerShell
PS> cl login company # ログインが完了すると、company プロファイルが保存されます
4

すべてのアカウントの状態を確認する

PowerShell
PS> cl list CURRENT PROFILE EMAIL PLAN USAGE * personal ya***@gmail.com max 5h 42% used @14:00 | wk 18% used @06/02 company ya***@company.com pro 5h 7% used @09:00 | wk 55% used @06/05

* 印は現在使用中のアカウントです。email はマスクされ、パーセンテージは使用済み量(5時間 / 週)を表します。

5

アカウントを切り替える

対話式メニューで切り替えます。実行中の Claude を自動で終了してからアカウントを切り替えます:

PowerShell
PS> cl switch
または直接指定:cl use company  —  切り替え後はそのまま claude を起動するだけ。ラッパーは一切不要です。
1

ターミナルを開いてインストールコマンドを貼り付ける

事前に gitjqcurl が必要です。

bash / zsh
$ bash <(curl -fsSL https://raw.githubusercontent.com/yazelin/claude-auth-switcher/main/install-oneliner.sh)
2

シェルを再読み込みする(または新しいターミナルを開く)

bash
$ source ~/.bashrc # zsh をお使いの場合は source ~/.zshrc に変えてください
3

現在のアカウントを保存し、さらにアカウントを追加する

bash
$ cl import personal # 現在のアカウントを保存 $ cl login company # ブラウザ OAuth で2つ目のアカウントを追加
4

アカウントを切り替える

bash
$ cl use company # company アカウントに切り替え(先に実行中の claude を終了) $ claude # いつもどおり Claude Code を起動
cl usage で横並び比較
PowerShell / bash — cl usage
PS> cl usage CURRENT PROFILE EMAIL PLAN USAGE * personal ya***@gmail.com max 5h 42% used @14:00 | wk 18% used @06/02 company ya***@company.com pro 5h 7% used @09:00 | wk 55% used @06/05

cl usage を引数なしで実行すると、各アカウントの使用量をリアルタイムで更新して横並びの表にします(--all と同じ)— どのアカウントにまだ余裕があるか一目で比較できます。リセット時刻はお使いのローカルタイム(台湾 UTC+8)で表示されます。

cl switch の実際の様子
PowerShell / bash — cl switch
PS> cl switch select a profile: 1) personal 2) company choice: 2 killed 1 running claude process(es) before switching switched to 'company'

数字を入力してアカウントを選び → Enter。切り替え前に実行中の Claude を自動で終了し、古いアカウントトークンが書き戻されるのを防ぎます。

すべての cl コマンド
コマンド機能説明
cl login <名前>ブラウザ OAuth でアカウントを追加し、新しいプロファイルとして保存
cl import <名前>現在の ~/.claude のログイン状態をプロファイルとして保存
cl use <名前>アクティブなアカウントを切り替え(先に実行中の claude を終了)
cl switch対話式メニューでアカウントを切り替え、同様に先に claude を終了
cl kill実行中のすべての claude プロセスを即座に終了
cl list全アカウントを表で一覧: 使用中の印、email(マスク)、サブスク、キャッシュ済み使用量
cl usage [name|--all]全アカウントのリアルタイム使用量の横並び表(引数なし=全部); 単一アカウントは詳細な内訳を表示
cl current現在使用中のプロファイル名を表示
cl remove <名前>プロファイルを1つ削除
cl ps検出された claude プロセスを一覧(本セッションを除く)
cl doctor診断: パス、claude プロセスの状態、プロファイル概要
cl export <ファイル名>すべてのプロファイルをバックアップ(Windows .zip / Linux .tgz
cl restore <ファイル名>バックアップファイルからプロファイルを復元
cl help組み込みのコマンド説明を表示
FAQ
Git をインストールしていない場合はどうすればいい?

Windows: PowerShell に次を入力します:

winget install --id Git.Git -e --source winget

インストール後、PowerShell を閉じて開き直せば git が使えます。

Linux(Ubuntu/Debian):

sudo apt install git jq curl

macOS: ターミナルに git と入力すると、macOS が Command Line Tools のインストールを促します。jqbrew install jq で導入できます。

インストールコマンド実行時に「実行ポリシー」エラーが出る?

Windows は PowerShell スクリプトをブロックすることがあります。まずこの一行を実行して制限を解除し、インストールコマンドを貼り直してください:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
新しく開いた PowerShell ウィンドウで cl コマンドが使えない?

インストールは設定をあなたの PowerShell プロファイルに追加するため、有効にするには PowerShell を開き直す必要があります。インストーラーは Windows PowerShell 5.1 と PowerShell 7 の両方のプロファイルをすでに設定済みです。

それでも動かない場合は、プロファイルに次の行があるか確認します:

notepad $PROFILE

中に . "C:\Users\あなたの名前\claude-auth-switcher\shell\powershell.ps1" という1行があるはずです。ない場合は手動で追記して保存し、PowerShell を開き直してください。

切り替えても Claude が古いアカウントのまま / 反映されない?

最も多い原因は、切り替え時にまだ Claude が実行中だったことです。実行中のセッションは次に API を呼び出すときに自分の古いトークンを書き戻し、切り替え結果を上書きしてしまいます。

cl usecl switch はデフォルトで実行中の claude を先に終了してから切り替えるため、通常の使い方では問題ありません。手動で --no-kill を付けた場合は、先に自分で Claude を終了してください。

切り替えるとサブスクが切れて API 課金になる?

なりません。Claude のアカウントの身元は2つのファイルに分かれています。トークンは ~/.claude/.credentials.json、サブスクリプションの身元(oauthAccount)は ~/.claude.json にあります。

cl は切り替え時にこの2つを同時に入れ替えるため、Claude Code は引き続き Pro / Max サブスクで動作します。もしあるプロファイルが旧バージョンのツールで保存されていてサブスクリプションの身元が欠けている場合は、もう一度 cl import <名前> を実行すれば補えます。

使用量のパーセンテージは「使用済み」と「残量」のどちら?

表示されるのは使用済み量です。たとえば 5h 42% used は、この5時間ウィンドウですでに 42% を使ったという意味です。単一アカウントの cl usage <名前> では、週・週-opus・週-sonnet の内訳とリセット時刻もさらに表示されます。

(この点は姉妹プロジェクト codex-auth-switcher とは逆です。Codex は残量を表示します。)

トークンは安全?クラウドにアップロードされる?

されません。すべてのトークンはあなた自身の PC の ~/.claude_auth_profiles/ フォルダーにのみ保存され、ツールは完全にローカルで動作します。Unix ではプロファイルディレクトリが 700、ファイルが 600 に設定されます。

~/.claude_auth_profiles/cl export で出力したバックアップファイルを Git に commit しないでください。バックアップファイルには長期間有効なトークンが含まれるため、転送後は削除してください。