{"version":"2.1.229","anchor":"self-hosted-runner-accepts-a-settings-file-and-rejects-hooks","canonical_anchor":"self-hosted-runner-accepts-a-settings-file-and-rejects-hooks","heading":"Self-hosted runner accepts a settings file, and rejects hooks and orchestrator mode on Windows","tier":"soon","area":"Self-Hosted Runner","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.229\/e\/self-hosted-runner-accepts-a-settings-file-and-rejects-hooks","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.229","markdown":"### Self-hosted runner accepts a settings file, and rejects hooks and orchestrator mode on Windows\n\nThe runner can pass a settings file to sessions; its Windows hooks guard never actually fires.\n\n**What**\n\nThe self-hosted runner launcher now takes a path to a settings file and passes it to the session it spawns as `--settings`, and `settings` is added to the argument names the server is not allowed to override. A separate guard is meant to fail with an explanation when `--hooks-dir`, `SELF_HOSTED_RUNNER_HOOKS_DIR` or orchestrator mode is used on Windows, but its platform argument defaults to the literal `\"linux\"` and both callers rely on that default, so it never fires in this build.\n\n**Details**\n\n- The reserved-argument list stops a server-provided config from replacing your settings path.\n- The Windows error text explains that orchestrator mode depends on the spawn-runner lifecycle hook.\n\n**Evidence**\n\n`orchestrator mode is not supported on Windows: it is driven by the spawn-runner lifecycle hook`\n\n- Area: Self-Hosted Runner\n- Names: `--settings`, `--hooks-dir`, `SELF_HOSTED_RUNNER_HOOKS_DIR`\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}