{"version":"2.1.310","anchor":"bash-env-var-prefix-handling-shared-path-like-values-reject","canonical_anchor":"bash-env-var-prefix-handling-shared-path-like-values-reject","heading":"Tighter checks on Bash commands with variable prefixes or wildcards","tier":"notice","area":"Permissions","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-env-var-prefix-handling-shared-path-like-values-reject","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### Tighter checks on Bash commands with variable prefixes or wildcards\n\nClaude Code rejects NAME=value command prefixes whose value looks like a path, and refuses prefix matches for Bash commands with wildcards, ~, = or !\n\n**What**\n\nA shell command can begin with one or more variable settings, such as `NAME=value`, before the command itself. Claude Code now reads these through one shared step instead of each feature using its own. Before, only the variable's name was checked. Now the value is checked too, and the prefix is rejected when the value looks like a file path:\n\n- the value contains `..`\n\n- the value starts with `\/`\n\n- the value starts with a drive letter such as `C:`\n\nSeparately, a check decides whether a command matches an allowed command prefix and can run without asking. That check now treats Bash and PowerShell differently. For Bash it refuses commands that contain:\n\n- wildcard characters\n\n- `~`\n\n- a leading `=`\n\n- a leading `!`\n\n**Why**\n\nFewer commands can match a permission prefix or be suggested as a new permission rule. A permission rule is a setting that says which commands may run without asking. Some commands that matched before may now ask for approval.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}