Follow Discord
Sweep 03 Nov 2026 · 22:27Z Build v2.1.318 536 read Stable v2.1.311 Latest v2.1.318 Next v2.1.318 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.317 ·

Claude Code refuses commands on a bash too old to run them and points to CLAUDE_CODE_SHELL

When the shell's bash is too old to run a command reliably, Claude Code refuses it and suggests setting CLAUDE_CODE_SHELL to zsh or a newer bash

You'll notice Improvements
JSON All of v2.1.317
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.

Read from
Names in the bundleCLAUDE_CODE_SHELL
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhich bash versions trigger the refusal, and whether it is switched on for everyone, is not stated.

See this entry in the whole of v2.1.317 →

Feedback