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.309,
ImprovementsSection of the release
Unclear It is not clear what condition switches the new assignment check off.
What
Before Claude runs a shell command through its Bash tool, Claude Code reads the command to decide whether it can judge it safely on its own. If a command is too complex to judge, Claude Code asks you for permission instead. This release changes that check in two ways:
[[ ]] test commands are no longer marked too complex just because they contain an empty token. Before, they were rejected with the message "Test command has a synthesized zero-width token".
A command that assigns a variable and also contains an expansion that can fail when it runs is now marked too complex. An expansion is a part such as $VAR or $(command) that the shell fills in at run time. Claude Code cannot tell in advance whether the assignment will still hold for later commands.
This new assignment check does not apply in every case. One internal condition turns it off.
Why
These changes decide which Bash commands Claude Code can judge by itself and which ones bring up a permission prompt. Some [[ ]] tests may now run without asking you. Some commands that assign variables may now ask you first.
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 doubtIt is not clear what condition switches the new assignment check off.