Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.311 ·

Bash permission analysis is stricter about read and same-command variables

Shell command safety checks now validate read arguments and treat redirects that read variables set in the same command as too complex

Group of 3 You'll notice Improvements
JSON All of v2.1.311
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.311,
ImprovementsSection of the release

Unclear The condition that decides whether these new read checks run is not known.

What

Before Claude Code runs a shell command without asking you, it reads the command and decides whether it is safe. This analysis is stricter in several places:

  • A redirect is the > or < part of a command that writes output to a file or reads input from one. A redirect that may read a variable set in the same command is now treated as too complex, because shells can differ on which value it gets.
  • Loops in the analysis are now bounded.
  • read is a built-in shell command that reads input into variables. Its arguments are now checked, including the -a array name and flag values, and any of these checks can stop the analysis early. Before, its flags were skipped and only the variable names were collected. This happens in the same path-checking function that already handled other built-in commands.
  • A new check handles read first. When it applies, the older handling that assigns the default REPLY variable is skipped.
  • There is a new zsh read check for cases where zsh behaves differently from bash.

Why

Some compound commands, and commands that use read, may now ask for permission where they used to run automatically.

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 doubtThe condition that decides whether these new `read` checks run is not known.

See this entry in the whole of v2.1.311 →

Feedback