{"version":"2.1.323","anchor":"self-hosted-runner-surfaces-setup-script-failures-and-retry","canonical_anchor":"self-hosted-runner-surfaces-setup-script-failures-and-retry","heading":"Self-hosted runners report setup-script failures and give clearer retry advice","tier":"notice","area":"Self-Hosted Runners","scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/self-hosted-runner-surfaces-setup-script-failures-and-retry","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Self-hosted runners report setup-script failures and give clearer retry advice\n\nThe self-hosted runner now runs a setup script with secrets blanked, reports when that script fails, and gives clearer retry hints\n\n**What**\n\nThe self-hosted runner runs Claude Code sessions on a machine you provide. After preparing the session's files, it runs a setup script. The script gets a cleaned-up environment (the named values passed to programs it starts) in which session tokens and runner secrets are blanked. Environment names it cannot pass on are skipped with a message.\n\nWhen setting up a session fails:\n\n- if the setup script caused it, the runner reports a setup-script failure\n\n- the advice on whether to retry is worked out in a new way\n\n- a session process that exits before it finishes starting now counts as a failure when its last error output matches a known pattern\n\n**Why**\n\nIf a session fails to start, you get a clearer reason, including when your own setup script is the cause.\n\n- Area: Self-Hosted Runners\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: org\n- Heads-up: no"}