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.25.tar.gz (6.7 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.25-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_switchboard-1.0.25.tar.gz
  • Upload date:
  • Size: 6.7 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.25.tar.gz
Algorithm Hash digest
SHA256 8f477dcc532eb0b6fb432eb1143ce53edb160bea0e74e2f71b452df92eb9f585
MD5 3441e7535056a11216243bf2cefeeb77
BLAKE2b-256 7c92f02063c4d9e9c45f9c0a84c5d058fceeb666ab653a1f86f539befac96975

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for claude_switchboard-1.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 58e9143a2aef06f04ed4c08ec006f606dc63285e1962a49467173e3f299d523b
MD5 347b18c400b7b6e99e05eada847d22f1
BLAKE2b-256 1a366c03f87dfb4ace5e41190163f24499e87dc2c5078f68ecf28f89b325ce66

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