Skip to main content

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.

npm PyPI License: MIT Platform GitHub Stars


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
Create, launch, rename, and delete independent Claude CLI profiles

Shared MCP & Settings
Define MCP servers, env vars, and preferences once — sync to all accounts

Plugins & Marketplace
Enable/disable plugins globally or per-account, browse and manage marketplace indexes

Global CLAUDE.md
Write instructions and skills that apply across every account

Backup & Restore
Timestamped archives of all accounts and configs with one click

Export / Import Profiles
Copy a profile between machines as a single base64 token — credentials, settings, and launcher included

Zero Dependencies
Just your shell and Claude CLI — nothing else to install

Run from Repo
Add the repo to your PATH — git pull instantly updates the menu, no manual copying


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


Requirements

  • Claude CLI installed and available in PATH
  • Windows: PowerShell 5.1+
  • Linux/macOS: Bash 4+, jq for JSON merging

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.


Credits

Built by Gyanesh Kumar


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multi_claude-1.0.17.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multi_claude-1.0.17-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file multi_claude-1.0.17.tar.gz.

File metadata

  • Download URL: multi_claude-1.0.17.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.4

File hashes

Hashes for multi_claude-1.0.17.tar.gz
Algorithm Hash digest
SHA256 905523776943b6153950f3cf2ea676f94bf54491654a89d020b674e76683a4fe
MD5 c464e145d3882398d10c13b48a047b7e
BLAKE2b-256 7cf2b0dd146f1b04d9ea3053e5c69419416211610b75f4c3cd9df104971c0c95

See more details on using hashes here.

File details

Details for the file multi_claude-1.0.17-py3-none-any.whl.

File metadata

  • Download URL: multi_claude-1.0.17-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

Hashes for multi_claude-1.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 e39e3af4647b8fd6a346d901241b0ecab89f92a5c7874fadbe6b50397f4d9269
MD5 597c0d63e431cc8a88389a42f45b4187
BLAKE2b-256 340d4849b7aace44a099d6ae74699f30975161a743e3f56e25928f747218e259

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page