{"version":"2.1.242","anchor":"hook-settings-accept-cloud-and-unknown-values-fail-safe","canonical_anchor":"hook-settings-accept-cloud-and-unknown-values-fail-safe","heading":"Hook settings accept cloud , and unknown values fail safe","tier":"use","area":"Hooks","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/hook-settings-accept-cloud-and-unknown-values-fail-safe","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Hook settings accept `cloud`, and unknown values fail safe\n\nHook entries accept a cloud field, and unrecognised values are treated as skip rather than erroring.\n\n**What**\n\nThe hooks settings schema gained an optional `cloud` field on each entry, taking \"device\" or \"skip\". Anything it does not recognise is read as \"skip\", so a settings file written by a newer version still loads instead of erroring.\n\n**Details**\n\n- `cloud: \"skip\"` holds the hook on this machine, reported with the reason \"author_skip\".\n- `cloud: \"device\"` exempts a command hook that could not otherwise be pinned, but is not honoured when the entry lives in a file inside the checkout, and is ignored for after-edit hooks.\n- The surrounding forwarding path can still be refused by policy (\"hook_forwarding_disabled: policy\"), so this is a per-entry knob on an existing gated path, not a feature on its own.\n\n**Evidence**\n\n`@internal Where this hook may run when a cloud session is driven from this machine.`, `@internal Where this hook may run when a cloud session is driven from this machine. 'skip': never offer it to cloud sessions; 'device' or omitted: offered (an HTTP hook has no script to pin). Applies to this entry only. An unrecognised value reads as 'skip' (the file still loads).`\n\n- Area: Hooks\n- Names: `cloud`\n- Tier: Use it now\n- Useful: 2\/5\n- Signal: 3\/5"}