{"version":"2.1.315","anchor":"bash-checks-control-character-paths-and-integer-typed-shell","canonical_anchor":"bash-checks-control-character-paths-and-integer-typed-shell","heading":"Two new safety checks on shell commands, with their own explanations","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315\/e\/bash-checks-control-character-paths-and-integer-typed-shell","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315","markdown":"### Two new safety checks on shell commands, with their own explanations\n\nShell commands can now be refused for paths with tabs or line breaks, or for declaring special shell variables as integers\n\n**What**\n\nBefore running a shell command, Claude Code checks it for risky patterns. There are two new reasons it can refuse, each with its own message:\n\n- a path holds a control character, such as a tab or a line break\n\n- a command declares as an integer a special variable that bash or zsh sets by itself. Declaring it that way lets the shell treat stored values as arithmetic and evaluate them, so the message tells you to use another variable name\n\n**Why**\n\nThese checks can now stop commands that were allowed before. If one is refused, the message says which pattern caused it.\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"}