{"version":"2.1.314","anchor":"bash-permission-guard-stricter-globpushddirs-handling","canonical_anchor":"bash-permission-guard-stricter-globpushddirs-handling","heading":"Shell commands with file patterns, pushd -n or dirs now need approval more often","tier":"notice","area":"Bash Tool","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/bash-permission-guard-stricter-globpushddirs-handling","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### Shell commands with file patterns, pushd -n or dirs now need approval more often\n\nThe Bash safety check now refuses to auto-approve more commands, including unescaped * or ? patterns and pushd -n\n\n**Unclear.** It is not clear whether these stricter checks apply in every session or only under a particular shell mode.\n\n**What**\n\nBefore approving a shell command automatically, Claude Code checks whether it is safe. That check is now stricter. It refuses:\n\n- words with `*` or `?` that the shell would expand into a list of files, including where an even number of backslashes does not escape them\n\n- `pushd -n`, which puts a directory on the stack without entering it, so a later `~1` refers to it\n\n- `dirs` words that do the same\n\nIt also checks values passed to ssh dynamic options. Each case has its own refusal message. For `pushd -n`, the message suggests using `pushd` without `-n`, or `cd`.\n\n**Why**\n\nMore commands will ask for your permission instead of running automatically.\n\n- Area: Bash Tool\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}