{"version":"2.1.136","anchor":"auto-mode-hard-deny-rules","canonical_anchor":"auto-mode-hard-deny-rules","heading":"Auto Mode Hard-Deny Rules","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.136\/e\/auto-mode-hard-deny-rules","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.136","markdown":"### Auto Mode Hard-Deny Rules\n\n**What**\n\nAuto mode custom rules now distinguish soft blocks from hard security blocks.\n\n**Usage**\n\n`{ \"autoMode\": { \"allow\": [\"$defaults\"], \"soft_deny\": [\"$defaults\"], \"hard_deny\": [ \"$defaults\", \"Never send secrets to external endpoints\" ], \"environment\": [\"$defaults\"] } }` **Details** - `soft_deny` is now described as destructive or irreversible behavior that clear user intent can authorize. - `hard_deny` is new and covers security-boundary actions that user intent does not clear. - `claude auto-mode defaults`, `claude auto-mode config`, and `claude auto-mode critique` now understand all four categories: `allow`, `soft_deny`, `hard_deny`, and `environment`. **Evidence** Auto mode schema and CLI output now include `hard_deny` (search for `\"Rules for the auto mode classifier HARD BLOCK section\"` and `\"autoMode.{allow, soft_deny, hard_deny, environment}\"`)"}