{"version":"2.1.290","anchor":"heredocpipeline-and-redirect-parsing-in-the-bash-static-ana","canonical_anchor":"heredocpipeline-and-redirect-parsing-in-the-bash-static-ana","heading":"Bash permission checks handle heredocs, fd redirects and export prefixes differently","tier":"notice","area":"Permissions","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/heredocpipeline-and-redirect-parsing-in-the-bash-static-ana","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Bash permission checks handle heredocs, fd redirects and export prefixes differently\n\nClaude Code's Bash command checker now treats text after a heredoc, `{fd}>` redirects and variables set before export differently\n\n**Unclear.** Exactly which commands are newly approved or newly sent to a prompt is not settled.\n\n**What**\n\nBefore Claude Code runs a shell command through its Bash tool (the tool Claude uses to run terminal commands), it reads the command to decide whether it can be approved automatically or whether you should be asked first. When a command is too complicated to read with confidence, Claude Code asks you instead of approving it. That reading has changed in these cases:\n\n- Text after a heredoc on the same line: a heredoc is a block of text fed into a command, started with something like `<<EOF`. Previously any extra text after its start marker made the command count as too complex. Now a plain pipeline of commands there is accepted, and anything else is still treated as too complex.\n\n- Redirects that store a file descriptor in a variable, such as `{fd}>`, are now refused by the checker.\n\n- A variable set in front of `export` or `readonly` gets new handling, and Claude Code says it can't check that variable before the command runs.\n\n**Why**\n\nThis decides which compound shell commands Claude Code approves on its own and which ones it stops to ask you about, so some commands you used to be asked about may now go through, and others may now prompt you.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}