{"version":"2.1.315","anchor":"bash-safety-parser-relative-name-checks-consider-tracked-va","canonical_anchor":"bash-safety-parser-relative-name-checks-consider-tracked-va","heading":"Bash safety checker tightens relative-path checks, reads heredocs in substitutions and flags zsh histchars","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315\/e\/bash-safety-parser-relative-name-checks-consider-tracked-va","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315","markdown":"### Bash safety checker tightens relative-path checks, reads heredocs in substitutions and flags zsh histchars\n\nThe Bash safety check now follows variables in relative-path checks, reads heredocs inside substitutions and flags commands naming zsh histchars\n\n**What**\n\nBefore Claude Code runs a shell command without asking you, a safety checker reads the command to decide whether it can be approved automatically. Several parts of that checker changed:\n\n- Relative-path checks now also catch values that start with a tracked variable. They also catch values that contain a relative path after a leading substitution. A relative path is one that depends on the folder you are in, and a substitution is a `$(...)` part whose output is pasted into the command. This affects the checks on rc files, `xargs`, `env`, `vim` and Java class paths.\n\n- A new parser option, `relativeNamedValues`, controls this variable tracking. Setting it to `false` makes the checker ignore it.\n\n- A new parser option, `substitutionHeredocs`, is passed down to the parsers that read nested substitutions. A heredoc is a block of text fed into a command inline. The option is on by default.\n\n- Commands that name zsh's `histchars` are now flagged with the reason \"it names zsh's histchars, which can make zsh run lines that look like comments\".\n\n**Why**\n\nFewer commands of these kinds pass the automatic check. Some Bash commands that used to run without asking may now show a permission prompt or be refused, including commands that set zsh `histchars`.\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"}