Follow Discord
Sweep 27 Oct 2026 · 19:04Z Build v2.1.312 531 read Stable v2.1.308 Latest v2.1.312 Next v2.1.312 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

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.

See this entry in the whole of v2.1.311 →

Feedback