Shell command parser handles a keyword after command words differently
The parser that checks Bash commands now flags a shell keyword after command words with keywordAfterPrefix, and the prefix check splits and tests those commands
Nothing to try yetTier: how much it should matter to you
1Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Bash SafetyArea: what it touches
In DevelopmentKind: in v2.1.305,
In DevelopmentSection of the release
What
Before Claude Code runs a shell command, it breaks the command into parts to decide how it should be handled for permissions. This release changes what happens when ordinary command words come before a shell keyword (a reserved word of the shell language).
Parser: its internal state gains a keywordDesync flag. When command words precede a shell keyword and a gate is on, the parser sets that flag and returns an error result marked keywordAfterPrefix: true, meaning it treats the command as one it could not cleanly read.
Prefix check: when keywordAfterPrefix is true, the check that compares a command against known command prefixes now splits the text into extra parts and tests each one. A command can count as matching if any of those parts matches. Before, only the command's text and its listed items were tested.
Why
This affects how some shell commands are classified when Claude Code decides whether to ask you before running them. Commands that combine leading words with a shell keyword may be handled differently than before.