{"version":"2.1.311","anchor":"bash-permission-check-refactored-with-a-second-firedrefuse","canonical_anchor":"bash-permission-check-refactored-with-a-second-firedrefuse","heading":"Bash approval checks gain a second pass and new reasons for asking","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/bash-permission-check-refactored-with-a-second-firedrefuse","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Bash approval checks gain a second pass and new reasons for asking\n\nClaude Code's Bash permission check now runs a second pass in some cases and can ask about variables or loops it cannot check in advance\n\n**Unclear.** It is not clear which parts of this check are new behaviour and which are existing checks reorganised, so it is unclear how often approval prompts change.\n\n**What**\n\nBefore Claude runs a shell command through the Bash tool, Claude Code checks whether the command needs your approval. That check now works in more steps.\n\n- A second pass runs only when the first pass either triggered or refused.\n\n- A new reason covers a command that uses a variable set earlier in the same command. It reads: \"A variable set in this command can't be checked before it runs\".\n\n- Another reason covers loops: only the first pass of a loop can be checked, and later passes may run something else.\n\n**Why**\n\nThis could change when a shell command asks for your approval, and the new reasons explain why some commands cannot be checked ahead of time.\n\n- Area: Bash Safety\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}