# X_AI_MODEL_UNKNOWN

## Means

a model id the app never registered (the framework registers none since 25.0.0)

## Typical cause

a `model:` no `registerModel()` call describes. This is what replaced the closed `ModelId` union: the union made a company's own model id inexpressible, so the only way past `tsc` was to claim a Claude id — and then `costOf` priced an internal model at Anthropic list rates and the budget ledger reserved against a number belonging to a model nobody ran. A wrong id is still refused; it is refused at the first read of the spec instead of by making a right one impossible. `cause` lists what **is** registered

## Fix

`registerModel({ id, contextWindow, maxOutput, inputPerMillion, outputPerMillion, cacheMinimumTokens, reasoning })` at boot, before `configureAi`

[MCP and AI](/error-codes#mcp-and-ai)
