{"version":"2.1.309","anchor":"zsh-inside-flagged-too-complex","canonical_anchor":"zsh-inside-flagged-too-complex","heading":"Commands with !( inside [[ ]] now ask for permission","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/zsh-inside-flagged-too-complex","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Commands with `!(` inside `[[ ]]` now ask for permission\n\nClaude Code now treats `!(` inside a `[[ ]]` test as too complex to judge, so such commands are no longer approved automatically\n\n**What**\n\nBefore running a shell command, Claude Code reads it to decide whether it is simple enough to judge safe automatically. It now treats `!` directly followed by `(` inside a `[[ ]]` test (the shell's condition syntax) as too complex. The reason it gives is that zsh reads `!(` in `[[ ]]` as part of a word.\n\nCommands containing this are no longer treated as simple.\n\n**Why**\n\nzsh reads this pattern differently from how Claude Code read it, so a command could mean something other than what was checked. Such commands should now prompt you for permission.\n\n- Area: Bash Safety\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}