{"version":"2.1.309","anchor":"bash-parser-heredoc-expansions-now-parsed-in-double-quote-c","canonical_anchor":"bash-parser-heredoc-expansions-now-parsed-in-double-quote-c","heading":"Bash heredoc contents are parsed differently for permission checks","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/bash-parser-heredoc-expansions-now-parsed-in-double-quote-c","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Bash heredoc contents are parsed differently for permission checks\n\nClaude Code now reads expansions inside Bash heredocs as if in double quotes and keeps unparseable parts when checking permissions\n\n**Unclear.** Whether this makes more or fewer heredoc commands need approval is not stated.\n\n**What**\n\nBefore running a Bash command, Claude Code takes it apart to check it against your permission rules. A heredoc is a block of text fed into a command inline. Claude Code now reads expansions inside a heredoc, such as variables, as if they were inside double quotes, and keeps pieces it cannot parse instead of dropping them. This changes how heredoc text is split up for the check.\n\n**Why**\n\nThis affects whether Bash commands that use heredocs are allowed, denied or sent to you for approval.\n\n- Area: Bash Safety\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}