{"version":"2.1.312","anchor":"bash-permission-parsing-checks-globs-and-assignments-after-e","canonical_anchor":"bash-permission-parsing-checks-globs-and-assignments-after-e","heading":"Bash permission checks tighten builtin -p , assignments and globs","tier":"notice","area":"Permissions","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/bash-permission-parsing-checks-globs-and-assignments-after-e","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312","markdown":"### Bash permission checks tighten `builtin -p`, assignments and globs\n\nBash permission checks now look past `export`-style builtins, treat `builtin -p` as a lookup, and catch glob characters and assignments\n\n**What**\n\nBefore Claude Code runs a shell command, it reads the command to decide whether it is safe or needs your permission. That reading is now stricter.\n\n- Arguments after builtins: arguments that follow builtins which set variables, such as `export` or `declare`, are now checked too. Before, assignments were simply skipped and the first word that was not an assignment ended the check.\n\n- `builtin -p`: this form is now treated as a command lookup that runs nothing. One member says this applies when an internal check passes.\n\n- Glob characters: wildcard characters such as `*`, `?` and `[` in those arguments are now checked.\n\n- Variable assignments: assignments written before certain commands are now flagged under the same condition. Before, only the `v` and `V` options set that flag.\n\n**Why**\n\nThis changes which commands Claude Code treats as fully understood without running them. A command it now reads more carefully may ask for your permission where it did not before.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}