{"version":"2.1.288","anchor":"heredoc-parsing-allows-plain-unquoted-heredocs-with-simple-e","canonical_anchor":"heredoc-parsing-allows-plain-unquoted-heredocs-with-simple-e","heading":"Shell command checker can treat some plain heredocs as simple","tier":"notice","area":"Bash Tool","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/heredoc-parsing-allows-plain-unquoted-heredocs-with-simple-e","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Shell command checker can treat some plain heredocs as simple\n\nA new option lets the shell command checker accept unquoted heredocs that only use simple variables instead of flagging them as too complex\n\n**Unclear.** It is not clear whether anything in Claude Code turns this option on.\n\n**What**\n\nA heredoc is a way of passing several lines of text to a shell command. Before Claude Code runs a shell command, it reads the command to understand it. Previously any heredoc not wrapped in quotes counted as too complex to check.\n\nA new option changes this. When it is on, a heredoc whose only special parts are simple variables, such as `$NAME`, can be treated as simple. Heredocs inside a command substitution, which is a command run inside another command, are refused in this mode.\n\n**Why**\n\nIf this option is used, commands with heredocs might ask you for permission less often.\n\n- Area: Bash Tool\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}