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
- Host: GitHub
- URL: https://github.com/hmziqrs/claude-multi
- Owner: hmziqrs
- Created: 2025-11-01T23:23:00.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2026-05-16T18:15:51.000Z (about 1 month ago)
- Last Synced: 2026-05-18T07:50:03.994Z (about 1 month ago)
- Topics: calude, claude-ai, claude-code
- Language: TypeScript
- Homepage:
- Size: 524 KB
- Stars: 11
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README

# 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