An open API service indexing awesome lists of open source software.

https://github.com/hmziqrs/claude-multi

A tool to have multiple claude-code instance with different configs
https://github.com/hmziqrs/claude-multi

calude claude-ai claude-code

Last synced: 29 days ago
JSON representation

A tool to have multiple claude-code instance with different configs

Awesome Lists containing this project

README

          

claude-multi logo

# claude-multi

Run multiple Claude Code instances side by side — each with its own provider, config, and `claude-` command.

Switching providers (Anthropic, GLM, MiniMax, DeepSeek) normally means editing `settings.json` by hand. This tool gives each one its own isolated install instead.

## Install

```bash
bun add -g claude-multi
```

```bash
npm install -g claude-multi
```

```bash
pnpm add -g claude-multi
```

```bash
deno install -g -A -n claude-multi npm:claude-multi
```

Requires Node 18+ (or Bun 1+) and `@anthropic-ai/claude-code` installed globally.

## Usage

Just run it — the interactive TUI opens by default:

```bash
claude-multi
```

You get a full terminal UI to add instances, manage plugins, configure MCP servers, and more. No subcommand needed.

**Adding an instance** — pick it from the menu, or run directly:

```bash
claude-multi add glm
```

No flags = the guided wizard walks you through provider, API key, and copy options. Then use your new instance:

```bash
claude-glm
```

## CLI (non-interactive)

For scripting and automation, all operations are available as flags:

```bash
# Instances
claude-multi add --provider glm --api-key "sk-..."
claude-multi add --config ~/path # custom config dir
claude-multi add --copy-settings # seed from ~/.claude
claude-multi add --copy-all # copy everything + auto-sync
claude-multi add --skip-prompts # start fresh, no wizard
claude-multi add --manual # copy files instead of symlinking
claude-multi list
claude-multi info
claude-multi remove [--force]

# Plugins & MCP
claude-multi plugins list
claude-multi plugins enable
claude-multi plugins disable
claude-multi plugins copy # copy from default ~/.claude
claude-multi mcp list
claude-multi mcp copy

# Sync
claude-multi auto-sync on|off # symlink plugins/skills from ~/.claude
claude-multi fix-symlinks --all

# Claude Code itself
claude-multi version
claude-multi update
```

Set `CLAUDE_MULTI_INK=false` to force the simpler prompts-based UI instead of the Ink TUI.

## Providers

| Provider | Endpoint |
|---|---|
| GLM (智谱AI) | `api.z.ai` |
| MiniMax | `api.minimax.io` |
| DeepSeek | `api.deepseek.com` |

Templates write `ANTHROPIC_BASE_URL`, `ANTHROPIC_MODEL`, and related env vars to `~/.claude-/settings.json`. Edit that file to customize.

## How it works

Each instance gets a config dir at `~/.claude-/` and a wrapper script at `~/.local/bin/claude-`. The wrapper sets `CLAUDE_CONFIG_DIR` before launching the unmodified `claude` binary — no forking, no patching.

```js
#!/usr/bin/env bun
process.env.CLAUDE_CONFIG_DIR = "/Users/you/.claude-glm"
spawn("claude", process.argv.slice(2), { stdio: "inherit", env: process.env })
```

Instance metadata lives in `~/.claude-multi/config.json`. With auto-sync on, `plugins/` and `skills/` are symlinked from `~/.claude/`, so installing a plugin once makes it available everywhere.

## License

MIT