You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Bash SafetyArea: what it touches
ImprovementsKind: in v2.1.277,
ImprovementsSection of the release
What
Claude Code now parses a shell command's structure (using a tree-sitter-based parser) to detect constructs considered unsafe to auto-approve without asking the user, including:
brace and parameter expansions
$'...'/$"..." style quoting
command substitution ($(...)) and backticks
process substitution (<(...) and >(...))
arithmetic expansion ($[...])
malformed or incomplete redirects
If any of these appear in a command, it's flagged as unsafe to auto-approve.
Why
These shell constructs can let a command do something other than what it appears to do at a glance, such as running hidden commands or reading unexpected input. Flagging them prevents Claude Code from auto-approving a command that looks safe but isn't.