claude-multi-account
Run multiple Claude CLI accounts with shared settings, plugins, marketplace sync, and backup/restore.
Why?
Claude CLI stores all config in a single ~/.claude/ directory — so you're locked to one account at a time. Switching means logging out, logging in, and losing your settings.
claude-multi-account fixes this:
- Isolated profiles — each account gets its own config directory, no conflicts
- Shared settings — define MCP servers, env vars, plugins, and CLAUDE.md once — auto-applied everywhere
- Plugin & marketplace management — enable plugins globally or per-account, browse marketplace indexes
- Direct launch — run
claude-workorclaude-personaldirectly from any terminal, no menu needed - Cloud backup & restore — securely sync all profiles to the cloud and restore on any machine
- One command — launch any account instantly from an interactive menu
Get Started in 10 Seconds
Features
|
Multi-Account Management |
Shared MCP & Settings |
|
Plugins & Marketplace |
Global CLAUDE.md |
|
Backup & Restore |
Export / Import Profiles |
|
Cloud Backup & Restore |
Direct Profile Launch |
|
Auto Dependency Detection |
Run from Repo |
Install
Pick any method — they all give you the claude-menu (or multi-claude) command.
One-liner (recommended)
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/ghackk/claude-multi-account/master/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/ghackk/claude-multi-account/master/install.ps1 | iex
npm
npm install -g @ghackk/multi-claude
pip
pip install multi-claude
Homebrew (macOS / Linux)
brew install ghackk/tap/multi-claude
Scoop (Windows)
scoop bucket add multi-claude https://github.com/ghackk/scoop-multi-claude
scoop install multi-claude
AUR (Arch Linux)
yay -S multi-claude
Manual (git clone)
# Linux / macOS
git clone https://github.com/ghackk/claude-multi-account.git ~/claude-multi-account
bash unix/install.sh
# Windows
git clone https://github.com/ghackk/claude-multi-account.git $HOME\claude-multi-account
[Environment]::SetEnvironmentVariable("PATH", "$HOME\claude-multi-account;" + [Environment]::GetEnvironmentVariable("PATH", "User"), "User")
Then open a new terminal and run claude-menu.
Menu Overview
Main Menu
======================================
Claude Account Manager
======================================
Current Accounts:
1. claude-work [logged in] (last used: 02 Mar 2026 10:30 AM)
2. claude-personal [logged in] (last used: 01 Mar 2026 08:15 PM)
======================================
1. List Accounts
2. Create New Account
3. Launch Account
4. Rename Account
5. Delete Account
6. Backup Sessions (Local)
7. Restore Sessions (Local)
8. Shared Settings (MCP/Skills)
9. Plugins & Marketplace
E. Export Profile (Token)
I. Import Profile (Token)
C. Cloud Backup
R. Cloud Restore
0. Exit
======================================
Shared Settings (Option 8)
Manage universal settings applied to all accounts on launch:
| Option | Action |
|---|---|
| 1 | Edit MCP + Settings (opens in editor) |
| 2 | Edit Skills/Instructions (CLAUDE.md) |
| 3 | View current shared settings |
| 4 | Sync shared settings to ALL accounts |
| 5 | Show MCP server list |
| 6 | Reset shared settings |
Plugins & Marketplace (Option 9)
Browse marketplace indexes and manage plugins across accounts:
| Option | Action |
|---|---|
| 1 | Enable plugin for ALL accounts |
| 2 | Enable plugin for one account |
| 3 | Disable plugin (shared) |
| 4 | Disable plugin (one account) |
| 5 | Browse marketplace plugins |
| 6 | Marketplace Management (add/remove/sync) |
Export / Import Profile (Options E & I)
Transfer a profile between machines using a copy-pasteable base64 token:
| Option | Action |
|---|---|
| E | Export a profile — generates a compact token (~5 KB) containing credentials, settings, and launcher |
| I | Import a profile — paste the token to restore the account on any machine |
The token bundles only essentials (credentials, settings, CLAUDE.md, launcher) — not cache or conversation history.
Cloud Backup & Restore (Options C & R)
Sync all profiles to the cloud and restore on any machine:
| Option | Action |
|---|---|
| C | Cloud Backup — select profiles and optional folders (shared settings, plugins, etc.) to upload securely |
| R | Cloud Restore — enter your route key to download and restore all profiles on a new machine |
Profiles are automatically registered on PATH after restore, so you can run claude-work immediately.
Direct Profile Launch
Every profile you create is automatically available as a command:
# No need to open the menu — just run the profile name directly
claude-work
claude-personal
On Linux/macOS/Termux, symlinks are created in ~/.local/bin/. On Windows, the accounts directory is added to your user PATH. Profiles created, imported, or restored are all registered automatically.
How It Works
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ You pick │ ───> │ Shared settings │ ───> │ Claude CLI │
│ an account │ │ + plugins are │ │ launches with │
│ from menu │ │ merged in │ │ isolated config│
└─────────────┘ └──────────────────┘ └─────────────────┘
Each account gets its own config directory (~/.claude-<name>). On every launch, shared settings from ~/claude-shared/ are deep-merged into the account — MCP servers, env vars, preferences, plugins, marketplace indexes, and CLAUDE.md instructions all stay in sync.
Merge Strategy
Settings are deep-merged with shared settings winning on conflict:
| Scenario | Result |
|---|---|
| Key exists only in account | Kept |
| Key exists only in shared | Added |
| Key exists in both (simple value) | Shared wins |
| Key exists in both (nested object) | Recursively merged |
For CLAUDE.md, shared content is inserted between auto-managed markers at the top. Account-specific instructions below the markers are preserved.
Folder Structure
~/
├── claude-multi-account/ # Git repo (can be added to PATH directly)
│ ├── claude-menu.ps1 # Windows menu script
│ ├── claude-menu.bat # Windows launcher
│ ├── windows/ # Windows-specific scripts
│ └── unix/ # Linux/macOS scripts
│
├── claude-accounts/ # Account launchers (auto-created)
│ ├── claude-work.bat/.sh # Account launcher
│ └── claude-personal.bat/.sh
│
├── claude-shared/ # Shared config (applied to all accounts)
│ ├── settings.json # MCP servers, env vars, preferences, enabledPlugins, extraKnownMarketplaces
│ ├── CLAUDE.md # Global instructions & skills
│ └── plugins/ # Shared plugin & marketplace data
│ └── marketplaces/ # Cached marketplace indexes
│
├── claude-backups/ # Timestamped backup archives
│
├── .claude-work/ # Account: work (auto-created)
├── .claude-personal/ # Account: personal (auto-created)
└── .claude-<name>/ # Account: <name>
Documentation
- Installation Guide — setup for all platforms
- Usage Guide — full walkthrough of every feature
Platform Support
Requirements
- Claude CLI installed and available in PATH
- Windows: PowerShell 5.1+ (dependencies auto-detected via winget/scoop)
- Linux/macOS: Bash 3.2+ (the macOS system Bash works). Dependencies including
curl,jq, Python 3, and Node.js are checked on first run. - Termux: Supported — dependencies installed via
pkg
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
Credits
Built by Gyanesh Kumar
License
Usage history (v1.0.26)
Choose U in either menu to open the local dashboard, enable/disable reporting, or merge another PC's history. Usage is keyed by normalized email and reply ID: renaming claude-zf to claude-zafff, creating another profile for the same email, or reporting from a laptop with empty history never resets the server's all-time totals. Restored copies are deduplicated.
The menu installs background session hooks, launcher triggers, and a 30-minute Windows scheduled task, macOS LaunchAgent, or Linux cron entry. Requires Node.js 22.13+. The dashboard shows UTC periods, model/month/device totals, account limits, and Claude Code's stats-cache comparison. Usage tracking details.
macOS supports both Apple Silicon and Intel, including profile-specific Keychain credentials for account transfer and usage limits. Account renaming preserves the Keychain login. npm installation does not require lifecycle scripts, including with npm 12's defaults. Run multi-claude after installation to set up launchers and usage history.
Metadata
Release files for multi-claude 1.0.28
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| multi_claude-1.0.28.tar.gz | 9.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multi_claude-1.0.28-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.0 kB
Release files / multi_claude-1.0.28.tar.gz
| Download URL | multi_claude-1.0.28.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42c96217e0cd110c42b467a7d28605ebee1e97367a883d040566c5d59451d86d
|
|
BLAKE2b-256 checksum How to use checksums |
55476e844f72192bf8724c058c523982147a8489a49bda1b714ce2c7e9fe779c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.4
|
Release files / multi_claude-1.0.28-py3-none-any.whl
| Download URL | multi_claude-1.0.28-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb26a63586aacdbd3e17ac60f3dc15239189283c1fd20fbad0e7482f0aac7cf9
|
|
BLAKE2b-256 checksum How to use checksums |
ea723cd298e41ace687db0cccf9e30e47a9ac4f6c3e78d29069ceadd4955aed2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.4
|