{"version":"2.1.234","anchor":"per-model-token-limits-fetched-from-the-api","canonical_anchor":"per-model-token-limits-fetched-from-the-api","heading":"Per-model token limits fetched from the API","tier":"internal","area":"Model Config","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234\/e\/per-model-token-limits-fetched-from-the-api","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234","markdown":"### Per-model token limits fetched from the API\n\nModel token limits can now come from the API with caching and a timeout instead of a built-in table.\n\n**What**\n\nClaude Code can now read a model's input and output token limits from the API rather than a built-in table, caching the result per model id and timing the request out rather than blocking a turn indefinitely.\n\n**Details**\n\n- Failures are classified as `timeout`, `not_found`, `http_<status>` or `connection`.\n- A separate telemetry path records the case where a turn had to wait on the fetch instead of using a cached value.\n- Reached through an internal predicate rather than a named flag, so whether it runs is decided outside this file.\n\n**Evidence**\n\n`dynamic model config fetch timed out`\n\n- Area: Model Config\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}