{"version":"2.1.315","anchor":"bash-parser-rejects-a-body-after-for","canonical_anchor":"bash-parser-rejects-a-body-after-for","heading":"Shell commands using { ... } after for ((...)) are flagged","tier":"soon","area":"Bash Safety","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315\/e\/bash-parser-rejects-a-body-after-for","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315","markdown":"### Shell commands using `{ ... }` after `for ((...))` are flagged\n\nClaude Code's shell command reader now flags a `{ ... }` body after `for ((...))` and suggests `do ...; done`\n\n**Unclear.** What turns the internal check on is not known, so this may not apply to every user.\n\n**What**\n\nBefore running a shell command, Claude Code reads it to work out what it does. It now flags a loop written as `for ((...))` followed by a body in curly braces `{ ... }`, and says to write it with `do ...; done` instead. This only happens when an internal check is on.\n\n**Why**\n\nCommands written this way may now need your approval, or may be treated as too complex to judge automatically. Writing the loop with `do ...; done` avoids this.\n\n- Area: Bash Safety\n- Tier: Nothing to try yet\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no\n- Present in the build but not switched on"}