[FEATURE] Allow managed settings to control the "Default" model and model display labels in /model picker
Feature Request
Two related asks for enterprise/proxy deployments using ANTHROPIC_CUSTOM_MODEL_OPTION:
1. "Default" should respect the model setting
When managed settings sets "model": "my-custom-model", the /model picker should label that model as "Default" — or at minimum, provide a defaultModel setting to control this independently.
Currently, "Default" is hardcoded to the subscription tier (Opus on Max/Enterprise, Sonnet on Pro) regardless of what model or availableModels specify. This creates confusion when deploying a custom model as the organizational standard.
Proposed solutions (any would work):
- Option A: If
modelis set in managed settings, treat it as the "Default" in the picker - Option B: New
defaultModelfield in settings.json that controls what "Default" resolves to, independently from per-family aliases (opus,sonnet,haiku) - Option C: New env var
ANTHROPIC_DEFAULT_MODEL(distinct fromANTHROPIC_DEFAULT_OPUS_MODELetc.) that overrides only the "Default" row
2. Better control of display labels in the model picker
Related to #62694 — the ANTHROPIC_DEFAULT_*_MODEL_NAME env vars work in the status bar but not consistently in the /model picker. More broadly, enterprise deployments need to control how custom and aliased models are presented.
Proposed:
ANTHROPIC_CUSTOM_MODEL_OPTION_NAMEshould be reflected as the display label in the picker (not just the status bar)- A general
modelDisplayNamessetting (or per-model_NAMEenv vars that actually work everywhere) to override labels:
{
"modelDisplayNames": {
"my-custom-model": "Recommended",
"sonnet": "Claude Sonnet 4.6",
"opus": "Claude Opus 4.7"
}
}
This lets deployments present clear naming without users needing to understand underlying model IDs.
Current Behavior
| Setting | Effect |
|---------|--------|
| "model": "my-custom-model" | Sets initial selection, but "Default" still shows Opus |
| ANTHROPIC_DEFAULT_OPUS_MODEL | Controls both "Default" AND the "opus" alias (can't decouple) |
| ANTHROPIC_CUSTOM_MODEL_OPTION_NAME | Shows in status bar, inconsistent in picker |
| availableModels ordering | Respected, but "Default" always appears separately |
Desired Behavior
modelin managed settings (or a newdefaultModel) controls the "Default" badge- Per-family aliases remain independent
- Display labels are controllable and consistent across status bar and picker
Environment
- Claude Code version: 2.1.x (stable channel)
- Deployment: Enterprise managed settings via proxy
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗