Follow Discord
Sweep 30 Oct 2026 · 21:36Z Build v2.1.315 533 read Stable v2.1.308 Latest v2.1.314 Next v2.1.315 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.315 ·

Bash safety checker tightens relative-path checks, reads heredocs in substitutions and flags zsh histchars

The Bash safety check now follows variables in relative-path checks, reads heredocs inside substitutions and flags commands naming zsh histchars

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

What

Before Claude Code runs a shell command without asking you, a safety checker reads the command to decide whether it can be approved automatically. Several parts of that checker changed:

  • Relative-path checks now also catch values that start with a tracked variable. They also catch values that contain a relative path after a leading substitution. A relative path is one that depends on the folder you are in, and a substitution is a $(...) part whose output is pasted into the command. This affects the checks on rc files, xargs, env, vim and Java class paths.
  • A new parser option, relativeNamedValues, controls this variable tracking. Setting it to false makes the checker ignore it.
  • A new parser option, substitutionHeredocs, is passed down to the parsers that read nested substitutions. A heredoc is a block of text fed into a command inline. The option is on by default.
  • Commands that name zsh's histchars are now flagged with the reason "it names zsh's histchars, which can make zsh run lines that look like comments".

Why

Fewer commands of these kinds pass the automatic check. Some Bash commands that used to run without asking may now show a permission prompt or be refused, including commands that set zsh histchars.

See this entry in the whole of v2.1.315 →

Feedback