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

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.27.tar.gz (7.4 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.27-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file claude_switchboard-1.0.27.tar.gz.

File metadata

  • Download URL: claude_switchboard-1.0.27.tar.gz
  • Upload date:
  • Size: 7.4 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.27.tar.gz
Algorithm Hash digest
SHA256 280301941cd7d1441757802a31ca869fed8484700b9036c8921dd86bffc5fc19
MD5 8082182b9c437057313542b840bde6cd
BLAKE2b-256 477ef17007d7de4d58e688e923c1ddca8e5177280ec90dc0c99c051afc869bc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for claude_switchboard-1.0.27-py3-none-any.whl
Algorithm Hash digest
SHA256 7a394276dd46463d4925cc5afa14318b0591994814da7acdf63128d70e7c5949
MD5 51c94a7aff5e54d0e1cf33f6240a0791
BLAKE2b-256 897acfad7bc892ec2c660ac258bf16f1135f47bf35c9fda00584de7905399b54

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