{"version":"2.1.267","anchor":"model-catalog-shadow-compare-fetch-network-access-hardcoded","canonical_anchor":"model-catalog-shadow-compare-fetch-network-access-hardcoded","heading":"Model-catalog shadow-compare fetch changes: network gating and caching","tier":"soon","area":"Model Catalog","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267\/e\/model-catalog-shadow-compare-fetch-network-access-hardcoded","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267","markdown":"### Model-catalog shadow-compare fetch changes: network gating and caching\n\nThe background check that compares the served model catalog now handles network access and caching differently, with a bounded wait\n\n**Unclear.** Whether this gate is enabled for any given account isn't known; nothing has been read yet about the tengu_delegated_quail or tengu_model_catalog_compare gates.\n\n**What**\n\n- The background \"shadow compare\" fetch that checks the served\/published model catalog now unconditionally allows network access for its own fetch path (a related sibling call still gates access based on whether Claude Code is running headless). The shadow-compare fetch only runs at all if an internal mode check doesn't disable it (covering environment overrides, bare mode, non-first-party or non-claude.ai auth, missing organization, or policy).\n\n- The shadow-compare check now first looks at a local cache entry and checks whether it is stale before deciding whether to make a network fetch, then writes the fresh (or errored) result back to the cache.\n\n- If the fetch does not finish within a fixed time budget, it no longer blocks; instead it schedules a background check to finish later and logs a new `model_catalog_late_fetch` event.\n\n**Why** These changes make the background catalog comparison less likely to block or make unnecessary repeated network requests, while keeping the feature itself gated off unless explicitly enabled.\n\n- Area: Model Catalog\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}