{"version":"2.1.295","anchor":"spare-background-daemon-pre-warm-stands-down-at-exit","canonical_anchor":"spare-background-daemon-pre-warm-stands-down-at-exit","heading":"Background daemon start-up stands down when Claude Code is exiting","tier":"internal","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295\/e\/spare-background-daemon-pre-warm-stands-down-at-exit","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295","markdown":"### Background daemon start-up stands down when Claude Code is exiting\n\nA Claude Code process that is shutting down no longer pre-warms or starts the background daemon, via a new `standsDownAtExit` option\n\n**What**\n\nClaude Code can use a background daemon, a helper program that keeps running behind the scenes. It may start one early, which is called pre-warming. A process that is exiting now avoids starting it.\n\n- The routine that makes sure the daemon is running now takes a `standsDownAtExit` option.\n\n- When the option is set and the daemon is not in the `retired` state, the routine stops early. It does not spawn the daemon or start its service. Before, it always started or spawned the daemon.\n\n- If the process is exiting, the routine returns a \"stood down\" result.\n\n- The spare pre-warm passes `standsDownAtExit`. It is skipped entirely when the process is exiting, with the log line `bg: pre-warm not sent, because this process is exiting`.\n\n- If the daemon stood down for any other start request, that request is retried.\n\n- The retry that runs after a jump in the system clock clears the option.\n\n**Why**\n\nThis stops a Claude Code process that is shutting down from starting the background daemon again, so no stray daemons are left behind at exit.\n\n- Area: Sessions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}