{"version":"2.1.246","anchor":"background-daemon-spawn-survives-an-npm-reinstall-in-progres","canonical_anchor":"background-daemon-spawn-survives-an-npm-reinstall-in-progres","heading":"Background daemon spawn survives an npm reinstall in progress","tier":"notice","area":"Background Tasks","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246\/e\/background-daemon-spawn-survives-an-npm-reinstall-in-progres","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246","markdown":"### Background daemon spawn survives an npm reinstall in progress\n\nStarting the background helper during an npm reinstall now waits and retries instead of failing.\n\n**What**\n\nIf Claude Code tries to launch its background daemon while npm is replacing the package on disk, spawn now waits for the binary to reappear and retries instead of failing outright.\n\n**Details**\n\n- Triggered only when the launcher path is under `\/node_modules\/@anthropic-ai\/` and the failure is one of ENOENT, EACCES, ENOEXEC, ETXTBSY or similar.\n- Recorded as `tengu_bg_daemon_spawn_reinstall_wait` with `waited_ms`, `recovered`, `respawn_ok` and the errno.\n- Spawn now also returns the child's pid and exit promise, and the connect path records `connect_errno` when it gives up.\n\n**Evidence**\n\n`tengu_bg_daemon_spawn_reinstall_wait`\n\n- Area: Background Tasks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}