{"version":"2.1.319","anchor":"timeout-wrapped-commands-can-be-auto-allowed-in-the-bash-rea","canonical_anchor":"timeout-wrapped-commands-can-be-auto-allowed-in-the-bash-rea","heading":"Bash read-only check now accepts timeout-wrapped commands and which","tier":"notice","area":"Bash Safety","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/timeout-wrapped-commands-can-be-auto-allowed-in-the-bash-rea","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### Bash read-only check now accepts timeout-wrapped commands and which\n\nCommands wrapped in timeout, and the which command with known flags, can now pass the Bash read-only check without a permission prompt\n\n**Unclear.** It is not clear what condition turns the unwrapping on, so whether it is active by default.\n\n**What**\n\nClaude Code runs a read-only check on shell commands. A command that passes is treated as safe and can run without asking for your permission. This release lets more commands pass that check:\n\n- `timeout <N>[smhd]` wrappers: a leading wrapper such as `timeout 10` is stripped off, and the command inside it is checked instead. The unwrapping runs only when an internal check (`F6e()`) passes. It is not done for `[[`, `alias`, `cd`, `help`, `history` or `type`. If stripping the wrapper changes the first word of the command, the command is rejected.\n\n- `which`: now counts as a safe read-only command when it uses only the allowed flags `-a`, `-s`, `--all`, `--skip-dot`, `--version` and `--help`. Any other flag, or an argument the check marks as dangerous, makes it fail. Before, `which` was not on the safe list at all.\n\n**Why**\n\nCommands such as `timeout 10 ls` or `which python` may stop asking for permission. Anything outside these narrow rules still goes through the normal permission prompt.\n\n- Area: Bash Safety\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}