免費開源工具

在一台電腦上
管理多個 Claude 帳號

儲存多個 Claude Code 訂閱帳號,一個指令即時切換,不會掉訂閱、不需重新登入。
設定、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 帳號的登入權杖分別存成獨立 profile,個人、公司帳號互不干擾。

切換

一個指令即時切換

cl switch 開選單、選好按 Enter,自動先關掉正在跑的 Claude,再換帳號。

不掉訂閱

維持訂閱計費

切換時連帶換掉訂閱身分,Claude Code 仍走你的 Pro / Max 訂閱,不會偷偷掉成 API 計費。

共用

設定與歷史完全共用

MCP token、設定、對話歷史、技能、外掛通通共用,只有帳號權杖會切換,其他不受影響。

切換時,到底換了什麼?
項目位置切換 / 共用
帳號權杖 claudeAiOauth~/.claude/.credentials.json每個帳號切換
訂閱身分 oauthAccount~/.claude.json每個帳號切換
MCP token mcpOAuth~/.claude/.credentials.json共用
設定、對話歷史、技能、外掛~/.claude/共用
Claude 的帳號身分其實藏在兩個檔案裡:權杖在 .credentials.json,訂閱身分在 ~/.claude.json。 只換其中一個,Claude Code 會把它當成不一致而退回 API 計費cl 會同時換好這兩塊,所以切換後仍然吃你的訂閱額度。過期權杖也會在切換時自動更新。
從安裝到第一次切換
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」的 profile:

PowerShell
PS> cl import personal

「personal」只是名稱,換成你自己看得懂的暱稱也可以。

3

新增第二個帳號

執行 cl login 加上名稱,會開啟瀏覽器 OAuth 登入流程,登入完成後自動存成 profile:

PowerShell
PS> cl login company # 登入完成後,company profile 就儲存好了
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 即可,不需要任何 wrapper。
1

開啟終端機,貼上安裝指令

需要先有 gitjqcurl

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

重新載入 shell(或開新終端機)

bash
$ source ~/.bashrc # zsh 用戶請改為:source ~/.zshrc
3

儲存現有帳號、新增更多帳號

bash
$ cl import personal # 儲存現有帳號 $ cl login company # 瀏覽器 OAuth 新增第二個帳號
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 新增帳號,存成新 profile
cl import <名稱>把目前 ~/.claude 的登入狀態存成 profile
cl use <名稱>切換 active 帳號(會先關掉正在跑的 claude)
cl switch互動選單切換帳號,一樣會先關 claude
cl kill立即關閉所有正在運行的 claude 程序
cl list表格列出所有帳號:使用中標記、email(遮罩)、訂閱、快取用量
cl usage [name|--all]全部帳號即時用量並排表(不帶參數=全部);單一帳號顯示詳細分項
cl current顯示目前使用中的 profile 名稱
cl remove <名稱>刪除一個 profile
cl ps列出偵測到的 claude 程序(排除本 session)
cl doctor診斷:路徑、claude 程序狀態、profile 概覽
cl export <檔名>備份所有 profile(Windows .zip / Linux .tgz
cl restore <檔名>從備份檔還原 profile
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;jq 可用 brew install jq

執行安裝指令時出現「執行原則」錯誤?

Windows 有時會封鎖 PowerShell 腳本。先執行這行解除限制,再重貼安裝指令:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
cl 指令在新開的 PowerShell 視窗裡不能用?

安裝會把設定加到你的 PowerShell profile,需要重新開啟 PowerShell 才生效。安裝程式已同時接好 Windows PowerShell 5.1 與 PowerShell 7 兩個設定檔。

還是不行的話,確認 profile 裡有這行:

notepad $PROFILE

裡面應該有一行 . "C:\Users\你的名字\claude-auth-switcher\shell\powershell.ps1"。沒有的話手動加上去存檔,再重開 PowerShell。

切換後 Claude 還是舊帳號 / 沒生效?

最常見原因是切換時還有 Claude 在跑——正在運行的 session 會在下一次呼叫 API 時把自己的舊權杖寫回去,蓋掉切換結果。

cl usecl switch 預設都會先關掉正在跑的 claude 再切換,所以照正常用法就不會踩到。若你手動加了 --no-kill,記得先自己關掉 Claude。

切換後會不會掉訂閱、變成 API 計費?

不會。Claude 的帳號身分分散在兩個檔案:權杖在 ~/.claude/.credentials.json,訂閱身分(oauthAccount)在 ~/.claude.json

cl 切換時會同時換好這兩塊,所以 Claude Code 仍然走你的 Pro / Max 訂閱。如果某個 profile 是用舊版工具存的、缺少訂閱身分,重新 cl import <名稱> 一次即可補上。

用量百分比是「已用」還是「剩餘」?

顯示的是已用量。例如 5h 42% used 代表這個 5 小時視窗已經用掉 42%。單一帳號的 cl usage <名稱> 會再列出每週、週-opus、週-sonnet 分項與重置時間。

(這點和姊妹專案 codex-auth-switcher 相反——Codex 顯示的是剩餘量。)

權杖安全嗎?會上傳到雲端嗎?

不會。所有權杖只存在你自己電腦的 ~/.claude_auth_profiles/ 資料夾裡,工具完全在本機運行。Unix 上 profile 目錄會設成 700、檔案 600

請勿把 ~/.claude_auth_profiles/cl export 出來的備份檔 commit 到 Git;備份檔含長期權杖,傳完請刪除。