claude-switchboard: multi-account manager for Claude Code CLI profiles
Project description
The Problem
Claude CLI stores everything in ~/.claude/ — one account at a time. Switching means logging out, logging in, and losing your flow.
The Solution
Claude Switchboard gives you:
- Multiple profiles —
claude-work,claude-personal,claude-client— each fully isolated - Direct launch — type
claude-workfrom anywhere, no menu needed - Shared settings — define MCP servers and instructions once, sync everywhere
- One-click transfer — export/import profiles between machines
Quick Start
Step 1: Install
Choose one method:
# npm
npm install -g claude-switchboard
# pip
pip install claude-switchboard
# or one-liner (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/ApoorvDixitt/claude-switchboard/master/install.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/ApoorvDixitt/claude-switchboard/master/install.ps1 | iex
Step 2: Launch
claude-switchboard
Step 3: Create your first profile
> Select: Create New Account
> Enter name: work
> Profile type: 1 (Separate Workspace)
> Login now? y
Done! Now you can run claude-work from any terminal.
How It Works
You type: What happens:
─────────────────────────────────────────────────────
claude-work → CLAUDE_CONFIG_DIR=~/.claude-work
claude starts with isolated config
claude-personal → CLAUDE_CONFIG_DIR=~/.claude-personal
completely separate account
Each profile gets:
- Own config directory (
~/.claude-<name>/) - Own credentials and login
- Own conversation history
- Shared MCP servers (optional)
Features
Core
| Feature | Description |
|---|---|
| Create Profile | Isolated config directory, own credentials |
| Direct Launch | claude-work command works from any terminal |
| Shared Settings | MCP servers + CLAUDE.md sync to all profiles |
| Export/Import | Transfer profiles between machines via token |
Profile Types
| Type | Best For | Config Dir | Can Run Multiple? |
|---|---|---|---|
| Separate Workspace | Different accounts (work/personal) | ~/.claude-<name>/ |
Yes |
| Shared Workspace | Same person, different API keys | ~/.claude/ |
No (mutex lock) |
Menu Options
1. List Accounts — see all profiles and status
2. Create New Account — make a new profile
3. Launch Account — start a profile
4. Rename Account — change profile name
5. Delete Account — remove profile permanently
6. Shared Settings — configure MCP servers, CLAUDE.md
7. Plugins & Marketplace — manage plugins
E. Export Profile — generate transfer token
I. Import Profile — restore from token
Shared Settings
Define once, apply everywhere.
Edit shared MCP servers:
Menu → 6 (Shared Settings) → 1 (Edit MCP + Settings)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-filesystem", "/home/user"]
}
}
}
Edit shared instructions:
Menu → 6 (Shared Settings) → 2 (Edit CLAUDE.md)
Always respond concisely.
Use TypeScript for code examples.
These automatically apply to all profiles on launch.
Export / Import
Transfer a profile to another machine:
On source machine:
Menu → E → select profile → copy the token
On target machine:
Menu → I → paste token → profile restored
The token includes credentials, settings, and launcher (~5KB).
Folder Structure
~/
├── claude-accounts/ # Launcher scripts
│ ├── claude-work.sh
│ ├── claude-personal.sh
│ └── .profile-registry.json
│
├── claude-shared/ # Shared settings (syncs to all)
│ ├── settings.json # MCP servers, env vars
│ └── CLAUDE.md # Global instructions
│
├── .claude-work/ # Work profile config
├── .claude-personal/ # Personal profile config
└── .local/bin/ # Symlinks for direct launch
├── claude-work
└── claude-personal
Requirements
- Claude CLI installed
- Linux/macOS: Bash 4+, curl, jq (auto-installed on first run)
- Windows: PowerShell 5.1+
- Optional: gum for modern TUI (auto-offered)
Documentation
License
Built by Apoorv Dixit
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 claude_switchboard-1.0.26.tar.gz.
File metadata
- Download URL: claude_switchboard-1.0.26.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3804cfebf3feed4f1ca19fae17b335f7d6fbe57c387c6a270ceeac43ca18e72e
|
|
| MD5 |
d359445b722c6991832de657d74e5f1b
|
|
| BLAKE2b-256 |
006a39365cbc5c30ab280c64ed635266f5ad5d85d02bca9b3e556c1c564fc65a
|
File details
Details for the file claude_switchboard-1.0.26-py3-none-any.whl.
File metadata
- Download URL: claude_switchboard-1.0.26-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
428f8fa668025ee07000272932e77d7b87543f4b546dc37ee652cb1dca7694d5
|
|
| MD5 |
bcb6d4d80ded25ddc03c2ac984a8806d
|
|
| BLAKE2b-256 |
6cf3c4cbae8ecf17fd20b6b04d1a8a0c3e33db9f8fef5e9ff6322f72e2751cce
|