Overview
Model mappings allow you to create aliases for upstream model names, making it easier for clients to reference models without remembering long version strings. The CLI Proxy API supports model mappings for API key providers and Amp integration.API Key Provider Aliases
Each API key provider (Gemini, Claude, Codex, OpenAI-compatible, Vertex-compatible) supports per-credential model aliases.Gemini API Key Models
Model aliases for Gemini API keys.
Gemini Example
Claude API Key Models
Model aliases for Claude API keys.
Claude Example
Codex API Key Models
Model aliases for Codex API keys.
Codex Example
OpenAI Compatibility Models
Model aliases for OpenAI-compatible providers (OpenRouter, DeepSeek, etc.).
OpenAI Compatibility Example
Vertex-Compatible API Key Models
Model aliases for Vertex-compatible providers (ZenMux, etc.).
Vertex-Compatible Example
Amp Model Mappings
Amp model mappings route unavailable Amp models to alternative models available in your local proxy.Model name mappings for Amp CLI requests.
When true, model mappings take precedence over local API keys. When false (default), local API keys are used first if available.
Amp Mapping Example
How Amp Mappings Work
- Client requests model: Amp CLI requests
claude-opus-4-5-20251101 - Check mappings (if
force-model-mappings: true, otherwise check local keys first) - Apply mapping: Route to
gemini-claude-opus-4-5-thinking - Use mapped model: Request proceeds with the target model
Mapping Priority:When
force-model-mappings: false (default):- Check local API keys first
- If no local key available, apply mappings
- If no mapping matches, fall back to upstream Amp
force-model-mappings: true:- Apply mappings first
- If no mapping matches, check local API keys
- Fall back to upstream Amp
Model Prefix Routing
When true, unprefixed model requests only use credentials without a prefix (except when prefix == model name).Example:With With
force-model-prefix: false (default):force-model-prefix: true:Complete Model Mapping Example
Best Practices
Prefix vs No Prefix:Use prefixes when:
- Different teams need separate credentials
- You want to isolate usage/quotas
- Testing new providers alongside production
- Single-team deployments
- Simplified client configuration
- Maximum credential pool availability
Troubleshooting
Alias Not Working
- Check
models[].namematches upstream model exactly (case-sensitive) - Verify client request includes correct prefix (if configured)
- Check for typos in
models[].alias
Model Pool Not Round-Robining
- Verify all pool entries have identical
aliasvalues - Check all upstream models are available
- Review routing strategy (
routing.strategyin server config)
Amp Mapping Not Applied
- Check
force-model-mappingssetting - Verify
fromfield matches exact model name (case-sensitive) - Ensure
tomodel has available providers - Check regex syntax if using
regex: true