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 | Authentication |
|---|---|---|---|
| Separate Workspace | Different accounts (work/personal) | ~/.claude-<name>/ |
Each has own login |
| Shared Workspace | Same person, different API providers | ~/.claude/ |
AWS Bedrock, GCP Vertex, or API Key |
Shared Workspace profiles share the same ~/.claude/ directory (conversations, memory, history) but use different authentication providers. Claude CLI handles the authentication automatically via environment variables.
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 3.2+, curl, jq (auto-installed on first run)
- Windows: PowerShell 5.1+
- Optional: gum for modern TUI (auto-offered)
Documentation
License
Built by Apoorv Dixit
Metadata
Release files for claude-switchboard 1.0.27
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_switchboard-1.0.27.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_switchboard-1.0.27-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.3 kB
Release files / claude_switchboard-1.0.27.tar.gz
| Download URL | claude_switchboard-1.0.27.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
280301941cd7d1441757802a31ca869fed8484700b9036c8921dd86bffc5fc19
|
|
BLAKE2b-256 checksum How to use checksums |
477ef17007d7de4d58e688e923c1ddca8e5177280ec90dc0c99c051afc869bc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Release files / claude_switchboard-1.0.27-py3-none-any.whl
| Download URL | claude_switchboard-1.0.27-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a394276dd46463d4925cc5afa14318b0591994814da7acdf63128d70e7c5949
|
|
BLAKE2b-256 checksum How to use checksums |
897acfad7bc892ec2c660ac258bf16f1135f47bf35c9fda00584de7905399b54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|