Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.309 ·

Some export and declare shell commands now ask for approval

Shell declarations whose value comes from an expansion that can fail at runtime are now treated as too complex and need your approval

You'll notice Improvements
JSON All of v2.1.309
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.

See this entry in the whole of v2.1.309 →

Feedback