Configuration
Config registry
Section titled “Config registry”All instances are tracked in a central registry:
Path: ~/.claude-multi/config.json
{ "version": "2", "instances": [ { "name": "deepseek", "configDir": "/Users/you/.claude-deepseek", "binaryPath": "/Users/you/.local/bin/claude-deepseek", "createdAt": "2026-05-27T10:00:00.000Z", "autoSync": true } ]}| Field | Type | Description |
|---|---|---|
version |
string |
Config format version ("2" after migration) |
instances |
array |
All registered instances |
instances[].name |
string |
Instance name, letters, numbers, hyphens, underscores |
instances[].configDir |
string |
Absolute path to the instance’s config directory |
instances[].binaryPath |
string |
Absolute path to the generated wrapper script |
instances[].createdAt |
string |
ISO 8601 creation timestamp |
instances[].autoSync |
boolean |
Whether plugins/skills are symlinked from ~/.claude |
Instance settings
Section titled “Instance settings”Each instance has its own settings.json at ~/.claude-<name>/settings.json. This is the same format Claude Code uses natively.
{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-your-key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_MODEL": "deepseek-v4-pro[1m]", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash" }, "enabledPlugins": { "some-plugin": true, "another-plugin": false }, "mcpServers": { "my-server": { "type": "stdio", "command": "node", "args": ["path/to/server.js"] } }}env object
Section titled “env object”Environment variables set when launching Claude Code for this instance. Provider templates populate this automatically.
| Key | Description |
|---|---|
ANTHROPIC_AUTH_TOKEN |
API key for the provider |
ANTHROPIC_BASE_URL |
Provider’s Anthropic-compatible API endpoint |
ANTHROPIC_MODEL |
Primary model (mapped to Claude Code’s internal opus slot) |
ANTHROPIC_SMALL_FAST_MODEL |
Fast/cheap model (mapped to haiku slot) |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Sonnet-tier model |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Opus-tier model |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Haiku-tier model |
API_TIMEOUT_MS |
Request timeout (some templates set this to 600000) |
CLAUDE_CODE_SUBAGENT_MODEL |
Model used by sub-agents for background tasks |
CLAUDE_CODE_EFFORT_LEVEL |
Reasoning effort level (low, medium, high, max) |
enabledPlugins object
Section titled “enabledPlugins object”Map of plugin IDs to enabled/disabled state. Only includes plugins that have been explicitly toggled.
mcpServers object
Section titled “mcpServers object”Map of MCP server names to their configuration. Supports stdio, http, and sse transport types.
{ "stdio-server": { "type": "stdio", "command": "node", "args": ["path/to/server.js"], "env": { "SOME_VAR": "value" } }, "http-server": { "type": "http", "url": "http://localhost:3000" }}Instance state
Section titled “Instance state”Each instance has a .claude.json at ~/.claude-<name>/.claude.json:
{ "hasCompletedOnboarding": true, "migrationVersion": 2, "userID": "generated-uuid"}This file is created automatically during instance setup. hasCompletedOnboarding: true tells Claude Code to skip its first-run wizard.
Plugin tracking
Section titled “Plugin tracking”Installed plugins are tracked in ~/.claude-<name>/plugins/installed_plugins.json (v2 format):
{ "plugins": { "plugin-id": { "scope": "internal", "installPath": "plugins/plugin-id", "version": "1.0.0", "installedAt": "2026-05-27T10:00:00.000Z", "enabled": true } }}Health status
Section titled “Health status”Persistent health issue tracking at ~/.claude-multi/health-status.json:
{ "issues": [ { "instanceName": "deepseek", "type": "broken_symlink", "message": "plugins/some-plugin points to a missing target", "detectedAt": "2026-05-27T10:00:00.000Z" } ]}Issues can be dismissed from the TUI health screen. They’re re-detected on subsequent checks if the underlying problem persists.
Migration backups
Section titled “Migration backups”When config format changes, backups are stored in ~/.claude-multi/backups/:
~/.claude-multi/backups/├── config.json.backup.2026-05-27T10-00-00├── deepseek-settings.json.backup.2026-05-27T10-00-00└── glm-settings.json.backup.2026-05-27T10-00-00The last 3 backup sets are kept. Older ones are automatically cleaned up.
File locations summary
Section titled “File locations summary”| Path | Purpose |
|---|---|
~/.claude-multi/config.json |
Instance registry |
~/.claude-multi/health-status.json |
Health issue tracking |
~/.claude-multi/backups/ |
Migration backups |
~/.claude-multi/.migration.lock |
PID-based migration lock |
~/.claude-<name>/settings.json |
Per-instance settings (env, plugins, MCP) |
~/.claude-<name>/.claude.json |
Per-instance state |
~/.claude-<name>/plugins/ |
Plugins (symlinked or copied) |
~/.claude-<name>/skills/ |
Skills (symlinked or copied) |
~/.claude-<name>/projects/ |
Conversation history |
~/.local/bin/claude-<name> |
Wrapper script |