{"version":"2.1.228","anchor":"checkout-hook-failure-reports-a-structured-reason","canonical_anchor":"checkout-hook-failure-reports-a-structured-reason","heading":"Checkout hook failure reports a structured reason","tier":"internal","area":"Self-Hosted Runner","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228\/e\/checkout-hook-failure-reports-a-structured-reason","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228","markdown":"### Checkout hook failure reports a structured reason\n\nA checkout hook that leaves no repository now reports its exit code and reason.\n\n**What**\n\nIn the self-hosted runner, a checkout hook that exits successfully but leaves no repository behind now raises a typed error carrying the exit code and the reason \"exited 0 but left no .git in the checkout directory\", instead of a plain error with only the long message.\n\n**Evidence**\n\n`exited 0 but left no .git in the checkout directory`\n\n- Area: Self-Hosted Runner\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}