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
What
Before running a shell command, Claude Code reads the command to decide whether it is safe to run without asking you. When a declaration such as export or declare sets a variable from an expansion that can fail while the command runs, that command is now treated as too complex to judge in advance. An expansion here is a part like ${...} or a command substitution that the shell fills in at run time. If it fails, the declaration assigns nothing, so Claude Code cannot know beforehand what the value will be.
The same checker also does more checking when the command cannot be parsed and when it handles ${...}. Some commands that used to be judged as simple will now ask for your approval.
Why
You may see more permission prompts for compound commands that use export or declare.