Claude Code Model Switcher
Switch Claude Code custom model configurations from the terminal in seconds.
中文文档 | English
- 🔌 cc-switch Integration — Reads cc-switch database directly, zero migration
- 🧙 Interactive Wizard —
ccc addguides you step by step, type<to go back - ⚡ One-command Switch —
ccc use OpenRouterorccc lswith arrow keys - 🛡️ Safe Switching — Preserves
language,permissionsand other personal settings - 🪶 Lightweight — No extra features, just model switching. Tiny footprint, fast startup, no background processes
- 🚀 Zero Config — Just
ccc initand follow the prompts, no docs needed - 🌍 i18n — English / 中文 (
ccc locale set en/zh)
npm install -g cc-castccc init # Auto-detects cc-switch or initializes standalone mode
ccc add # Interactive wizard to add a providerAlready using cc-switch? When the cc-switch database is detected, cc-cast works directly with it instead of using standalone storage:
$ ccc init
✓ Initialized
✓ cc-switch detected — cc-cast will use cc-switch's configuration store directlyYou can also run ccc sync at any time to pull the latest cc-switch configurations into standalone mode.
$ ccc add
Provider name (e.g. OpenRouter): OpenRouter
Choose how to add:
1) Step by step # guided prompts, type < to go back
2) Write JSON # opens $EDITOR
ANTHROPIC_BASE_URL: https://openrouter.ai/api/v1
ANTHROPIC_AUTH_TOKEN: sk-or-xxx
ANTHROPIC_MODEL: anthropic/claude-opus-4.6
ANTHROPIC_DEFAULT_OPUS_MODEL (optional):
ANTHROPIC_DEFAULT_SONNET_MODEL (optional):
ANTHROPIC_DEFAULT_HAIKU_MODEL (optional):
✓ Saved configuration "OpenRouter"
Switch to this configuration now? (Y/n)Standalone mode: ~/.cc-cast/config.json
{
"profiles": {
"OpenRouter": {
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api/v1",
"ANTHROPIC_AUTH_TOKEN": "sk-or-...",
"ANTHROPIC_MODEL": "anthropic/claude-opus-4.6"
}
}
}
}Aliases are stored in ~/.cc-cast/rc.json:
{
"aliases": {
"or": "OpenRouter"
}
}| Command | Alias | Description |
|---|---|---|
ccc init |
Initialize, auto-detect cc-switch | |
ccc list |
ls |
Interactive list & switch |
ccc use <name> |
Switch by name | |
ccc add |
new |
Interactive add wizard |
ccc save <name> |
Save current settings as profile | |
ccc show [name] |
View config details (all configs in JSON if no name) | |
ccc modify [name] |
edit |
Edit existing configuration |
ccc remove [name] |
rm |
Interactive or named delete |
ccc current |
Show active configuration | |
ccc sync |
Sync cc-switch configs into standalone | |
ccc import [file] |
Import configs from JSON (stdin if no file) | |
ccc clear |
Clean up data files |
| Command | Description |
|---|---|
ccc alias set <short> <name> |
Create alias, e.g. ccc alias set or OpenRouter |
ccc alias rm <short> |
Remove alias |
ccc alias list / ls |
List all aliases |
ccc alias set or OpenRouter
ccc use or # same as: ccc use OpenRouter| Command | Description |
|---|---|
ccc locale / ls |
List & switch language |
ccc locale set <lang> |
Set language (zh / en) |
# Switch provider
$ ccc use OpenRouter
✓ Switched to OpenRouter
Model: anthropic/claude-opus-4.6
Restart Claude Code to apply
# View current config
$ ccc current
Current configuration: OpenRouter
ANTHROPIC_BASE_URL: https://openrouter.ai/api/v1
ANTHROPIC_MODEL: anthropic/claude-opus-4.6
ANTHROPIC_AUTH_TOKEN: sk-or-v1...a3f2
# Save current settings.json as a new profile
$ ccc save my-backup
✓ Saved current configuration as "my-backup"Claude Code reads ~/.claude/settings.json on startup. The env field controls the API provider and model:
| Variable | Description |
|---|---|
ANTHROPIC_BASE_URL |
API endpoint URL |
ANTHROPIC_AUTH_TOKEN |
Authentication token |
ANTHROPIC_MODEL |
Default model (optional) |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Model used when selecting Opus via /model |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Model used when selecting Sonnet via /model |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Model used when selecting Haiku via /model |
ccc use writes the selected profile into settings.json while preserving personal settings (language, permissions, etc.). Restart Claude Code to apply.
Removing cc-cast only removes the CLI itself. Your data files are left behind.
Use ccc clear to delete them automatically, or clean them up manually:
~/.cc-cast/rc.json— aliases and locale~/.cc-cast/config.json— profiles~/.claude/settings.json— may still contain an activeenvprofile written by cc-cast
Then remove the CLI:
npm uninstall -g cc-cast