You'll noticeTier: how much it should matter to you
1Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
Bash SafetyArea: what it touches
ImprovementsKind: in v2.1.311,
ImprovementsSection of the release
What
Before running a shell command without asking, Claude Code checks what the command will do. It now refuses to verify the following when their do keyword has no ; or line break before it:
for loops
select loops
repeat loops
function definitions
coproc commands
The reason it gives says that what the loop runs cannot be checked, and that written with ; do it can be.
Why
This closes a gap where Claude Code could misread such commands when deciding whether to allow them on its own. Writing the loop with ; do lets the check work.