{"version":"2.1.317","anchor":"bash-tool-gains-a-refuse-before-run-check-behind-a-new-gate","canonical_anchor":"bash-tool-gains-a-refuse-before-run-check-behind-a-new-gate","heading":"Bash commands can be refused before they run, behind a new switch","tier":"notice","area":"Bash","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/bash-tool-gains-a-refuse-before-run-check-behind-a-new-gate","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### Bash commands can be refused before they run, behind a new switch\n\nBehind a new remote switch, Claude Code can check a shell command, refuse it before bash runs, and stop on old bash versions\n\n**Unclear.** It is not clear whether the switch counts as on or off when the server sends no value.\n\n**What**\n\nBehind a new remote switch, Claude Code checks a shell command before handing it to bash (the program that runs terminal commands). When that switch is on:\n\n- if the check finds a reason to refuse, the command is refused before bash runs it\n\n- a guard line is added that prints a message and stops with exit code 126, meaning the command could not run, on bash versions 2 and 3, and in some cases 4\n\nSeparately, Claude Code adds extra wrapper code for bash around commands that take trailing input.\n\n**Why**\n\nThis adds a way to stop a shell command before it executes and to refuse old bash versions. It does nothing unless the switch is on.\n\n- Area: Bash\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}