{"version":"2.1.282","anchor":"the-atis-pin-is-now-a-feature-flag-targeting-attribute-refr","canonical_anchor":"new-growthbook-targeting-attribute-atispin","heading":"Feature flags can now be targeted by an atis pin","tier":"internal","area":"Internals","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.282\/e\/the-atis-pin-is-now-a-feature-flag-targeting-attribute-refr","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.282","markdown":"### Feature flags can now be targeted by an atis pin\n\nClaude Code now sends an atisPin value for feature-flag evaluation and re-fetches flags when it changes, behind the new tengu_serene_teacup switch\n\n**Unclear.** It is unclear what sets the stored atis value or what it stands for.\n\n**What**\n\nClaude Code asks a feature-flag service (GrowthBook) which features are switched on for a session, and sends it some attributes describing that session. This release adds one:\n\n- A new attribute, `atisPin`, is sent whenever a stored `atis` value is present. If the value looks like `v1.<pin>.x.y.z` (five dot-separated parts), only the second part is sent; otherwise the whole string is sent.\n\n- `atisPin` is added to the list of attribute keys and to `cacheKeyAttributes`, so cached flag values are kept separately for each pin.\n\n- A new `refreshAtisPin()` compares the current pin with the one the flag client has and fetches flags again when they differ. It runs after the start-up data (bootstrap) has been fetched, and only when the new switch `tengu_serene_teacup` passes.\n\n`tengu_serene_teacup` falls back to on when the server sends no value. Nothing has been read about this switch yet.\n\n**Why**\n\nFor anyone who has an atis value, which features a session gets can now depend on that pin, and flag values are refreshed when the pin changes.\n\n- Flag `tengu_serene_teacup`: Not enough to say (read for one account on one subscription tier against v2.1.282; this account: no value returned, anonymous baseline: no value returned, compiled default: on) 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: Internals\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 3\/5"}