{"version":"2.1.281","anchor":"self-hosted-runner-clearer-failure-messages-when-a-session","canonical_anchor":"self-hosted-runner-clearer-failure-messages-when-a-session","heading":"Self-hosted runner explains why a session process failed to start","tier":"notice","area":"Elsewhere","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/self-hosted-runner-clearer-failure-messages-when-a-session","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Self-hosted runner explains why a session process failed to start\n\nThe self-hosted runner now separates start failures from exits and names disableSideloadFlags when managed settings refuse the launch\n\n**What**\n\nA self-hosted runner is a machine you run yourself that starts Claude Code sessions as separate processes. When one of those processes fails, the runner now gives a clearer reason:\n\n- A process that never started is reported as \"child failed to start (): ...\" instead of being treated as an exit.\n\n- A start error of class `e2big`, meaning the launch configuration was too large, counts as a session configuration error (`SESSION_FAILURE_KIND_SESSION_CONFIG_ERROR`) instead of a runner crash.\n\n- Messages for other start errors include the size of the longest argument and the longest environment entry.\n\n- If the process dies before it finishes starting and its error output contains \"disabled by your organization's managed settings (disableSideloadFlags)\", the user sees \"This machine's managed settings (disableSideloadFlags) refused the launch.\"\n\nThe `disableSideloadFlags` error text is now built from a shared constant. The wording is unchanged.\n\n**Why**\n\nBefore, every failure was reported as the process exiting and classed as a runner crash. Operators can now tell a configuration problem, such as a launch that is too large or one blocked by the managed setting `disableSideloadFlags`, from a real crash.\n\n- Area: Elsewhere\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}