{"version":"2.1.261","anchor":"policy-limits-cache-hardened-against-account-switch-races","canonical_anchor":"policy-limits-cache-hardened-against-account-switch-races","heading":"Policy-limits cache hardened against account-switch races","tier":"notice","area":"Org Policy","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/policy-limits-cache-hardened-against-account-switch-races","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261","markdown":"### Policy-limits cache hardened against account-switch races\n\nPolicy-limits fetches that outlive an account switch are now discarded instead of misapplied.\n\nThe policy-limits fetch\/save pipeline now tracks a `sessionGeneration` per fetch and compares it before applying results, so a fetch or cache write that outlives an account switch is discarded instead of being applied to the new account's session. Look for new log lines \"Policy limits: skipped saving a fetch that outlived the account session\" and \"Policy limits: Discarding a fetch that outlived the account session\".\n\nIt also handles a 304 response with no outstanding ETag by falling back to stale cache, logging \"Policy limits: 304 with no outstanding ETag \u2014 using stale cache\", and merges\/dedupes `compliance_taints` across cache and server responses so entries aren't lost, logging \"Policy limits: lossy cached compliance_taints \u2014 kept the session taint set\" when that happens.\n\n- Flag `tengu_rustling_orbit`: Off in both readings (read for one account on one subscription tier against v2.1.261; this account: off, anonymous baseline: off, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Org Policy\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}