{"version":"2.1.317","anchor":"spawn-runner-timeout-now-has-a-shared-sigterm-helper","canonical_anchor":"spawn-runner-timeout-now-has-a-shared-sigterm-helper","heading":"A timed-out background process is sent its stop signal only once","tier":"notice","area":"Process Management","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/spawn-runner-timeout-now-has-a-shared-sigterm-helper","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### A timed-out background process is sent its stop signal only once\n\nWhen a process Claude Code started times out, it now logs why and sends the stop signal to that process and its children only once\n\n**What**\n\nWhen a process that Claude Code started runs past its time limit, Claude Code stops it by sending SIGTERM, a standard signal that asks a program to shut down. This is sent to the whole process tree, meaning the process and any processes it started. Claude Code now logs the reason for the timeout and sends SIGTERM to a given process tree only once. If the timeout path runs again for the same tree, Claude Code logs that the tree was already sent SIGTERM and does not send another.\n\nPreviously the signal was sent directly inside the timeout handling, with no shared check.\n\n**Why**\n\nThis avoids sending repeated stop signals to the same processes, and the log line makes it clear why a process was stopped.\n\n- Area: Process Management\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}