{"version":"2.1.292","anchor":"remote-eval-feature-cache-now-excludes-some-keys","canonical_anchor":"remote-eval-feature-cache-now-excludes-some-keys","heading":"Some feature flags are no longer saved to or read from the on-disk cache","tier":"internal","area":"Remote Settings","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/remote-eval-feature-cache-now-excludes-some-keys","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### Some feature flags are no longer saved to or read from the on-disk cache\n\nClaude Code now keeps a set of feature flags out of its on-disk flag cache, both when saving and when reading, so they fall back to defaults\n\n**What**\n\nClaude Code fetches feature flags, which are server-side switches that turn behaviour on or off, from a service called GrowthBook. It keeps a copy on disk in `cachedGrowthBookFeatures` so the flags are available at the next startup. A specific set of flags is now kept out of that copy:\n\n- When the fetched flags are written to disk, flags in the set are left out of both the cached features and the cached experiment data. Before, everything was written.\n\n- When no freshly fetched values are available, `getAllFeatures()` now filters the cached features before returning them. Before, it returned the cache unfiltered.\n\n- `getFeatureValueWithSource` and `checkGateCachedOrBlocking` now check whether a flag is in the set. If it is, they ignore the value saved on disk and return the built-in fallback value.\n\n- A new `okFetchCount()` method was also added alongside this.\n\n**Why**\n\nFlags in this set no longer carry an old saved value over from one startup to the next. Until a fresh value arrives from the server, they use their default instead of a possibly stale one.\n\n- Area: Remote Settings\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}