{"version":"2.1.274","anchor":"bash-parameter-expansion-safety-checks-tightened-gated-by-t","canonical_anchor":"bash-parameter-expansion-safety-checks-tightened-gated-by-t","heading":"Bash parameter-expansion safety checks tightened, gated by tengu_shimmying_mochi","tier":"notice","area":"Bash Safety","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274\/e\/bash-parameter-expansion-safety-checks-tightened-gated-by-t","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274","markdown":"### Bash parameter-expansion safety checks tightened, gated by tengu_shimmying_mochi\n\nClaude Code's bash-safety checker now rejects more risky variable-expansion patterns\n\n**What**\n\nThe analyzer that judges whether a shell command's variable expansions are safe or need extra scrutiny now refuses two more patterns: `${!...}` forms used for name-listing or positional parameters, and `${ |...}` patterns. It also added a stricter \"canonical form\" check, requiring that the parsed pieces of an expansion reconstruct the original text exactly before it's treated as safe.\n\n**Why**\n\nThis tightens the safety checks Claude Code runs on bash commands before executing them, catching more shell syntax that could behave unexpectedly.\n\n- Flag `tengu_shimmying_mochi`: Not enough to say (read for one account on one subscription tier against v2.1.274; this account: no value returned, anonymous baseline: no value returned, compiled default: on) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Bash Safety\n- Names: `tengu_shimmying_mochi`\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5"}