{"version":"2.1.281","anchor":"headlesssdk-startup-work-held-back-until-the-host-initializ","canonical_anchor":"headlesssdk-startup-work-held-back-until-the-host-initializ","heading":"Headless\/SDK startup work held back until the host initializes (startupWorkGate)","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/headlesssdk-startup-work-held-back-until-the-host-initializ","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Headless\/SDK startup work held back until the host initializes (startupWorkGate)\n\nHeadless and SDK runs now hold some startup work until the host is ready; `CLAUDE_CODE_DISABLE_STARTUP_WORK_GATE` turns this off\n\n**What**\n\nIn headless runs (Claude Code running without its interactive screen, driven by another program), some startup tasks are now held back. One example is sending the `tengu_init` telemetry event, a usage report. The held tasks are released at the first of these:\n\n- The host program finishes initializing.\n\n- The first turn starts.\n\n- Input closes.\n\n- A fallback timeout fires.\n\nWhen they are released at host initialization, the held tasks run one at a time and step aside if a turn starts. Setting the environment variable `CLAUDE_CODE_DISABLE_STARTUP_WORK_GATE` turns the holding off.\n\n**Why**\n\nBackground startup work no longer competes with the program starting up the session or with its first turn. You can restore the old behavior with the environment variable if you need to."}