{"version":"2.1.271","anchor":"shell-command-safety-check-expanded-for-declaretypesetloca","canonical_anchor":"shell-command-safety-check-expanded-for-declaretypesetloca","heading":"Shell safety check widened for declare\/typeset\/local flags","tier":"notice","area":"Bash Permissions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271\/e\/shell-command-safety-check-expanded-for-declaretypesetloca","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271","markdown":"### Shell safety check widened for declare\/typeset\/local flags\n\nBash\/zsh permission checks now catch more declare\/typeset\/local flag combinations that can silently change variable behavior\n\n**What**\n\n- The bash\/zsh command-injection-safety analyzer now flags `declare`, `typeset`, and `local` when used with flags for nameref, integer, float, array, width-truncation, or case-conversion behavior as \"too-complex\", and also broadens `export`\/`readonly` flag detection to include more flags beyond the previous set.\n\n- The zsh `typeset`\/`declare` permission check that blocks silent auto-approval when eval-changing flags are present now also catches width-truncation\/case-conversion flags and the `-l`\/`-u` flags, not just the previous set, and applies the check per-argument instead of only to the first flag group.\n\n**Why**\n\nThese flags can change how a variable is interpreted or displayed, so catching more of them closes gaps where a command could silently auto-approve when it shouldn't.\n\n- Area: Bash Permissions\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}