Pick an OpenRouter model, launch Claude Code with it. Also includes provider scripts for MiniMax, Z.ai, and local models via Ollama.
# Clone and symlink all scripts
git clone https://github.com/burka/claude-router.git
ln -s "$(pwd)/claude-router/claude-router" ~/.local/bin/claude-router
ln -s "$(pwd)/claude-router/claude-minimax" ~/.local/bin/claude-minimax
ln -s "$(pwd)/claude-router/claude-minimax-highspeed" ~/.local/bin/claude-minimax-highspeed
ln -s "$(pwd)/claude-router/claude-zai" ~/.local/bin/claude-zai
ln -s "$(pwd)/claude-router/claude-ollama" ~/.local/bin/claude-ollama
# Set API keys in ~/.env (not needed for Ollama)
echo "OPENROUTER_API_KEY=sk-or-..." >> ~/.env
echo "MINIMAX_API_KEY=..." >> ~/.env
echo "ZAI_API_KEY=..." >> ~/.envRequires curl, jq, and optionally fzf for interactive picking.
claude-router # Interactive picker (fzf)
claude-router auto # Best free model
claude-router --free # Pick from free models only
claude-router --list # Browse available models
claude-router openai/gpt-4o # Launch with specific model
claude-router auto -- -p "hello" # Pass args to claude
claude-minimax # Launch with MiniMax MoE
claude-zai # Launch with Zhipu GLM (Z.ai token plan)
claude-ollama # Local Ollama shorthand (default: gemma4:26b)
claude-ollama qwen3.5:35b-a3b # Local Ollama with specific model
# Or use Ollama's built-in Claude Code integration directly:
ollama launch claude --model gemma4:26b
ollama launch claude --model qwen3.5:35b-a3bBy default claude-minimax uses MiniMax-M2.7. You can override with the MINIMAX_MODEL env var:
# ~/.env
MINIMAX_MODEL=MiniMax-M2.7-highspeed # Optimized high-speed variantOr via environment:
MINIMAX_MODEL=MiniMax-M2.7-highspeed claude-minimaxclaude-minimax-highspeed is a thin wrapper that defaults to MiniMax-M2.1-Fusion — use it when you want the optimized variant without setting the env var.
Set default claude CLI args via environment variable or ~/.env:
# ~/.env
CLAUDE_DEFAULT_PARAMS="--permission-mode auto"
CLAUDE_DEFAULT_PARAMS="--team"
CLAUDE_DEFAULT_PARAMS="-t"Or via environment:
CLAUDE_DEFAULT_PARAMS="--permission-mode auto" claude-router openai/gpt-4oUser-specified args always override CLAUDE_DEFAULT_PARAMS.
Wrap the claude launch command with nice, taskset, prlimit, etc.
Set via ~/.env or environment:
# ~/.env — pin to cores 2-7, set memory limits
CLAUDE_DEFAULT_WRAPPER="nice -n 20 taskset -c 2-7 prlimit --as=128000000000 --rss=64000000000"# Via environment
CLAUDE_DEFAULT_WRAPPER="echo running:" claude-router -p "hello"Run Claude Code against local models — no API key needed, fully offline.
ollama launch claude --model gemma4:26b
ollama launch claude --model qwen3.5:35b-a3bThis is Ollama's built-in Claude Code integration — it handles download, serving, and env setup for you.
claude-ollama is a thin wrapper (~25 lines) that does the same thing with auto-pull:
claude-ollama # Default: gemma4:26b
claude-ollama qwen3.5:35b-a3b # Use Qwen 3.5
claude-ollama gemma4:26b -p "hi" # Pass args to claude
OLLAMA_HOST=http://192.168.1.100:11434 claude-ollama # Remote hostclaude-routerfetches models from the OpenRouter API (cached daily in~/.cache/claude-router/)- Filters for text models with tool support
- Sets
ANTHROPIC_BASE_URL,ANTHROPIC_AUTH_TOKEN, and model env vars, then launchesclaude claude-minimaxandclaude-zaiset their provider's endpoint and auth directlyclaude-ollamaconnects to a local Ollama instance via its OpenAI-compatible API (/v1)