{"version":"2.1.281","anchor":"self-hosted-runner-filters-child-env-vars-and-classifies-spa","canonical_anchor":"self-hosted-runner-filters-child-env-vars-and-classifies-spa","heading":"Self-hosted runner filters child env vars and classifies spawn errors","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/self-hosted-runner-filters-child-env-vars-and-classifies-spa","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Self-hosted runner filters child env vars and classifies spawn errors\n\nThe self-hosted runner now drops invalid environment variable names for sessions and reports failed starts as a `startError`\n\n**What**\n\nThe self-hosted runner is the program that launches Claude Code sessions on a machine you host. Environment variables are named settings handed to a program when it starts. The runner now builds each session's variables by merging three sources: its own, those sent by the server, and enforced ones.\n\n- Names that are empty or contain `=` or a NUL character are skipped and logged.\n\n- `CLAUDE_CODE_BRIDGE_PROMPT_SHA256` and `CLAUDE_CODE_BRIDGE_MCP_CARRIER` are cleared for the session.\n\n- A session that fails to start straight away, or starts without a process id, now comes back as a classified `startError` instead of raising an error.\n\n**Why**\n\nInvalid names are left out with a log line explaining which one, and a failed start is reported as a labelled result that can be handled."}