{"version":"2.1.311","anchor":"inline-shell-rm-prompt-check-handles-variable-assignments","canonical_anchor":"inline-shell-rm-prompt-check-handles-variable-assignments","heading":"Delete-command checks now look again at commands that set variables","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/inline-shell-rm-prompt-check-handles-variable-assignments","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Delete-command checks now look again at commands that set variables\n\nThe check on inline shell commands runs a second pass for commands starting with `export`, `declare`, `typeset`, `readonly` or `local`\n\n**What**\n\nClaude Code checks inline shell commands, the terminal commands it writes and runs for you, and can ask you before running ones that delete files. That check now runs a second pass when the command uses one of these words, which set shell variables:\n\n- `export`\n\n- `declare`\n\n- `typeset`\n\n- `readonly`\n\n- `local`\n\nThe Bash permission checks also gain two new reasons for a decision, `assigned-variable` and `loop-later-pass`. Both are counted as results of reading the command without running it.\n\nSetting the `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` environment variable turns this check off.\n\n**Why**\n\nPermission checks on commands that set variables, and on commands with loops, now look more closely, so a delete hidden behind a variable is more likely to be caught before it runs.\n\n- Area: Bash Safety\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}