If a tool's permission check crashes in plan mode, the action is now denied instead of quietly allowed.
What's wrong with this entry?
A new optional tool hook decides what happens when a tool's own permission check throws, instead of the previous behaviour of logging the failure and carrying on.
- The hook is
permissionCheckFailureDecision, consulted whenever a tool's permission check raises. - If a tool declares one, its decision replaces the log-and-continue fallback; if the hook itself throws, the call is denied.
- The Artifact tool uses it so that a crashed permission check in plan mode denies the action rather than letting it past the consent floor.
Plan-mode artifact consent floor fails closed when its permission check cannot complete
Strings lifted out of the shipped bundle, so the claim above can be checked against them.