{"name":"tengu_bash_dangerous_rm_too_complex","slug":"tengu-bash-dangerous-rm-too-complex","family":"flag","title":"Feature flags","noun":"feature flag","description":"The dangerous-rm safety check for bash commands can now be extended with an extra custom check","description_source":"entry","described_by":{"version":"2.1.273","anchor":"dangerous-rm-check-gains-a-pluggable-extra-deny-hook"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.319","builds":0,"mined_builds":159,"first_cited":{"version":"2.1.277","released_at":"2026-09-18 16:22:26","spans":1}},"aliases":[],"entries":[{"version":"2.1.281","anchor":"bash-rm-check-now-flags-rm-targets-built-from-variables-that","heading":"Bash rm check now flags rm targets built from variables that may be empty (tengu_bright_lake, falls back to on)","line":"The Bash `rm` check now follows shell variables and asks for approval when an empty one could make a path reach `\/`","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text"},{"version":"2.1.277","anchor":"write-tools-dangerous-rm-on-unset-variable-check-refactored","heading":"Write tool's dangerous-rm-on-unset-variable check refactored, message likely unchanged","line":"Internal cleanup of the dangerous rm-with-unset-variable safety check, no visible behavior change","released_at":"2026-09-18 16:22:26","reason":"found in this entry's text"},{"version":"2.1.273","anchor":"dangerous-rm-check-gains-a-pluggable-extra-deny-hook","heading":"Dangerous-rm check gains a pluggable extra-deny hook","line":"The dangerous-rm safety check for bash commands can now be extended with an extra custom check","released_at":"2026-09-15 18:06:34","reason":"gate cited by this entry"}],"entries_total":3,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"tengu_bash_allowlist_strip_all","slug":"tengu-bash-allowlist-strip-all","description":"Default `false`. Its value is recorded as `stripAllBashFlag` on the `tengu_auto_mode_decision` telemetry event sent when the auto mode classifier reviews a tool call; the fast-path and subagent-handoff decision events do not carry it, and no other code reads the flag in this version."},{"name":"tengu_bash_ast_too_complex","slug":"tengu-bash-ast-too-complex","description":"Bash's 'too complex to check' read-block guard now applies via a general table covering more refusal reasons, not just one hardcoded case"},{"name":"tengu_bash_command_clamp_denied","slug":"tengu-bash-command-clamp-denied","description":"If a clamped agent's permission check crashes, the shell command is denied rather than allowed."},{"name":"tengu_bash_security_check_triggered","slug":"tengu-bash-security-check-triggered","description":null},{"name":"tengu_bash_task_ack","slug":"tengu-bash-task-ack","description":"Backgrounded shell commands may return a structured task record instead of raw output."},{"name":"tengu_bash_task_delivered","slug":"tengu-bash-task-delivered","description":"Finished background tasks now report whether their output was spliced back in or lost."},{"name":"tengu_bash_tool_command_executed","slug":"tengu-bash-tool-command-executed","description":"Bash\/PowerShell telemetry and sandbox checks now track whether the user typed the command directly."},{"name":"tengu_bash_tool_command_failed","slug":"tengu-bash-tool-command-failed","description":"Bash tool telemetry now records a detailed breakdown of each command's shape"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/flag\/tengu-bash-dangerous-rm-too-complex","family_url":"https:\/\/changelogs.core-directive.com\/reference\/flag.json"}