Hook entries accept a cloud field, and unrecognised values are treated as skip rather than erroring.
What's wrong with this entry?
The 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.
cloud: "skip"holds the hook on this machine, reported with the reason "author_skip".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.- 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.
@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).
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.234
SessionEnd hooks lose the
bypass_permissions_disabledreasonBoth mention hook
-
v2.1.236
Hooks and Ctrl-C go quiet once shutdown has started
Both mention hook
-
v2.1.236
Shutdown seals transcript writes and gives SessionEnd hooks more time
Both mention hook