A unified launcher for Claude Code that lets you interactively choose which LLM backend to use.
____ _ _ ____ _ _
/ ___|| | __ _ _ _ __| | ___ / ___| ___| | ___ ___| |_
| | | |/ _` | | | |/ _` |/ _ \ \___ \ / _ \ |/ _ \/ __| __|
| |___ | | (_| | |_| | (_| | __/ ___) | __/ | __/ (__| |_
\____||_|\__,_|\__,_|\__,_|\___| |____/ \___|_|\___|\___|\__|
from Bessi
Claude Select allows you to run Claude Code with different LLM backends. It supports:
- Direct API providers (Kimi, GLM, etc.)
- Local proxies via vibeproxy (Qwen, Gemini, etc.)
Each model gets its own isolated config directory, so your settings and history remain separate per backend.
- Claude Code installed and available in PATH
- vibeproxy running on
localhost:8317(for proxy-based models) - zsh shell
Make the script executable:
chmod +x claude-select.sh./claude-select.shShows a menu to select your model:
Select a model:
1) GLM 4.6
2) Kimi K2 Thinking
3) Kimi K2 Thinking (alt key)
4) Qwen3 Coder Plus
5) Gemini 3 Pro Preview
Enter choice [1-5]:
Pass the model number as the first argument:
./claude-select.sh 1 # Launch with GLM 4.6
./claude-select.sh 4 # Launch with Qwen3Any additional arguments are passed to Claude:
./claude-select.sh 2 --resume # Kimi with resume flag
./claude-select.sh 5 -p "hello" # Gemini with promptEdit claude-select.sh and add a new entry. Find the configuration section and add your model:
If you're using vibeproxy to proxy a model:
MODELS[6]="your-model-name"
BASE_URLS[6]="http://localhost:8317"
AUTH_TOKENS[6]="factory-api-key"
CONFIG_DIRS[6]="${HOME}/.your-model-config"Make sure the model is configured in your vibeproxy setup.
For providers with their own API endpoints:
MODELS[6]="model-name"
BASE_URLS[6]="https://api.provider.com/endpoint"
AUTH_TOKENS[6]="your-api-key"
CONFIG_DIRS[6]="${HOME}/.model-config"Then update the menu in show_menu():
echo " 6) Your Model Name"And update the validation regex from ^[1-5]$ to ^[1-6]$ in both places.
- Creates a temporary fake
securityexecutable to bypass macOS Keychain (forces Claude to use config.json) - Sets environment variables for the selected backend:
ANTHROPIC_BASE_URL- API endpointANTHROPIC_AUTH_TOKEN- API keyANTHROPIC_DEFAULT_SONNET_MODEL- Model identifierANTHROPIC_DEFAULT_OPUS_MODEL- Model identifierCLAUDE_CONFIG_DIR- Isolated config directory
- Launches Claude Code with the configured environment
- Cleans up temporary files on exit
MIT