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.
readis a built-in shell command that reads input into variables. Its arguments are now checked, including the-aarray 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
readfirst. When it applies, the older handling that assigns the defaultREPLYvariable is skipped. - There is a new zsh
readcheck 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.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The condition that decides whether these new `read` checks run is not known.