You'll noticeTier: how much it should matter to you
1Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
Bash SafetyArea: what it touches
ImprovementsKind: in v2.1.315,
ImprovementsSection of the release
What
Before running a shell command, Claude Code checks it for risky patterns. There are two new reasons it can refuse, each with its own message:
a path holds a control character, such as a tab or a line break
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
Why
These checks can now stop commands that were allowed before. If one is refused, the message says which pattern caused it.