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.12.tar.gz (7.9 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.12-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

Hashes for multi_claude-1.0.12.tar.gz
Algorithm Hash digest
SHA256 def5fe06bd19d5d9f781f33ff6a14cdfccb2add97dcd408c1bc68256cebcdf1b
MD5 00acd9110e970320338997b2c243b0ff
BLAKE2b-256 b0784bda3e5e688e7727400983eb540c174893a0f1eae60b5de9013366c72cd7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: multi_claude-1.0.12-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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 0071a2716de78988c1b2d821f40ef918260408b4f7a9ef3fc6ffcb81088f7691
MD5 b544af85c30a6e499247fc21e63a9911
BLAKE2b-256 733c9d860cb03f122c05003f11284efefb00c59c9daacb5e62f10860f8ffa018

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