{"version":"2.1.228","anchor":"checkout-hook-failures-carry-a-structured-reason","canonical_anchor":"checkout-hook-failures-carry-a-structured-reason","heading":"Checkout-hook failures carry a structured reason","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228\/e\/checkout-hook-failures-carry-a-structured-reason","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228","markdown":"### Checkout-hook failures carry a structured reason\n\nA checkout hook that succeeds but produces nothing now reports a structured reason and exit code.\n\n**What**\n\nWhen a checkout hook exits successfully but leaves nothing usable behind, the failure is now a typed error with an exit code and a short reason, so it can be classified rather than only printed.\n\n**Details**\n\n- Reasons: `exited 0 but did not create the checkout directory` and `exited 0 but the checkout path is not a directory`.\n\n**Evidence**\n\n`exited 0 but the checkout path is not a directory`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}