Skip to main content

claude-multi-account

Run multiple Claude CLI accounts with shared settings, plugins, marketplace sync, and backup/restore.

npm PyPI License: MIT Platform GitHub Stars

multi-claude demo

Why?

Automatic application updates (v1.0.29 working branch)

Each menu launch starts a nonblocking check of https://pair.ghackk.com/updates/stable.json. If the server is unavailable, the updater checks the signed stable.json asset on the latest GitHub release. The application keeps running while the check happens. Failed checks back off for 15 minutes; offline operation uses the last working installation.

The manifest is signed with a pinned Ed25519 key and contains a version, expiry, Node requirement, exact archive size and SHA-256 hash. Downloads try the server-hosted archive, then the GitHub release archive. On Windows the transport fallbacks are Node HTTPS, curl, then PowerShell; macOS/Linux use Node HTTPS then curl. All paths require HTTPS. Invalid signatures, expired manifests, corrupt archives and downgrades are rejected.

Updates install application files into ~/.multi-claude-updates/versions/, then atomically switch the selected version after validation. The next menu launch uses that version. The prior installed package and cached version remain available if a cached release is incomplete. Account profiles, credentials, backups and usage history are never part of the update directory. No administrator access, package-manager switching or lifecycle scripts are needed.

This updates the running application, not npm/pip/Homebrew/Scoop's installed-version records. multi-claude --version reports the selected application version. multi-claude --update-status shows the base version, selected version and last result; multi-claude --update-now waits for a check. Set MULTI_CLAUDE_AUTO_UPDATE=0 to disable background checks. Explicit checks remain available.

Versions before 1.0.29 need a one-time upgrade to obtain this updater. A source Git checkout is no longer silently pulled by the pip launcher; application updates follow the signed release feed.

Maintainers publish a normal npm pack --ignore-scripts archive as a GitHub release asset. The release helper local-usage/publish-channels.py VERSION also calls local-usage/publish-update-feed.py VERSION, uploading the archive to the server, checking its hash remotely, atomically activating the manifest, and mirroring the signed manifest on GitHub. Signing credentials stay outside the public repository. Existing versioned archives are immutable. Renew the manifest before its 89-day expiry if no new release is made; clients remain usable offline after expiry.

Before vs After

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-work or claude-personal directly 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

Quick Start

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 local 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

Cloud Backup & Restore
Securely sync all profiles to the cloud — restore on any machine with a single command

Direct Profile Launch
Each profile is auto-registered on PATH — run claude-work directly from any terminal

Auto Dependency Detection
Detects and offers to install missing dependencies (curl, jq, etc.) on first run

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


Install

Install methods

Pick any method — they all give you the claude-menu (or multi-claude) command.

# 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

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)

Shared Settings

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)

Export Profile

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)

Cloud Backup

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

Direct 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

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

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


Platform Support

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

MIT

Usage history (v1.0.26)

Choose U in either menu to open the login-protected hosted 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.31

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for multi-claude 1.0.31
File Size Uploaded
multi_claude-1.0.31.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for multi-claude 1.0.31
File Interpreter ABI Platform
multi_claude-1.0.31-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / multi_claude-1.0.31.tar.gz

Download URL multi_claude-1.0.31.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
49dfadc12c5c2d7b785b8f8854f47739d322a60a2782552ef132131a3411b501
BLAKE2b-256 checksum
How to use checksums
122749721649832186170422609527415bdb7c47e310bfe142fe8f230bd7c914
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.31-py3-none-any.whl

Download URL multi_claude-1.0.31-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5cb3cc319120e0e7c47d37dd49374eca32f053bbe8035460108239a4c82217b6
BLAKE2b-256 checksum
How to use checksums
585d093be39f49ae4ed0de8df4f0367136bf679f8b7a720edd67622ba84ea7a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.4

Release history Release notifications | RSS feed

This release

1.0.31 This release

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.22

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page