# ccam و دیگر ابزارهای تعویض حساب Claude Code

> مقایسه ccam با claude-swap، CCS، clausona، clauth، CAAM، cux و دیگر ابزارهای تعویض حساب Claude Code، و اینکه هر روش برای چه کاربردی مناسب است.

Source: https://ccam.dev/fa/compare/account-switchers/ · Updated 2026-10-20

ابزارهای تعویض حساب Claude Code یکی از دو روش را به کار می‌برند. بیشترشان ورود را داخل تنها پوشه `~/.claude` عوض می‌کنند، پس در هر لحظه فقط یک حساب فعال است. برخی دیگر، از جمله ccam، با `CLAUDE_CONFIG_DIR` به هر حساب پوشه خودش را می‌دهند، پس هر حساب وارد‌شده باقی می‌ماند و چند حساب می‌توانند هم‌زمان اجرا شوند. ccam اشتراک تنظیمات و سرورهای MCP را هم اضافه می‌کند و یک گفتگو را در پوشه حساب دیگری ادامه می‌دهد.

## تعویض یک ورود یا پوشه‌های جداگانه؟

**تعویض ورود** یک مجموعه تنظیمات، سرورهای MCP و تاریخچه را نگه می‌دارد، چون فقط یک پوشه وجود دارد. جابه‌جایی سریع است و نشستی که در حال اجراست می‌تواند ورود جدید را بگیرد. اما در هر لحظه فقط یک حساب فعال است، آن هم برای همه ترمینال‌ها و ویرایشگرها با هم.

برای تعویض، ابزار از ورود هر حساب دیگر یک نسخه نگه می‌دارد و آن را سر جایش می‌نویسد. Claude Code هر بار که ورود را تمدید می‌کند توکن تمدید (refresh token) آن را عوض می‌کند، پس هر نسخه ذخیره‌شده باید با نشست‌های در حال اجرا هماهنگ بماند. حساب‌هایی که پس از تعویض از حساب خارج می‌شوند یا دوباره به `/login` نیاز دارند، از رایج‌ترین مشکلاتی هستند که این پروژه‌ها رفع می‌کنند.

**پوشه‌های جداگانه** همان روشی است که [مستندات Claude Code شرح می‌دهد](https://code.claude.com/docs/en/authentication#log-in-with-multiple-accounts). هر حساب وارد‌شده باقی می‌ماند و می‌توانید یک نشست کاری و یک نشست شخصی را کنار هم اجرا کنید. هر ورود در پوشه خودش می‌ماند و Claude Code طبق معمول آن را همان‌جا تمدید می‌کند. بهای آن این است که هر پوشه با تنظیمات، سرورهای MCP و تاریخچه خودش شروع می‌شود، مگر اینکه ابزاری آن‌ها را مشترک کند.

## مقایسه ابزارها

برگرفته از مستندات و کد منبع خود هر پروژه در تاریخ 2026-10-20 (clausona: v0.12.0-beta). «مستند نشده» یعنی پروژه چیزی در این باره نمی‌گوید، نه اینکه آن قابلیت وجود ندارد.

| ابزار | روش | چند حساب هم‌زمان | مصرف ۵ ساعته و هفتگی | وقتی به سقف می‌رسد | سیستم‌ها |
| --- | --- | --- | --- | --- | --- |
| ccam | پوشه‌های جداگانه | بله | بله، `ccam usage` | شما `ccam next --auto --continue` را اجرا می‌کنید تا گفتگو در حسابی با بیشترین ظرفیت ادامه یابد؛ `ccam --fallback` کارهای `-p` را خودش در آنجا دوباره اجرا می‌کند و `ccam pick` کارگرها را میان حساب‌ها پخش می‌کند | Linux، macOS، Windows |
| [claude-swap](https://github.com/realiti4/claude-swap) | ورود را عوض می‌کند؛ پوشه‌های جداگانه با `cswap run` | بله، با `cswap run` | بله | `cswap auto` در یک آستانه ورود را عوض می‌کند؛ نشست در حال اجرا ادامه می‌یابد | Linux، macOS، Windows |
| [CCS](https://github.com/kaitranntt/ccs) | پوشه‌های جداگانه | بله | تا حدی | استخر حساب‌ها درخواست‌ها را از طریق یک پراکسی محلی به حساب بعدی می‌فرستد | Linux، macOS، Windows |
| [clausona](https://github.com/larcane97/clausona) | پوشه‌های جداگانه | بله | بله | مسیرها (routes) پیش از هر اجرا حسابی را که سهمیه دارد انتخاب می‌کنند، می‌توانند منتظر بازنشانی بمانند و به کارگرها حساب‌های متفاوت می‌دهند | Linux، macOS، Windows |
| [clauth](https://github.com/uwuclxdy/clauth) | ورود را عوض می‌کند؛ پوشه‌های جداگانه با `clauth start` | بله، با `clauth start` | بله | در یک زنجیره پشتیبان به حساب بعدی می‌رود | Linux، macOS، Windows |
| [CAAM](https://github.com/Dicklesworthstone/coding_agent_account_manager) | ورود را عوض می‌کند، یا پروفایل‌های ایزوله | بله، با پروفایل‌های ایزوله | بله | `caam run` فرمان‌های غیرتعاملی را با حساب دیگری دوباره امتحان می‌کند | Linux، macOS، Windows |
| [cux](https://github.com/inulute/cux) | ورود را عوض می‌کند و `claude` را در بر می‌گیرد | خیر، یک حساب فعال | بله | ورود را عوض می‌کند و همان گفتگو را از سر می‌گیرد | Linux، macOS، Windows |
| [CCSwitcher](https://github.com/XueshiQiao/CCSwitcher) | ورود را عوض می‌کند | خیر | بله | جابه‌جایی اختیاری در یک آستانه | macOS |
| [Claude Switcher](https://github.com/Symbioose/claude-account-switcher) | ورود را عوض می‌کند | خیر | بله | جابه‌جایی اختیاری در ۱۰۰٪ | macOS |

ccswap یک فورک از claude-swap است که ورودهای Codex را هم مدیریت می‌کند. [claude-account](https://github.com/hamzarehmandeveloper/claude-account)، [claude-multiprofile](https://github.com/jmdarre-v/claude-multiprofile) و [claude-code-profiles](https://github.com/quinnjr/claude-code-profiles) هم به هر حساب پوشه خودش را می‌دهند. چند تا از این ابزارها عامل‌های کدنویسی دیگر، مانند Codex یا Gemini، را هم پشتیبانی می‌کنند.

## چگونه ساخته شده‌اند

| ابزار | زبان | هنگام اجرای Claude Code | کپی ورودها بین جاها | آنچه حساب‌ها می‌توانند مشترک کنند |
| --- | --- | --- | --- | --- |
| ccam | Go، یک فایل اجرایی ایستا | هیچ: ccam خودش را با `claude` جایگزین می‌کند (در Windows که این کار ممکن نیست، منتظرش می‌ماند) | خیر | هر مورد جداگانه: محلی یا یک گروه نام‌دار، برای هر حساب |
| claude-swap | Python 3.12 به بالا، نصب با uv یا pipx | با `cswap run` هیچ؛ `cswap auto` و برنامه نوار منو در حال اجرا می‌مانند | بله، وقتی ورود را عوض می‌کند | با `cswap run`: تنظیمات، `CLAUDE.md` و افزونه‌ها با هم، تاریخچه اختیاری؛ سرورهای MCP در هر اجرا کپی می‌شوند |
| CCS | Node.js 18 به بالا یا Bun | CCS به‌عنوان فرایند والد می‌ماند؛ استخرها یک پراکسی محلی اضافه می‌کنند | برای پوشه‌های حسابش خیر؛ استخرها ورودهای خودشان را نگه می‌دارند | مشترک یا محلی برای هر حساب، تاریخچه در گروه‌های زمینه؛ سرورهای MCP کپی می‌شوند |
| clausona | TypeScript، Node.js 20 به بالا | `claude` ساده از طریق یک تابع شل اجرا می‌شود؛ `clausona run` فرایند Node را به‌عنوان والد نگه می‌دارد؛ پس از هر خروج یک فرایند Node در پس‌زمینه اجرا می‌شود | خیر، اما توکن‌های حساب‌های بیکار را خودش تمدید می‌کند تا مصرفشان را بخواند | همه چیز جز فایل‌های مخصوص هر حساب، از یک حساب اصلی؛ تاریخچه اختیاری؛ سرورهایی که با `claude mcp add` اضافه شده‌اند مشترک نمی‌شوند |
| clauth | Rust | clauth به‌عنوان فرایند والد می‌ماند | بله، وقتی ورود را عوض می‌کند | همه `~/.claude`، یا هیچ |
| CAAM | Go | بسته به حالت؛ یک daemon اختیاری | بله، در حالت vault | بسته به حالت ثابت است؛ سرورهای MCP در هر اجرا کپی می‌شوند |
| cux | Go | یک پوشش (wrapper) دور `claude` می‌ماند | بله | همه چیز: یک پوشه |
| CCSwitcher، Claude Switcher | برنامه‌های macOS (Swift، Python) | برنامه نوار منو | بله | همه چیز: یک پوشه |

## نقاط قوت ccam

### ورودها همان‌جا می‌مانند که Claude Code گذاشته است

ccam هرگز یک ورود Claude را از جایی به جای دیگر کپی نمی‌کند. ورود هر حساب در پوشه خودش می‌ماند، یا در macOS در مورد Keychain مخصوص همان پوشه، و برنامه‌ای که آن را تمدید می‌کند Claude Code است. هیچ نسخه ذخیره‌شده‌ای وجود ندارد که از هماهنگی خارج شود. یک `~/.claude` موجود که با `ccam import` ثبت شود، همان مورد Keychain را نگه می‌دارد که `claude` معمولی استفاده می‌کند، پس در هر دو حالت وارد‌شده باقی می‌ماند.

ccam فقط وقتی `ccam usage --refresh` را اجرا کنید یک توکن منقضی‌شده را خودش تمدید می‌کند. اول یک قفل می‌گیرد و تا وقتی آن حساب در حال اجراست سر باز می‌زند، پس هرگز توکنی را زیر یک نشست زنده عوض نمی‌کند.

### هیچ چیز بین شما و Claude Code اجرا نمی‌شود

ccam یک فایل را می‌خواند، پیوندهایش را بررسی می‌کند و خودش را با `claude` جایگزین می‌کند (`exec`). هنگام کار هیچ فرایند ccam، پوشش، پراکسی یا daemon وجود ندارد: ورودی استاندارد، سیگنال‌ها و کد خروج متعلق به Claude Code هستند و درخواست‌هایش مستقیم به Anthropic می‌روند. Windows نمی‌تواند یک فرایند را جایگزین کند، پس آنجا ccam برنامه Claude Code را با همان کنسول اجرا می‌کند و منتظر کد خروجش می‌ماند، بی‌آنکه کار دیگری انجام دهد.

اجرای یک حساب به این روش حدود 4 ms اضافه می‌کند، در صدک ۹۵ کمتر از 6 ms، با اوج حافظه 8 MB ([`scripts/perf-check.sh`](https://github.com/jhyunwoo/ccam/blob/main/scripts/perf-check.sh) با hyperfine، ۳۰۰ اجرا). روی همان لپ‌تاپ، فقط راه‌اندازی مفسر Python ۱۳ میلی‌ثانیه و Node.js ۳۱ میلی‌ثانیه طول می‌کشد، پیش از آنکه برنامه‌ای کاری انجام دهد.

### اشتراک مورد به مورد و حساب به حساب

سرورهای MCP، `settings.json`، `CLAUDE.md`، افزونه‌ها (agents، commands، skills، plugins) و تاریخچه گفتگو پنج مورد جداگانه‌اند. هر حساب هر مورد را روی `local` یا یک گروه تنظیم می‌کند، پس دو حساب کاری می‌توانند تاریخچه را در گروه `work` مشترک کنند، در حالی که یک حساب شخصی تاریخچه خودش را نگه می‌دارد، و هر سه از همان سرورهای MCP استفاده می‌کنند.

- سرورهای MCP هنگام اجرا با `--mcp-config` داده می‌شوند، پس ccam به‌طور پیش‌فرض هرگز `.claude.json` را ویرایش نمی‌کند، فایلی که Claude Code در حین اجرا بازنویسی می‌کند. `ccam mcp add` یک سرور را یک بار برای کل گروه اضافه می‌کند.
- موارد دیگر پیوندهایی به پوشه گروه هستند، پس تغییری که در یک حساب داده شود بلافاصله در بقیه دیده می‌شود. هنگام اجرا هیچ چیز کپی نمی‌شود.
- ورودها، `.claude.json` و وضعیت در حال اجرا هرگز مشترک نمی‌شوند.

### هر تغییر اول نشان داده و پشتیبان‌گیری می‌شود

`ccam share` و `ccam migrate` پیش از جابه‌جا کردن هر چیزی یک برنامه چاپ می‌کنند و می‌پرسند. وقتی فایلی بین یک حساب و گروهش فرق دارد، انتخاب با شماست: نسخه گروه را نگه دارید، نسخه خودتان را به کار ببرید یا JSON را ادغام کنید. نسخه‌های اصلی به `.ccam-backup/<time>/` می‌روند، پوشه حساب حذف‌شده به یک پوشه زباله‌دان می‌رود و فایل‌ها با یک تغییر نام جایگزین می‌شوند، پس نوشتنی که نیمه‌کاره قطع شود فایل قدیمی را باقی می‌گذارد. `--dry-run` نشان می‌دهد اجرا، اشتراک، مهاجرت، میان‌برها، به‌روزرسانی‌ها و تعمیرها چه خواهند کرد. `ccam doctor --fix` پیوندها و مجوزهای خراب را تعمیر می‌کند.

### همان گفتگو در حساب بعدی

با تاریخچه مشترک، `ccam next --auto --continue` مصرف همه حساب‌ها را هم‌زمان می‌پرسد، حسابی با بیشترین ظرفیت را باز می‌کند و گفتگو را ادامه می‌دهد. زمان جابه‌جایی را شما تعیین می‌کنید؛ ccam مصرف شما را در پس‌زمینه زیر نظر نمی‌گیرد. وقتی مصرف یک حساب به ۹۰٪ برسد، خط وضعیت این فرمان را پیشنهاد می‌کند.

اسکریپت‌ها نمی‌توانند منتظر شما بمانند، پس `ccam --fallback work -p "…"` به جای آن‌ها جابه‌جا می‌شود: وقتی حساب به سقفش برسد، همان فرمان دوباره با حسابی که بیشترین ظرفیت را دارد اجرا می‌شود و فقط خروجی اجرایی که به پایان رسیده چاپ می‌شود. خطایی که از سقف مصرف نباشد همان‌طور که هست منتقل می‌شود. برای کارگرهای موازی، `ccam pick` به هر کدام حساب متفاوتی می‌دهد که ظرفیت دارد، و هر دو فرمان وقتی هیچ حسابی ظرفیتی نداشته باشد با کد ۷۵ خارج می‌شوند.

### حساب مناسب در هر پوشه

`ccam folder work ~/code/company` باعث می‌شود هر اجرای بدون نام حساب در آن پوشه از `work` استفاده کند، در حالی که بقیه پروژه‌های شما همان حساب پیش‌فرض را نگه می‌دارند. این تنظیم در همان `config.toml` است که هر اجرا می‌خواند، پس هیچ زمانی نمی‌گیرد.

### یک فایل اجرایی، دانلودهای بررسی‌شده

ccam یک فایل اجرایی ایستا با حجم حدود 10 MB است و هیچ محیط اجرایی برای نصب نمی‌خواهد، برای Linux، macOS و Windows. اسکریپت‌های نصب (`install.sh`، `install.ps1`) و `ccam update` هر دانلود را با چک‌سام‌های SHA-256 نسخه منتشرشده بررسی می‌کنند و ccam هرگز خودش دنبال به‌روزرسانی نمی‌گردد. هیچ تله‌متری ندارد: تنها درخواست‌هایی که می‌فرستد، پرس‌وجوهای مصرف حساب‌های شما از Anthropic است، به‌صورت موازی با سقف زمانی ۳ ثانیه و حافظه نهان ۶۰ ثانیه‌ای، و دانلودهایی که خودتان درخواست می‌کنید.

## جاهایی که ابزارهای دیگر بیشتر انجام می‌دهند

- claude-swap، clauth، cux، CAAM و CCSwitcher می‌توانند وقتی مصرف یک حساب از آستانه بگذرد، یک نشست تعاملی در حال اجرا را خودشان جابه‌جا کنند. ccam اجراهای `-p` را با `--fallback` جابه‌جا می‌کند و نشست‌های تعاملی را به شما می‌سپارد.
- در Windows بدون Developer Mode، ccam پوشه‌ها را مشترک می‌کند اما نمی‌تواند فایل‌های تکی مانند `settings.json` را مشترک کند؛ claude-swap و CCS در آنجا به جای آن کپی‌شان می‌کنند.
- CCSwitcher، Claude Switcher و claude-swap مصرف را در نوار منوی macOS نشان می‌دهند.
- CCS، clausona، CAAM، clauth، ccswap و Claude Switcher، Codex و دیگر عامل‌های کدنویسی را هم مدیریت می‌کنند.
- clausona همچنین افزونه‌ها را برای هر حساب روشن و خاموش می‌کند (`ccam ext` در ccam فقط آن‌ها را نشان می‌دهد)، هزینه توکن را به‌صورت محلی دنبال می‌کند و پلاگین‌هایی برای Claude Code دارد که ناوگانی از کارگرها را در tmux و ترمینال‌های دیگر اجرا می‌کنند.
- CAAM، CCSwitcher و Claude Switcher با Homebrew نصب می‌شوند و clauth و CAAM چک‌سام‌های نسخه‌هایشان را امضا می‌کنند. ccam با اسکریپت خودش، یک بسته `.deb` یا `go install` نصب می‌شود و چک‌سام‌ها را بدون امضا بررسی می‌کند.

## کدام مناسب شماست؟

اگر در هر لحظه از یک حساب استفاده می‌کنید یا می‌خواهید نشست‌های در حال اجرا خودکار جابه‌جا شوند، ابزاری را انتخاب کنید که ورود را عوض می‌کند. اگر حساب‌ها را کنار هم، یک پیکربندی مشترک، همان گفتگو را در حساب بعدی و هیچ چیزی در کنار Claude Code در حال اجرا نمی‌خواهید، روی Linux، macOS یا Windows، ccam را انتخاب کنید. اگر به هیچ اشتراکی نیاز ندارید، [نام‌های مستعار ساده شل](https://ccam.dev/fa/compare/aliases.md) کافی‌اند.

اینکه اجازه دارید از چند حساب استفاده کنید یا نه، به شرایط هر حساب بستگی دارد. پیش از این کار آن‌ها را بررسی کنید.
