{"version":"2.1.290","anchor":"bash-parser-hardened-against-non-ascii-and-special-character","canonical_anchor":"bash-parser-hardened-against-non-ascii-and-special-character","heading":"Some bash commands with unusual $ expansions now ask for permission","tier":"notice","area":"Permissions","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/bash-parser-hardened-against-non-ascii-and-special-character","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Some bash commands with unusual $ expansions now ask for permission\n\nBash commands with $ followed by non-ASCII text, and some redirect and loop forms, are now too complex to check and prompt you\n\n**What**\n\nBefore running a shell command, Claude Code reads it to decide whether it can be allowed without asking you. That reading is now stricter. These forms are treated as too complex to check, so you are asked first:\n\n- `$` followed by a non-ASCII character, such as an accented letter\n\n- `$` followed by one of `#^=~+` and then non-ASCII text, and `${#\u00e9...}` forms\n\n- the same cases inside `[[ ]]` pattern tests\n\n- redirects that assign a file descriptor (a numbered input or output channel) to a variable\n\n- a variable set in front of a declaration inside a branch or loop\n\nThe reason shown for the first cases is \"A $ followed by non-ASCII text in this command can't be checked before it runs\".\n\n**Why**\n\nSome commands that used to run without asking will now prompt you. Those forms could hide what a command really does, so the check no longer passes them.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}