{"version":"2.1.242","anchor":"tools-can-suppress-every-permission-update-a-hook-proposes","canonical_anchor":"tools-can-suppress-every-permission-update-a-hook-proposes","heading":"Tools can suppress every permission update a hook proposes","tier":"notice","area":"Permissions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/tools-can-suppress-every-permission-update-a-hook-proposes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Tools can suppress every permission update a hook proposes\n\nSome tools now discard every permission rule a hook proposes and hide \"always allow\".\n\n**What**\n\nA tool can now declare that it discards all permission changes returned by hooks or permission handlers, not just \"always allow\" rules. When it does, those updates are stripped before they reach the session's permission context and the \"always allow\" option is withheld.\n\n**Details**\n\n- The new per-tool method `suppressesAllPermissionUpdates(input)` sits alongside the existing `suppressesAlwaysAllowRule`.\n- Available on this build for any tool that implements the method; tools that do not are unaffected.\n- A dedicated refusal message covers the case where a hook tried to inject a machine target into a call: only the model's own input may name a machine.\n\n**Evidence**\n\n`only the model's own input can name a machine, so it was not run.`\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}