{"version":"2.1.288","anchor":"startup-growthbook-kick-now-classified-with-a-launch-exclus","canonical_anchor":"startup-growthbook-kick-now-classified-with-a-launch-exclus","heading":"Startup now decides whether and when to fetch feature flags","tier":"internal","area":"Internals","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/startup-growthbook-kick-now-classified-with-a-launch-exclus","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Startup now decides whether and when to fetch feature flags\n\nClaude Code now decides at startup whether to fetch feature flags early, later or not at all, and briefly holds plugin hooks for one flag\n\n**Unclear.** It is not clear what `CLAUDE_CODE_GROWTHBOOK_KICK_FROM_INIT` does or which switch controls the wait on plugin hooks.\n\n**What**\n\nFeature flags are switches the server uses to turn features on or off. At startup, Claude Code used to check whether the launch was eligible and then always fetch these flags. It now sorts each launch into a status first and only fetches flags for some statuses:\n\n- Not eligible.\n\n- Not asked, because the flags are already warm.\n\n- Settings still pending.\n\n- Started during startup, or started just after it.\n\n- Excluded for this launch.\n\nClaude Code fetches flags only when the status is started during or after startup. Another new step briefly holds the hooks of installed plugins while it waits for a rollout flag, and records how long that wait took. A hook is code a plugin runs automatically at set moments.\n\n**Why**\n\nThis changes when feature flags load at startup, especially for runs where nobody is typing.\n\n- Area: Internals\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}