Unclear How a rule with :* in the middle is now matched against commands is not established; it may be read as a literal colon followed by a wildcard.
Permission rules in your settings decide which shell commands Claude may run without asking. A rule such as Bash(npm run:*) uses :* at the end to match any command that starts with that text.
Claude Code used to reject any Bash rule where :* appeared somewhere other than the end, such as Bash(foo:*bar), with the error "The :* pattern must be at the end". That check has been removed, so such rules are now accepted.
A rule that is only :*, with nothing before it, is still rejected with "Prefix cannot be empty before :*".
Settings files that used to fail validation because of such a rule now load. Because these rules are no longer checked, it is worth making sure any rule with :* in the middle matches the commands you actually intend.
How a rule with `:*` in the middle is now matched against commands is not established; it may be read as a literal colon followed by a…