Skip to content

Safe Commands

Crush maintains a list of commands that are considered safe to run without permission prompts in YOLO mode. These are read-only or low-risk operations that don't modify your system or data.

Allowed Commands

The safe commands list is maintained in the Crush source code:

github.com/charmbracelet/crush:internal/agent/tools/safe.go

Bash builtins and core utils

  • cal, date, df, du, echo, env, free, groups, hostname, id
  • kill, killall, ls, nice, nohup, printenv, ps, pwd, set
  • time, timeout, top, type, uname, unset, uptime, whatis
  • whereis, which, whoami

Git (read-only)

  • git blame, git branch, git config --get, git config --list
  • git describe, git diff, git grep, git log, git ls-files
  • git ls-remote, git remote, git rev-parse, git shortlog
  • git show, git status, git tag

Windows-only

On Windows, the following additional commands are allowed:

  • ipconfig, nslookup, ping, systeminfo, tasklist, where

Command Chaining

Commands that contain shell metacharacters enabling command chaining or substitution (;, |, &&, $(, `) are always blocked in YOLO mode, regardless of whether the base command is on the safe list.