Bash cd checks now scan command substitutions inside unparsed subshells for risky commands like rm
When Claude Code can't fully analyze a bash subshell (an 'unparsed command substitution') that also contains a cd, it now separately scans the command and process substitutions inside it, looking for risky commands such as rm or rmdir hidden within them. If there are more than 64 such substitutions to check, Claude Code now denies the command outright with the message 'too many command substitutions to analyze', rather than trying to analyze all of them.
This closes a gap where a destructive command like rm could be tucked inside a subshell that changes directory, and it makes Claude Code refuse rather than guess when there's too much nested substitution to safely check.