// About

One CLI. Every model.

claude-multi is an open-source command-line tool that lets you run multiple Claude Code instances side-by-side — each pointing at a different AI provider, with its own isolated configuration.

// Why it exists

A config directory is a single shared state.

Claude Code stores everything in ~/.claude — settings, MCP servers, plugins, skills, and history. The moment you want to try a second model, share plugins between an experimental setup and your primary one, or A/B two providers on the same project, you start juggling environment variables, copying files around, and silently losing context.

claude-multi treats every provider as a first-class citizen. One alias per provider — claude-glm, claude-deepseek, claude-anthropic — each rooted at its own directory under ~/.claude-multi/. Plugins and skills sync from your primary install through symlinks, so you maintain them in one place and they're available everywhere.

No daemons. No background services. No telemetry. Every "instance" is a real directory you can cd into and inspect with the tools you already use.

// Principles

What we optimize for.

Zero magic

Every instance is a real directory at ~/.claude-multi/<name>. Open it, edit it, delete it. No hidden state.

Native passthrough

Each alias is a thin wrapper around the official claude binary. Every flag, every command, every keybinding — unchanged.

Templates over docs

Provider templates ship pre-configured with the right base URLs, model mappings, and defaults. Drop in your API key and go.

Reversible everything

Migrations back up config files. Plugin operations rename to backup before deleting. Health checks help you recover broken state.

// How it works

A wrapper, not a fork.

When you run claude-multi add glm --provider glm, four things happen:

  1. 1 A directory is created at ~/.claude-multi/glm/ with its own settings.json, .claude.json, and history.
  2. 2 Provider-specific env vars (base URL, model mappings) are merged into the instance's settings — without ever modifying your primary ~/.claude.
  3. 3 Plugins and skills are symlinked from your primary install. Update once; every instance sees it.
  4. 4 A wrapper script at ~/.bun/bin/claude-glm launches the official claude binary with CLAUDE_CONFIG_DIR pointed at the new instance.

That's the whole trick. No proxy, no monkey-patching, no daemon — just a config-dir environment variable and a symlink graph.

// Project

At a glance.

0.5.0
Current version
8
Releases shipped
MIT
License
4+
Providers
// Author

Built by hmziqrs.

Independent developer. Builds open-source tooling around developer workflows. claude-multi started as a personal frustration with switching providers mid-day and grew into the tool you see now.

Ready to try it?

One npm install, three commands, and you're running every Claude.