# ccam ও অন্যান্য Claude Code অ্যাকাউন্ট সুইচার

> Claude Code অ্যাকাউন্ট বদলের জন্য claude-swap, CCS, clausona, clauth, CAAM, cux ও অন্যান্য টুলের সঙ্গে ccam-এর তুলনা, এবং কোন পদ্ধতি কোন কাজে মানানসই।

Source: https://ccam.dev/bn/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)। প্রতিটি অ্যাকাউন্ট লগইন অবস্থায় থাকে, এবং আপনি work ও personal সেশন পাশাপাশি চালাতে পারেন। প্রতিটি লগইন নিজের ফোল্ডারেই থাকে, যেখানে Claude Code সেটি স্বাভাবিকভাবে নবায়ন করে। এর মূল্য হলো, কোনো টুল শেয়ার না করলে প্রতিটি ফোল্ডার নিজস্ব সেটিংস, MCP সার্ভার ও ইতিহাস নিয়ে শুরু হয়।

## টুলগুলোর তুলনা

2026-10-20 তারিখে প্রতিটি প্রকল্পের নিজস্ব ডকুমেন্টেশন ও সোর্স কোড থেকে নেওয়া (clausona: v0.12.0-beta)। "উল্লেখ নেই" মানে প্রকল্পটি এ বিষয়ে কিছু বলে না, ফিচারটি নেই এমন নয়।

| টুল | পদ্ধতি | একসঙ্গে একাধিক অ্যাকাউন্ট | ৫ ঘণ্টা ও সাপ্তাহিক ব্যবহার | সীমায় পৌঁছালে | প্ল্যাটফর্ম |
| --- | --- | --- | --- | --- | --- |
| ccam | আলাদা ফোল্ডার | হ্যাঁ | হ্যাঁ, `ccam usage` | আপনি `ccam next --auto --continue` চালান, কথোপকথন সবচেয়ে বেশি জায়গা থাকা অ্যাকাউন্টে চলতে থাকে; `ccam --fallback` `-p` কাজগুলো নিজে থেকেই সেখানে আবার চালায়, আর `ccam pick` worker-দের অ্যাকাউন্টগুলোতে ভাগ করে দেয় | 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) | আলাদা ফোল্ডার | হ্যাঁ | হ্যাঁ | রুট প্রতিটি রানের আগে কোটা থাকা অ্যাকাউন্ট বেছে নেয়, রিসেটের জন্য অপেক্ষা করতে পারে, এবং worker-দের আলাদা আলাদা অ্যাকাউন্ট দেয় | Linux, macOS, Windows |
| [clauth](https://github.com/uwuclxdy/clauth) | লগইন অদলবদল করে; `clauth start` দিয়ে আলাদা ফোল্ডার | হ্যাঁ, `clauth start` দিয়ে | হ্যাঁ | একটি fallback চেইন ধরে পরের অ্যাকাউন্টে যায় | 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) | লগইন অদলবদল করে | না | হ্যাঁ | 100%-এ ঐচ্ছিক বদল | 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 প্যারেন্ট প্রসেস হিসেবে থেকে যায়; পুল একটি লোকাল প্রক্সি যোগ করে | নিজের অ্যাকাউন্ট ফোল্ডারের জন্য না; পুল নিজস্ব লগইন রাখে | প্রতি অ্যাকাউন্টে শেয়ার করা বা লোকাল, ইতিহাস context গ্রুপে; MCP সার্ভার কপি হয় |
| clausona | TypeScript, Node.js 20+ | সাধারণ `claude` একটি শেল ফাংশনের মাধ্যমে চলে; `clausona run` Node-কে প্যারেন্ট প্রসেস হিসেবে রাখে; প্রতিবার বেরোনোর পর একটি ব্যাকগ্রাউন্ড Node প্রসেস | না, তবে অলস অ্যাকাউন্টগুলোর ব্যবহার পড়তে এটি নিজেই তাদের টোকেন নবায়ন করে | প্রতি অ্যাকাউন্টের নিজস্ব ফাইল ছাড়া সবকিছু, একটি primary থেকে; ইতিহাস ঐচ্ছিক; `claude mcp add` দিয়ে যোগ করা সার্ভার শেয়ার হয় না |
| clauth | Rust | clauth প্যারেন্ট প্রসেস হিসেবে থেকে যায় | হ্যাঁ, লগইন অদলবদলের সময় | পুরো `~/.claude`, অথবা কিছুই না |
| CAAM | Go | মোডের ওপর নির্ভর করে; একটি ঐচ্ছিক ডেমন | হ্যাঁ, এর vault মোডে | মোড দিয়ে নির্ধারিত; প্রতিবার চালু করার সময় MCP সার্ভার কপি হয় |
| cux | Go | `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 প্রসেস, র‍্যাপার, প্রক্সি বা ডেমন থাকে না: স্ট্যান্ডার্ড ইনপুট, সিগন্যাল ও এক্সিট কোড Claude Code-এর, এবং এর অনুরোধগুলো সরাসরি Anthropic-এ যায়। Windows কোনো প্রসেসকে প্রতিস্থাপন করতে পারে না, তাই সেখানে ccam একই কনসোলে Claude Code চালু করে এবং তার এক্সিট কোডের জন্য অপেক্ষা করে, আর কিছুই করে না।

এভাবে একটি অ্যাকাউন্ট চালু করতে প্রায় 4 ms বাড়ে, 95তম পার্সেন্টাইলে 6 ms-এর কম, সর্বোচ্চ মেমরি 8 MB ([`scripts/perf-check.sh`](https://github.com/jhyunwoo/ccam/blob/main/scripts/perf-check.sh) hyperfine দিয়ে, 300 বার চালিয়ে)। একই ল্যাপটপে কোনো প্রোগ্রাম কিছু করার আগেই শুধু Python ইন্টারপ্রেটার চালু হতে 13 ms এবং Node.js-এ 31 ms লাগে।

### আইটেম ধরে, অ্যাকাউন্ট ধরে শেয়ার

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>/`-এ যায়, সরানো অ্যাকাউন্টের ফোল্ডার একটি ট্র্যাশ ফোল্ডারে যায়, এবং ফাইল একটিমাত্র rename-এ বদলানো হয়, তাই মাঝপথে থেমে যাওয়া লেখা পুরোনো ফাইলটি অক্ষত রাখে। `--dry-run` দেখায় চালু করা, শেয়ার, মাইগ্রেশন, শর্টকাট, আপডেট ও মেরামত কী করবে। `ccam doctor --fix` ভাঙা লিংক ও অনুমতি ঠিক করে।

### পরের অ্যাকাউন্টে একই কথোপকথন

শেয়ার করা ইতিহাস থাকলে `ccam next --auto --continue` একসঙ্গে প্রতিটি অ্যাকাউন্টের ব্যবহার জেনে নেয়, সবচেয়ে বেশি জায়গা থাকা অ্যাকাউন্টটি খোলে এবং কথোপকথন চালিয়ে যায়। কখন বদলাবেন তা আপনি ঠিক করেন; ccam ব্যাকগ্রাউন্ডে আপনার ব্যবহার নজরে রাখে না। কোনো অ্যাকাউন্ট 90%-এ পৌঁছালে স্ট্যাটাস লাইন কমান্ডটি প্রস্তাব করে।

স্ক্রিপ্ট আপনার জন্য অপেক্ষা করতে পারে না, তাই `ccam --fallback work -p "…"` তাদের হয়ে বদল করে: অ্যাকাউন্টটি সীমায় পৌঁছালে একই কমান্ড সবচেয়ে বেশি জায়গা থাকা অ্যাকাউন্ট হিসেবে আবার চলে, এবং শুধু যে রানটি শেষ হয়েছে তার আউটপুট প্রিন্ট হয়। ব্যবহারের সীমা নয় এমন ব্যর্থতা যেমন আছে তেমনই ফেরত দেওয়া হয়। সমান্তরাল worker-দের জন্য `ccam pick` প্রত্যেককে জায়গা থাকা আলাদা একটি অ্যাকাউন্ট দেয়, এবং কোনো অ্যাকাউন্টে জায়গা না থাকলে দুটোই কোড 75 দিয়ে বেরিয়ে যায়।

### প্রতিটি ফোল্ডারে সঠিক অ্যাকাউন্ট

`ccam folder work ~/code/company` ওই ফোল্ডারের ভেতরে অ্যাকাউন্টের নাম ছাড়া প্রতিটি চালু করাকে `work` ব্যবহার করায়, আর আপনার বাকি প্রকল্পগুলো ডিফল্ট অ্যাকাউন্টেই থাকে। সেটিংটি সেই একই `config.toml`-এ থাকে যা প্রতিবার চালু করার সময় পড়া হয়, তাই এতে কোনো সময় লাগে না।

### একটি বাইনারি, যাচাই করা ডাউনলোড

ccam প্রায় 10 MB-এর একটি স্ট্যাটিক বাইনারি, কোনো রানটাইম ইনস্টল করতে হয় না, Linux, macOS ও Windows-এর জন্য। ইনস্টল স্ক্রিপ্ট (`install.sh`, `install.ps1`) ও `ccam update` প্রতিটি ডাউনলোড রিলিজের SHA-256 চেকসামের সঙ্গে মিলিয়ে দেখে, এবং ccam কখনো নিজে থেকে আপডেট খোঁজে না। এতে কোনো টেলিমেট্রি নেই: এটি শুধু আপনার অ্যাকাউন্টগুলোর ব্যবহার জানতে Anthropic-এর কাছে অনুরোধ পাঠায়, সমান্তরালে, 3 সেকেন্ডের সীমা ও 60 সেকেন্ডের ক্যাশসহ, আর আপনি যে ডাউনলোড চান সেগুলো করে।

## যেখানে অন্য টুল বেশি করে

- claude-swap, clauth, cux, CAAM ও CCSwitcher কোনো অ্যাকাউন্ট ব্যবহারের একটি নির্দিষ্ট মাত্রা পেরোলে চলমান ইন্টারঅ্যাকটিভ সেশন নিজে থেকে বদল করতে পারে। ccam `--fallback` দিয়ে `-p` রান বদলায় এবং ইন্টারঅ্যাকটিভ সেশন আপনার ওপর ছেড়ে দেয়।
- Developer Mode ছাড়া Windows-এ ccam ফোল্ডার শেয়ার করে, কিন্তু `settings.json`-এর মতো একক ফাইল শেয়ার করতে পারে না; claude-swap ও CCS সেখানে সেগুলো কপি করে।
- CCSwitcher, Claude Switcher ও claude-swap macOS মেনু বারে ব্যবহার দেখায়।
- CCS, clausona, CAAM, clauth, ccswap ও Claude Switcher, Codex ও অন্যান্য কোডিং এজেন্টও সামলায়।
- clausona প্রতি অ্যাকাউন্টে এক্সটেনশন চালু ও বন্ধও করে (ccam-এর `ccam ext` শুধু সেগুলো দেখায়), লোকাল টোকেন খরচের হিসাব রাখে, এবং এমন Claude Code প্লাগইন দেয় যা tmux ও অন্যান্য টার্মিনালে একঝাঁক worker চালায়।
- CAAM, CCSwitcher ও Claude Switcher Homebrew দিয়ে ইনস্টল হয়, এবং clauth ও CAAM তাদের রিলিজ চেকসামে স্বাক্ষর করে। ccam নিজের স্ক্রিপ্ট, একটি `.deb` বা `go install` দিয়ে ইনস্টল হয়, এবং স্বাক্ষর ছাড়াই চেকসাম যাচাই করে।

## কোনটি আপনার জন্য মানানসই?

আপনি যদি একবারে একটি অ্যাকাউন্ট ব্যবহার করেন বা চলমান সেশন স্বয়ংক্রিয়ভাবে বদল হোক চান, তাহলে লগইন অদলবদলের টুল বেছে নিন। অ্যাকাউন্টগুলো পাশাপাশি চালাতে, একটিই শেয়ার করা সেটআপ রাখতে, পরের অ্যাকাউন্টে একই কথোপকথন চালিয়ে যেতে এবং Claude Code-এর পাশে আর কিছু না চালাতে চাইলে, Linux, macOS বা Windows-এ, ccam বেছে নিন। কিছুই শেয়ার করার দরকার না থাকলে [সাধারণ শেল অ্যালিয়াসই](https://ccam.dev/bn/compare/aliases.md) যথেষ্ট।

একাধিক অ্যাকাউন্ট ব্যবহারের অনুমতি আছে কি না, তা প্রতিটি অ্যাকাউন্টের শর্তের ওপর নির্ভর করে। ব্যবহারের আগে সেগুলো দেখে নিন।
