{"version":"2.1.318","anchor":"command-parser-fast-path-and-too-complex-check-changed","canonical_anchor":"command-parser-fast-path-and-too-complex-check-changed","heading":"Changes to how shell commands are checked before running","tier":"internal","area":"Bash Tool","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.318\/e\/command-parser-fast-path-and-too-complex-check-changed","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.318","markdown":"### Changes to how shell commands are checked before running\n\nClaude Code's shell command check skips its quick cached path in more cases and decides \"too complex\" commands with a single shared check\n\n**Unclear.** It is not clear whether the set of commands that trigger a permission prompt actually changes.\n\n**What**\n\nBefore running a shell command, Claude Code breaks it down to decide whether it needs to ask your permission. Two parts of that changed:\n\n- The quick path that reuses an earlier result for a command is now skipped under either of two conditions, where before only one condition skipped it.\n\n- The decision that a command is \"too complex\" to judge now comes from one shared check. Before, it was an inline test that, among other things, required the command to contain a `(`.\n\n**Why**\n\nThe \"too complex\" decision feeds into whether a command needs a permission prompt, so which commands prompt you could shift.\n\n- Area: Bash Tool\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}