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.9.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.9-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: multi_claude-1.0.9.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.9.tar.gz
Algorithm Hash digest
SHA256 d417854c7f325708da600dee176089ac8817f863b7394bcd4295299cff7e935c
MD5 6509cba11cb1ed007631a2b37a148ff6
BLAKE2b-256 f3615e8f5c0625e2ea651597cdead6bb330497628dcd595c9ca9de2db59d96b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: multi_claude-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 19c7d98bceecdfa0fcda3dd3939abb33b771a65c62f9a26cbf494f525ca667f9
MD5 f2149441b353b1c376d159f23e728b2a
BLAKE2b-256 4d9729281818f01f6d2bf26e2ed6b37a72268915e8b87c08fcbee9d1158016fa

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