Run multiple Claude CLI accounts with shared settings, plugins, marketplace sync, and backup/restore
Project description
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
- One command — launch any account instantly from an interactive menu
Features
|
Multi-Account Management |
Shared MCP & Settings |
|
Plugins & Marketplace |
Global CLAUDE.md |
|
Backup & Restore |
Export / Import Profiles |
|
Zero Dependencies |
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
echo 'alias claude-menu="~/claude-multi-account/unix/claude-menu.sh"' >> ~/.bashrc
# 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
7. Restore Sessions
8. Shared Settings (MCP/Skills)
9. Plugins & Marketplace
E. Export Profile (Token)
I. Import Profile (Token)
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.
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
Requirements
- Claude CLI installed and available in PATH
- Windows: PowerShell 5.1+
- Linux/macOS: Bash 4+,
jqfor JSON merging
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
Credits
Built by Gyanesh Kumar
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multi_claude-1.0.13.tar.gz.
File metadata
- Download URL: multi_claude-1.0.13.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc7336ded61cddc6a3ee2943ced92d626e7316489270f291625db3110741715c
|
|
| MD5 |
3f7891b96fb1fbfaa97c7f7e484345b7
|
|
| BLAKE2b-256 |
25a42b2d4e02cc147a56a11fecc442511eb2c5616f6a57a94b77cc95d85d936b
|
File details
Details for the file multi_claude-1.0.13-py3-none-any.whl.
File metadata
- Download URL: multi_claude-1.0.13-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fb4c248b31abfa8edf3c4f5c4484508f75da7002de6e9c4df47258d8fce0124
|
|
| MD5 |
b8b77f68c76fbf4efe7d4731726ca0cc
|
|
| BLAKE2b-256 |
9b4e97fcbb1150706553dd245295c04f1ccd894c5d8bfda5742f607c09094037
|