{"version":"2.1.310","anchor":"model-override-handling-skips-entries-that-have-a-documentta","canonical_anchor":"model-override-handling-skips-entries-that-have-a-documentta","heading":"Default models for sonnet, opus and haiku can come from a server document","tier":"notice","area":"Models","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/model-override-handling-skips-entries-that-have-a-documentta","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### Default models for sonnet, opus and haiku can come from a server document\n\nThe default model behind each family alias can now come from a document, with modelOverrides and Bedrock and Vertex checks adjusted to match\n\n**Unclear.** Which models have a published-document target is not stated.\n\n**What**\n\nClaude Code picks a default model for each model family alias (sonnet, opus and haiku). These defaults used to be fixed in each build. Now:\n\n- The default for a family can come from a document. Such a default is marked `fromDocument`, and it can carry a `documentTarget` naming a model ID this build does not know.\n\n- The `ANTHROPIC_DEFAULT_*_MODEL` environment variables, such as `ANTHROPIC_DEFAULT_SONNET_MODEL`, keep priority over these defaults.\n\n- In two places that check `modelOverrides` (the setting that maps model IDs to your provider's IDs), entries that have a `documentTarget` are no longer suppressed by a `modelOverrides` entry. One place returns the tier, environment variable and value for model tiers set by environment variables; the other checks the environment variables of each model entry.\n\n- A new check lists candidate models that fail an availability check.\n\n- On Bedrock and Vertex, startup now also runs `checkBedrockDocumentDefaults` or `checkVertexDocumentDefaults` in the time left. When a document-configured default is not available on the account, a startup notice says \"Default model: ... not available on this account - not used as this session's default\".\n\n- New helpers decide whether a model name configured for a third-party provider (Bedrock, Vertex or Mantle) is usable. They check per-provider and everywhere default pins, and fall back to an older model in the same family when `modelOverrides` covers the newer one.\n\n**Why**\n\nIn practice, which model an alias such as sonnet points to is no longer decided only by the installed build. On Bedrock and Vertex you are told when such a default is not available to your account instead of it being used anyway.\n\n- Area: Models\n- Names: `modelOverrides`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: both\n- Heads-up: yes"}