Skip to main content

claude-switchboard: multi-account manager for Claude Code CLI profiles

Project description

Claude Switchboard

Multi-account manager for Claude Code CLI

npm PyPI License: MIT Platform

Demo

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 profilesclaude-work, claude-personal, claude-client — each fully isolated
  • Direct launch — type claude-work from 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

MIT


Built by Apoorv Dixit

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

claude_switchboard-1.0.26.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_switchboard-1.0.26-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

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

Hashes for claude_switchboard-1.0.26.tar.gz
Algorithm Hash digest
SHA256 3804cfebf3feed4f1ca19fae17b335f7d6fbe57c387c6a270ceeac43ca18e72e
MD5 d359445b722c6991832de657d74e5f1b
BLAKE2b-256 006a39365cbc5c30ab280c64ed635266f5ad5d85d02bca9b3e556c1c564fc65a

See more details on using hashes here.

File details

Details for the file claude_switchboard-1.0.26-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_switchboard-1.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 428f8fa668025ee07000272932e77d7b87543f4b546dc37ee652cb1dca7694d5
MD5 bcb6d4d80ded25ddc03c2ac984a8806d
BLAKE2b-256 6cf3c4cbae8ecf17fd20b6b04d1a8a0c3e33db9f8fef5e9ff6322f72e2751cce

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