CCL ships with 11 pre-configured providers across three categories. Each provider maps to a specific model and API endpoint. CCL sets the correct ANTHROPIC_* environment variables and calls claude — no proxy or translation layer runs unless you configure transformer rules.
ccl providersUse the command above to see the providers and models loaded from your current
~/.config/cclauncher/config.yaml. The tables below describe the committed
defaults in internal/config/default-config.yaml; examples/config.yaml.example
is generated from that same canonical file.
These providers use their own API endpoints and require separate keys.
export SYNTHETIC_API_KEY="sk-..."
ccl --provider synthetic| Field | Value |
|---|---|
| Endpoint | https://api.synthetic.new/anthropic |
| Model | hf:zai-org/GLM-4.7 |
| Small/Fast | hf:zai-org/GLM-4.7 |
| Env var | SYNTHETIC_API_KEY |
synthetic routes through Synthetic.new to access GLM-4.7. Swap the model for any HuggingFace slug Synthetic hosts by editing ~/.config/cclauncher/config.yaml.
export DEEPSEEK_API_KEY="sk-..."
ccl --provider deepseek| Field | Value |
|---|---|
| Endpoint | https://api.deepseek.com/anthropic |
| Model | deepseek-v4-pro |
| Small/Fast | deepseek-v4-flash |
| Env var | DEEPSEEK_API_KEY |
export MINIMAX_API_KEY="sk-..."
ccl --provider minimax| Field | Value |
|---|---|
| Endpoint | https://api.minimax.io/anthropic |
| Model | MiniMax-M2.7 |
| Small/Fast | MiniMax-M2.7-highspeed |
| Env var | MINIMAX_API_KEY |
export ZAI_API_KEY="sk-..."
ccl --provider zai| Field | Value |
|---|---|
| Endpoint | https://api.z.ai/api/anthropic |
| Model | glm-4.7 (override: ZAI_MODEL) |
| Small/Fast | glm-4.5-air (override: ZAI_SMALL_MODEL) |
| Env var | ZAI_API_KEY |
zai supports model overrides without editing the config file:
export ZAI_MODEL="glm-4.7"
export ZAI_SMALL_MODEL="glm-4.5-air"export OPENROUTER_API_KEY="sk-or-..."
ccl --provider openrouter| Field | Value |
|---|---|
| Endpoint | https://openrouter.ai/api |
| Model | deepseek/deepseek-v3.2 |
| Small/Fast | deepseek/deepseek-v3.2 |
| Env var | OPENROUTER_API_KEY |
OpenRouter exposes an Anthropic Messages-compatible route at /api (its "Anthropic Skin"). Swap the model to any OpenRouter slug — e.g. anthropic/claude-sonnet-4.5, moonshotai/kimi-k2.5 — by editing the model/smallFastModel in ~/.config/cclauncher/config.yaml.
export WAFER_API_KEY="..."
ccl --provider wafer
# or shorthand
ccl -p wafer| Field | Value |
|---|---|
| Endpoint | https://pass.wafer.ai |
| Model | GLM-5.1 (override: WAFER_MODEL) |
| Small/Fast | GLM-5.1 (override: WAFER_SMALL_MODEL) |
| Env var | WAFER_API_KEY |
Wafer Pass routes to frontier open models via an Anthropic-compatible endpoint. Available models include GLM-5.1, DeepSeek-V4-Pro, and Qwen3.5-397B-A17B (model names are case-insensitive). Override without editing config:
export WAFER_MODEL="DeepSeek-V4-Pro"
export WAFER_SMALL_MODEL="Qwen3.5-397B-A17B"ccl --provider claude| Field | Value |
|---|---|
| Endpoint | https://api.anthropic.com |
| Auth | claude CLI's own OAuth flow — CCL doesn't manage credentials |
No API key needed. If you haven't authenticated, claude will prompt you to log in.
Local providers connect to a server running on your machine. No API key is required by default, and no internet traffic is sent for the LLM call itself.
See local-models.md for server setup instructions and model recommendations.
ccl --provider llamabarn # localhost:2276
ccl --provider lmstudio # localhost:1234
ccl --provider llamacpp # localhost:8080
ccl --provider omlx # localhost:8000| Field | Value |
|---|---|
| Endpoint | http://localhost:2276 (override: LLAMABARN_BASE_URL) |
| Model | local (override: LLAMABARN_MODEL) |
| Auth | LLAMABARN_API_KEY (optional) |
| Field | Value |
|---|---|
| Endpoint | http://localhost:1234 (override: LMSTUDIO_BASE_URL) |
| Model | openai/gpt-oss-20b (override: LMSTUDIO_MODEL) |
| Auth | Any non-empty token — defaults to lmstudio |
Tip: LM Studio validates that the
Authorizationheader is present but doesn't check the token value. The defaultlmstudiotoken works with any loaded model.
| Field | Value |
|---|---|
| Endpoint | http://localhost:8080 (override: LLAMACPP_BASE_URL) |
| Model | local (override: LLAMACPP_MODEL) |
| Auth | Any non-empty token — defaults to llamacpp |
llama-server supports the Anthropic Messages API natively when started with --port 8080. CCL connects directly without a translation layer.
| Field | Value |
|---|---|
| Endpoint | http://localhost:8000 (override: OMLX_BASE_URL) |
| Model | Qwen3.5-9B-MLX-4bit (override: OMLX_MODEL) |
| Small/Fast | gemma-4-e2b-it-4bit (override: OMLX_SMALL_MODEL) |
| Auth | OMLX_API_KEY (optional) |
omlx targets a local MLX-backed Anthropic-compatible server on macOS. Override the endpoint and models without editing config:
export OMLX_BASE_URL="http://localhost:8000"
export OMLX_MODEL="Qwen3.5-9B-MLX-4bit"
export OMLX_SMALL_MODEL="gemma-4-e2b-it-4bit"Switch for a single session with --provider:
ccl --provider deepseek "review this PR"Run bare ccl at an interactive terminal to open the provider picker. It pre-selects cli.defaultProvider; press Enter to launch it or pick another provider for that launch only.
Set the default provider by editing cli.defaultProvider in ~/.config/cclauncher/config.yaml. When stdin is not a terminal, bare ccl uses that default without prompting.
Every provider supports a CCL_<PROVIDER>_API_KEY override that takes precedence over the config file:
export CCL_SYNTHETIC_API_KEY="sk-other-key" # overrides SYNTHETIC_API_KEY for synthetic
export CCL_DEEPSEEK_API_KEY="sk-other-key" # overrides DEEPSEEK_API_KEY for deepseekFull auth priority: CCL_<PROVIDER>_API_KEY > config authToken (with ${VAR} interpolation) > built-in default.
See configuration.md for the full interpolation reference.