You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
BashArea: what it touches
ImprovementsKind: in v2.1.317,
ImprovementsSection of the release
Unclear Which bash versions trigger the refusal, and whether it is switched on for everyone, is not stated.
What
Claude Code can now decline to run a command because the shell, the program that runs commands, is a version of bash that is too old to run it reliably. When that happens, Claude is told to rewrite the command more simply, without backticks or arrays.
You can avoid this by setting the environment variable CLAUDE_CODE_SHELL to the path of zsh or of a newer bash, then restarting Claude Code.
Why
On machines with an old bash, such as the bash 3.2 that comes with macOS, a command that would have failed in a confusing way is now refused with a clear reason and a fix.