
早安啊👋!如果你同時有「公司帳號」和「個人帳號」,你可能早就撞過這幾道牆:
這篇文章教你怎麼在 Mac 上讓「Claude Code」和「Claude Desktop」的兩個帳號同時上線、互不干擾,不用一直登出登入。每一步都附截圖,照著做即可。
🧪 本文實測環境:MacBook Air M3(Apple Silicon)、macOS、Claude Pro 訂閱。以下所有指令與畫面皆為操作後截圖。若你使用 Intel Mac,流程相同,但個別畫面可能略有差異。
在動手之前,先搞清楚兩個東西的差異,才不會裝錯工具:
| 項目 | Claude Code | Claude Desktop |
|---|---|---|
| 型態 | 終端機(Terminal)指令工具 | 一般 Mac 應用程式(.app) |
| 帳號資料存放位置 | ~/.claude 資料夾 |
~/Library/Application Support/Claude 資料夾 |
| 本文解法 | 使用開源工具 claude-swap 快速切換 | 使用 Automator 包出第二個 App,搭配 Electron 的 --user-data-dir 參數 |
兩者是完全獨立的兩套系統,帳號資料夾也不共用,所以你需要「分別」處理,這也是這篇文章分成兩大段落的原因。

簡單說:Claude Code 是「同一個資料夾、換著放不同憑證」;Claude Desktop 是「兩個 App 各自指向不同資料夾」。原理不同,所以解法也不同。
Claude Code 的帳號憑證預設只有一組,存放在 ~/.claude 底下。claude-swap 的做法很單純:把每個帳號的登入憑證各自備份成一個「插槽(slot)」,需要用哪個帳號時,就把對應插槽的憑證換回 Claude Code 讀取的位置。
打開「終端機」App(可用 Spotlight 搜尋 Terminal),確認電腦已經安裝 Claude Code。若還沒安裝,先執行:
npm install -g @anthropic-ai/claude-code
如果你的電腦已經有 pipx(Python 應用程式安裝工具),可以直接用它安裝 claude-swap,不需要額外裝 uv:
# 如果還沒有 pipx,先安裝(需要先裝好 Python 3 與 Homebrew)
brew install pipx
pipx ensurepath
# 安裝 claude-swap
pipx install claude-swap
安裝完成後,重新開一個終端機視窗(讓 pipx ensurepath 設定的路徑生效),輸入以下指令確認安裝成功:
cswap --help
看到指令說明列表就代表安裝成功。這份說明也很值得先掃一眼,把常用指令記下來。

💡 uv 還是 pipx,選哪個? 兩者效果完全一樣,只是底層安裝工具不同,擇一即可,不需要都裝。若想改用 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh uv tool install claude-swap
日後要更新版本,不論當初用哪種方式安裝,統一用 claude-swap 自己內建的指令即可:
cswap upgrade
先用你的第一個帳號(例如個人帳號)登入 Claude Code:
claude
# 依畫面指示完成瀏覽器登入
登入完成後,把目前的登入狀態存成 claude-swap 的第 1 號插槽:
cswap add --slot 1
若該插槽已經有帳號,claude-swap 會先詢問你是否覆寫,確定這是你要設定的第一組帳號,輸入 y 確認覆蓋即可。

接著要把第二組帳號(例如公司帳號)也存進來。先啟動 Claude Code,並在對話介面中輸入 /login,用第二組帳號重新登入:
claude
# 進入後輸入 /login,於彈出的瀏覽器頁面改用第二組帳號登入
登入成功後,回到終端機,把目前這組帳號存成第 2 號插槽:
cswap add --slot 2
想建立第三、第四組帳號嗎?流程完全一樣,只要換一個新的
--slot編號(例如--slot 3)即可,claude-swap 沒有限制插槽數量,見文末 FAQ。
之後只要想切換,輸入(數字對應插槽編號):
cswap switch 2 # 切到第 2 號帳號

上圖顯示「Already on Account-2」,代表當下已經在目標帳號上,這是正常提示訊息、不是錯誤。若你是從別的帳號切過來,會看到不同的切換成功訊息。
切換完成後,記得重新啟動 Claude Code(關掉終端機視窗再重開,或重新輸入 claude),新帳號才會生效,這是因為 Claude Code 只有在啟動時才會讀取一次憑證。
如果想看目前所有帳號的用量與剩餘額度,可以用互動式儀表板:
cswap tui
畫面會列出每組帳號 5 小時/7 天內的用量、重置時間,還能直接在選單中切換、新增、移除帳號,一目了然。

也可以用非互動的 cswap list,額外會列出目前正在跑的 Claude Code / IDE 實例:

Claude Desktop 是用 Electron 技術做的應用程式,Electron 有一個內建參數 --user-data-dir,可以指定這個程式把所有資料(登入狀態、記憶、MCP 設定)存到指定的資料夾。只要讓兩個 App 各自指向不同資料夾,就能達成「兩個帳號同時登入、同時開啟視窗」的效果。
這裡要先說明:Automator 本身不是必要工具,它只是幫你把
open -n -a "Claude" --args --user-data-dir=...這串終端機指令包裝成一個可以雙擊開啟的 App 圖示。如果你不介意每次都打開終端機貼指令,其實可以跳過整個 Automator 步驟,直接在終端機執行同一串指令也能達到一樣的效果。Automator 純粹是為了「日常使用方便」而做的包裝。
Cmd + Space)搜尋「Automator」並打開,選擇「新增文件」。
/bin/zsh。open -n -a "Claude" --args --user-data-dir="$HOME/Library/Application Support/Claude-Work"
指令說明:
open -n 代表「強制開新的一份實例」,就算原本的 Claude Desktop 已經開著也不受影響。-a "Claude" 直接以 App 名稱呼叫,不必打完整路徑。--user-data-dir 指定這個新實例要把資料存到 Claude-Work 這個獨立資料夾,跟原本的 Claude 資料夾完全分開。
Cmd + S 儲存,「Save As」填入 Claude-Work,「File Format」保持 Application。存放位置可自訂——存到「應用程式(Applications)」資料夾最方便從 Dock 或 Launchpad 開啟,存到 iCloud/Automator 預設位置也能正常運作。
雙擊剛剛建立的「Claude-Work」App,第一次開啟時會跳出安全性警告(因為是自製的 App),到「系統設定 → 隱私權與安全性」裡按「強制打開」即可。
打開後會看到一個全新、尚未登入的 Claude Desktop 視窗,用第二組帳號完成登入即可。
⚠️ 登入時的重要注意事項:Claude 的登入是透過
claude://這種特殊連結完成的(點擊信箱驗證信或瀏覽器授權後會跳轉回 App)。如果兩個 Claude 視窗同時開著,macOS 可能會把登入結果丟給錯的那個視窗。登入新帳號時,請先把原本的 Claude Desktop 完全關閉(Cmd + Q,不是只關視窗),登入成功後再重新打開原本的 App,之後兩邊就能同時開著、各自保持登入狀態,不會互相干擾。
登入完成後,兩個 App(原本的 Claude 和你新建的 Claude-Work)就可以同時開著,各自:
以後想開就跟開一般 App 一樣,直接從應用程式資料夾或 Dock 點擊即可,不需要再打開終端機。
⚠️ 注意:Claude Desktop 並沒有複製第二份程式,只是讓同一個 Claude.app 使用不同的資料資料夾。

在動手之前,這些限制務必先了解,才不會用到一半卡關:
Claude.app,只是換了資料夾,所以 Claude Desktop 更新時它也一起更新,不用另外維護。(附帶一提:若你採用另一種「複製整個 App 再改名」的做法,複製版本才不會自動更新,需要定期重新複製——本文的 --user-data-dir 包裝法沒有這個問題。)claude:// 深層連結登入時容易被導到錯的視窗,這是目前無法完全避免的限制,只能在登入當下暫時關閉另一個視窗。cswap upgrade。claude,都會讀到同一份 .claude 專案筆記。若希望公私分明,建議搭配不同的工作目錄使用。.cswap 匯出檔)內含真實的登入權杖(token),等同密碼,請勿上傳雲端共用資料夾或加入版本控制,用完建議刪除。Q1:輸入 cswap 出現「command not found」怎麼辦?
這通常是終端機的 PATH 沒有包含安裝路徑。若你是照本文用 pipx 安裝,先執行 pipx ensurepath,再重新開一個終端機視窗;若你是改用 uv 安裝,則執行 uv tool update-shell 後重開終端機。兩者都無效的話,手動確認 ~/.local/bin 是否已加入 PATH。
Q2:雙擊 Claude-Work App 卻打不開、或跳出「無法驗證開發者」?
這是 macOS 對自製 App 的正常保護。到「系統設定 → 隱私權與安全性」,在最下方找到被阻擋的 App,按「仍要打開/強制打開」即可。之後就不會再跳警告。
Q3:兩個 Desktop 都登入後,結果變成同一個帳號?
八成是登入時兩個視窗都開著,token 被導到錯的視窗(見限制第 2 點)。解法:把兩個 App 都 Cmd + Q 完全關閉,只開你要登入的那一個、登入完成確認無誤後,再打開另一個。
Q4:cswap add 之後切換帳號沒反應?
切換後一定要「重新啟動」Claude Code(關掉終端機重開或重新輸入 claude),憑證只在啟動時讀取一次,這不是 bug。
Q5:是否只能建立兩個帳號?
不是。兩種方法都可以擴充到兩個以上:
cswap add --slot 3、--slot 4⋯即可新增更多插槽,用 cswap switch 3 切換。--user-data-dir 換成新的資料夾名稱(例如 Claude-Client-A),存成新的 App 即可,數量沒有上限,只受限於硬碟空間。Q6:這樣做會不會違反 Anthropic 使用條款?--user-data-dir 是 Electron 官方參數、CLAUDE_CONFIG_DIR 是 Claude Code 官方支援的環境變數(作用類似 claude-swap,也是把設定資料夾指向不同路徑,只是需要手動切換環境變數,不像 claude-swap 有插槽管理介面),都屬於正規用法。但每個帳號各自受其訂閱方案的用量限制規範,請確保你有兩組合法有效的帳號與訂閱。
透過「claude-swap 處理終端機的 Claude Code」+「Automator 包裝 --user-data-dir 處理 Claude Desktop」這兩招,就能在同一台 Mac 上,讓工作帳號與個人帳號的 Claude 完全獨立、同時上線,不再需要反覆登出登入,也不用擔心兩邊的記憶與設定互相汙染。設定過程一次到位,之後每天使用就跟平常點開 App 一樣簡單,適合同時擁有工作與個人帳號、需要管理多個客戶帳號,或想隔離不同開發環境的使用者。
本文整理自以下技術文章與開源專案,--user-data-dir 與 CLAUDE_CONFIG_DIR 皆為 Electron 與 Claude Code 官方支援的公開參數,網路上已有多篇文章採用類似手法,特此列出供讀者進一步研究:
--user-data-dir 原理與 claude:// 深層連結衝突問題 — philippstracker.com/multiple-claude-instances
claude-clone.sh — melkon.tech/blog/two-claude-accounts-mac
jmdarre-v/claude-multiprofile:將 Automator 包裝與設定檔管理整套自動化的開源工具 — github.com/jmdarre-v/claude-multiprofile
本文為中文使用者整理與在地化實測版本,若你想更深入了解底層原理,歡迎參考以上原始資料。