Skip to content

aeitroc/claude-select

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Claude Select

A unified launcher for Claude Code that lets you interactively choose which LLM backend to use.

   ____  _                 _        ____       _           _
  / ___|| | __ _ _   _  __| | ___  / ___|  ___| | ___  ___| |_
 | |    | |/ _` | | | |/ _` |/ _ \ \___ \ / _ \ |/ _ \/ __| __|
 | |___ | | (_| | |_| | (_| |  __/  ___) |  __/ |  __/ (__| |_
  \____||_|\__,_|\__,_|\__,_|\___| |____/ \___|_|\___|\___|\__|
                                                      from Bessi

What is this?

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.

Requirements

  • Claude Code installed and available in PATH
  • vibeproxy running on localhost:8317 (for proxy-based models)
  • zsh shell

Setup

Make the script executable:

chmod +x claude-select.sh

Usage

Interactive Mode

./claude-select.sh

Shows 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]:

Direct Mode

Pass the model number as the first argument:

./claude-select.sh 1              # Launch with GLM 4.6
./claude-select.sh 4              # Launch with Qwen3

With Claude Arguments

Any additional arguments are passed to Claude:

./claude-select.sh 2 --resume     # Kimi with resume flag
./claude-select.sh 5 -p "hello"   # Gemini with prompt

Adding a New Model

Edit claude-select.sh and add a new entry. Find the configuration section and add your model:

For vibeproxy-based models

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 direct API models

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.

How It Works

  1. Creates a temporary fake security executable to bypass macOS Keychain (forces Claude to use config.json)
  2. Sets environment variables for the selected backend:
    • ANTHROPIC_BASE_URL - API endpoint
    • ANTHROPIC_AUTH_TOKEN - API key
    • ANTHROPIC_DEFAULT_SONNET_MODEL - Model identifier
    • ANTHROPIC_DEFAULT_OPUS_MODEL - Model identifier
    • CLAUDE_CONFIG_DIR - Isolated config directory
  3. Launches Claude Code with the configured environment
  4. Cleans up temporary files on exit

License

MIT

About

A unified launcher for Claude Code that lets you interactively choose which LLM backend to use.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages