Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.319 ·

Bash parser adds zsh arithmetic guard and tracks variable assignments

The parser behind Bash permission checks now guards zsh arithmetic, tracks variable assignments, and compaction gains a hand-over-at-stop step

Group of 2 You'll notice Improvements
JSON All of v2.1.319
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.319,
ImprovementsSection of the release

Unclear It is not stated whether these changes make any shell commands ask for permission more or less often.

What

Before Claude Code runs a shell command, it parses the command (breaks it into its parts) to decide whether it is safe or needs your permission. That parser changes in this release:

  • zshMathGuard: when it is set, the parser handles # followed by $, and flags a (( sequence as zshMathDiff. This is about zsh arithmetic, which zsh can read differently from bash.
  • Variable assignments: the parser now collects nested variable_assignment parts of a command into an assignments list.
  • for loops: the parser tracks the head of a for loop. What happens when parsing fails for $(( )) and for (( )) also changes.

Separately, compaction (summarizing a conversation to free up space) gains handOverAtStop when keepThroughStop is set.

Why

These parts feed the Bash permission check, so commands that use zsh arithmetic or variable assignments may be judged differently than before.

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 stated whether these changes make any shell commands ask for permission more or less often.

See this entry in the whole of v2.1.319 →

Feedback