Separate Claude Code
for each provider.
Each provider gets its own claude-<name> command and config directory, running the normal claude binary.
~/projectsclaude-multiLive
add instance
running
claude-multi
Step 1 / 8 · instance name › glm
Step 2 / 8 · provider › GLM
Step 3 / 8 · api key › ••••••••••••
Step 7 / 8 · symlink plugins & skills › Y
instance 'glm' created
binary: /usr/local/bin/claude-glm
config: ~/.claude-glm
~/.claude-glm/settings.json
{
"provider": "glm",
"baseUrl": "https://api.z.ai",
"model": "GLM-5.3",
"syncPlugins": true
}Install
claude-multi installs globally with bun, npm, pnpm, or deno.
- Node 18+ or Bun 1+
- macOS, Linux, Windows
bun add -g claude-multinpm install -g claude-multipnpm add -g claude-multideno install -g -A -n claude-multi npm:claude-multiOne directory per instance.
Each instance keeps its own settings, history and credentials in ~/.claude-<name>. Your existing ~/.claude is not modified.
One alias per provider
Built-in templates for GLM, MiniMax, DeepSeek, MiMo, Kimi and Qwen. Each instance you create gets its own command.
claude-kimiclaude-mimoclaude-deepseekclaude-qwen
Isolated configs
Every instance owns its settings.json, history and credentials. Two instances never share a file.
Plugin sync
Plugins and skills are symlinked from your primary install, so every instance sees the same set.
No fork
claude-multi runs the claude binary already on your machine. Your flags and slash commands work the same.
Keys stay on disk
API keys are written to per-instance config files under ~/.claude-multi, not to global environment variables.
Seven providers are built in.
Each template already knows the endpoint and the model names. Pick one in the menu, paste your key, and you get a plain config file on disk.
Instance graph
claude-multi~/.claude-multi
work
anthropicsonnet-4.6
api.anthropic.comlab
glmGLM-5.3
api.z.aiGLM-5.3-Flash
api.z.aicheap
kimiK2.7 Code
api.moonshot.ai