{"version":"2.1.309","anchor":"bash-permission-parser-more-shell-filled-variable-names-and","canonical_anchor":"bash-permission-parser-more-shell-filled-variable-names-and","heading":"More shell commands with special variables now ask for permission","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/bash-permission-parser-more-shell-filled-variable-names-and","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### More shell commands with special variables now ask for permission\n\nClaude Code now refuses to auto-approve Bash commands that use shell-filled variables like `history` or odd `$` forms such as `$\"...\"`\n\n**What**\n\nBefore running a Bash command, Claude Code reads it to decide whether it can approve it without asking you. That reading is now stricter:\n\n- Commands that set or use variables the shell fills with its own text, such as `history`, `funcstack` and names starting `ZFTP_`, are flagged. This part sits behind a server switch.\n\n- More `$` forms inside strings are refused, including the locale and escape forms `$\"...\"` and `$'...'`.\n\n**Why**\n\nThese names and forms can hide what a command really does. Commands that use them will more often stop for a permission prompt instead of being approved automatically.\n\n- Area: Bash Safety\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}