Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

System Commands gate

priority 40 unknown block covers databases · build tools · sudo · systemctl · OS package managers · crypto heavy block floor
275 allow 186 ask 36 block

OS-level operations: power, disk, kernel modules, firewall, users, plus database clients and crypto. This gate owns the largest block floor of any gate (30+ patterns). See the Security floor for the full block list.

Showing all 497 rules.

Blocked · destructive OS operations

rules/system.toml#block 36 patterns
chattr
Block
File attribute change blocked: agent has no authority to change extended file attributes. Misconfigured attributes can render files unmodifiable. Ask the user to run chattr themselves.
chsh
Block
Shell change blocked: agent has no authority to change a user's login shell. Ask the user to run chsh themselves.
dd
Block
Low-level disk operation blocked: agent has no authority to run raw block-device writes. The wrong destination overwrites a disk without warning. Ask the user to run dd themselves.
fdisk
Block
Disk partitioning blocked: agent has no authority to repartition disks. Mistakes here destroy data permanently. Ask the user to run partitioning themselves.
firewall-cmd
Block
Firewall modification blocked: agent has no authority to modify firewall rules. Misconfigured rules can lock the user out of the system. Ask the user to run this themselves.
gdisk
Block
Disk partitioning blocked: agent has no authority to repartition disks. Mistakes here destroy data permanently. Ask the user to run partitioning themselves.
grub-install
Block
Bootloader modification blocked: agent has no authority to modify the bootloader. A bad bootloader leaves the system unbootable. Ask the user to run this themselves.
halt
Block
System power command blocked: agent has no authority to shut down or reboot the machine. If genuinely needed, ask the user to run this themselves.
hdparm
Block
Disk parameters blocked: agent has no authority to change disk-firmware parameters. Wrong values can brick drives. Ask the user to run hdparm themselves.
init
Block
System power command blocked: agent has no authority to shut down or reboot the machine. If genuinely needed, ask the user to run this themselves.
insmod
Block
Kernel module loading blocked: agent has no authority to load kernel modules. Module changes affect the entire running kernel. Ask the user to run this themselves.
iptables
Block
Firewall modification blocked: agent has no authority to modify firewall rules. Misconfigured rules can lock the user out of the system. Ask the user to run this themselves.
lvremove
Block
LVM management blocked: agent has no authority to remove physical volumes, volume groups, or logical volumes. Removal is irreversible and can destroy mounted filesystems on top of the LVM stack. Ask the user to run this themselves.
mke2fs
Block
Filesystem creation blocked: agent has no authority to format filesystems. The wrong target erases data permanently. Ask the user to run mke2fs themselves.
mkfs
Block
Disk partitioning blocked: agent has no authority to repartition disks. Mistakes here destroy data permanently. Ask the user to run partitioning themselves.
mkswap
Block
Swap creation blocked: agent has no authority to create swap areas on devices. The wrong target overwrites a device. Ask the user to run mkswap themselves.
modprobe
Block
Kernel module loading blocked: agent has no authority to load kernel modules. Module changes affect the entire running kernel. Ask the user to run this themselves.
parted
Block
Disk partitioning blocked: agent has no authority to repartition disks. Mistakes here destroy data permanently. Ask the user to run partitioning themselves.
passwd
Block
Password change blocked: agent has no authority to change account passwords. Ask the user to run passwd themselves.
poweroff
Block
System power command blocked: agent has no authority to shut down or reboot the machine. If genuinely needed, ask the user to run this themselves.
pvremove
Block
LVM management blocked: agent has no authority to remove physical volumes, volume groups, or logical volumes. Removal is irreversible and can destroy mounted filesystems on top of the LVM stack. Ask the user to run this themselves.
reboot
Block
System power command blocked: agent has no authority to shut down or reboot the machine. If genuinely needed, ask the user to run this themselves.
rmmod
Block
Kernel module removal blocked: agent has no authority to unload kernel modules. Removal can destabilize the running kernel. Ask the user to run this themselves.
shred
Block
Secure delete blocked: agent has no authority to wipe files irreversibly. Ask the user to run shred themselves.
shutdown
Block
System power command blocked: agent has no authority to shut down or reboot the machine. If genuinely needed, ask the user to run this themselves.
swapoff
Block
Swap management blocked: agent has no authority to enable or disable swap. Changes affect virtual memory behavior system-wide and can trigger OOM kills if swap is removed under load. Ask the user to run this themselves.
swapon
Block
Swap management blocked: agent has no authority to enable or disable swap. Changes affect virtual memory behavior system-wide and can trigger OOM kills if swap is removed under load. Ask the user to run this themselves.
ufw
Block
Firewall modification blocked: agent has no authority to modify firewall rules. Misconfigured rules can lock the user out of the system. Ask the user to run this themselves.
umount
Block
Unmounting blocked: agent has no authority to unmount filesystems. Could disrupt running processes or system services depending on what's mounted. Ask the user to run umount themselves.
update-grub
Block
Bootloader modification blocked: agent has no authority to modify the bootloader. A bad bootloader leaves the system unbootable. Ask the user to run this themselves.
useradd
Block
User management blocked: agent has no authority to create, delete, or modify user accounts. Account changes affect login and file ownership system-wide. Ask the user to run this themselves.
userdel
Block
User management blocked: agent has no authority to create, delete, or modify user accounts. Account changes affect login and file ownership system-wide. Ask the user to run this themselves.
usermod
Block
User management blocked: agent has no authority to create, delete, or modify user accounts. Account changes affect login and file ownership system-wide. Ask the user to run this themselves.
vgremove
Block
LVM management blocked: agent has no authority to remove physical volumes, volume groups, or logical volumes. Removal is irreversible and can destroy mounted filesystems on top of the LVM stack. Ask the user to run this themselves.
wipe
Block
Secure wipe blocked: agent has no authority to wipe devices irreversibly. Ask the user to run wipe themselves.
wipefs
Block
Filesystem wipe blocked: agent has no authority to wipe filesystem signatures. The wrong target destroys the partition table. Ask the user to run wipefs themselves.

Allowed · inspection

rules/system.toml#allow 275 patterns
age --version
Allow
Prints the age version string. Read-only; encrypts or decrypts nothing.
alembic history
Allow
Lists the Alembic migration history. Read-only; runs no migrations.
alembic current
Allow
Shows the current Alembic revision recorded in the database. Read-only.
alembic heads
Allow
Shows the head revision(s) of the Alembic migration tree. Read-only.
alembic branches
Allow
Shows branch points in the Alembic migration tree. Read-only.
alembic show
Allow
Displays details of a specific Alembic revision. Read-only; applies nothing.
ansible --version
Allow
Prints the Ansible version and config paths. Read-only; runs no play.
ansible --help
Allow
Prints Ansible help text. Read-only; runs no play.
ansible --list-hosts
Allow
Lists the hosts a playbook would target. Read-only; runs no task.
ansible --list-tasks
Allow
Lists the tasks a playbook would run. Read-only; runs no task.
ansible --syntax-check
Allow
Parses a playbook to check its syntax. Read-only; runs no task.
apk info
Allow
Prints apk package details. Read-only; installs or removes nothing.
apk list
Allow
Lists packages known to apk. Read-only; installs or removes nothing.
apk dot
Allow
Emits an apk package dependency graph in dot format. Read-only.
apk policy
Allow
Prints apk install candidates and version priorities. Read-only.
apk stats
Allow
Prints apk package cache statistics. Read-only.
apk audit
Allow
Reports apk packages with known security advisories. Read-only.
apk --version
Allow
Prints the apk version. Read-only.
apk -V
Allow
Prints the apk version. Read-only.
apk --help
Allow
Prints apk help text. Read-only.
apk -h
Allow
Prints apk help text. Read-only.
apt list
Allow
Lists packages known to apt. Read-only; installs or removes nothing.
apt show
Allow
Prints apt package details. Read-only; installs or removes nothing.
apt showpkg
Allow
Prints low-level apt package records. Read-only.
apt depends
Allow
Prints an apt package's dependencies. Read-only.
apt rdepends
Allow
Prints packages that depend on an apt package. Read-only.
apt policy
Allow
Prints apt install candidates and version priorities. Read-only.
apt madison
Allow
Prints available apt package versions and their sources. Read-only.
apt pkgnames
Allow
Lists apt package names matching a prefix. Read-only.
apt dotty
Allow
Emits an apt package dependency graph in dot format. Read-only.
apt xvcg
Allow
Emits an apt package dependency graph in xvcg format. Read-only.
apt stats
Allow
Prints apt package cache statistics. Read-only.
apt dump
Allow
Dumps the full apt package cache. Read-only.
apt dumpavail
Allow
Dumps the apt available-packages list. Read-only.
apt showsrc
Allow
Prints apt source-package records. Read-only.
apt changelog
Allow
Prints an apt package's changelog. Read-only.
apt --version
Allow
Prints the apt version. Read-only.
apt -v
Allow
Prints the apt version. Read-only.
apt --help
Allow
Prints apt help text. Read-only.
apt -h
Allow
Prints apt help text. Read-only.
apt-cache (all subcommands)
Allow
Queries the APT package cache (search, show, policy). Read-only.
apt-mark showmanual
Allow
Lists packages apt has marked as manually installed. Read-only.
apt-mark showauto
Allow
Lists packages apt has marked as automatically installed. Read-only.
apt-mark showhold
Allow
Lists packages apt is holding at their current version. Read-only.
apt-mark showinstall
Allow
Lists packages marked for installation. Read-only.
apt-mark showremove
Allow
Lists packages marked for removal. Read-only.
apt-mark showpurge
Allow
Lists packages marked for purge. Read-only.
apt-mark --help
Allow
Prints apt-mark help text. Read-only.
bazel info
Allow
Prints Bazel workspace and configuration info. Read-only; builds nothing.
bazel query
Allow
Queries the Bazel target graph. Read-only; builds nothing.
bazel cquery
Allow
Queries the Bazel configured-target graph. Read-only; builds nothing.
bazel aquery
Allow
Queries the Bazel action graph. Read-only; builds nothing.
bazel build
Allow
Builds the requested Bazel targets. Produces build outputs; runs no target.
bazel test
Allow
Builds and runs the requested Bazel test targets.
bazel coverage
Allow
Builds and runs Bazel test targets while collecting coverage data.
bazel version
Allow
Prints the Bazel version. Read-only; builds nothing.
bazel help
Allow
Prints Bazel help text. Read-only; builds nothing.
brew list
Allow
Lists packages known to Homebrew. Read-only; installs or removes nothing.
brew ls
Allow
Lists packages or repositories known to Homebrew. Read-only.
brew info
Allow
Prints Homebrew package details. Read-only; installs or removes nothing.
brew home
Allow
Opens or prints a Homebrew package's homepage URL. Read-only.
brew homepage
Allow
Opens or prints a Homebrew package's homepage URL. Read-only.
brew deps
Allow
Lists a Homebrew package's dependencies. Read-only.
brew uses
Allow
Lists Homebrew packages that depend on a given formula. Read-only.
brew leaves
Allow
Lists Homebrew packages installed on their own, not as dependencies. Read-only.
brew outdated
Allow
Lists installed Homebrew packages with newer versions available. Read-only.
brew config
Allow
Prints the Homebrew configuration. Read-only.
brew doctor
Allow
Runs Homebrew self-diagnostic checks and reports issues. Read-only.
brew commands
Allow
Lists available Homebrew commands. Read-only.
brew desc
Allow
Prints a Homebrew package description. Read-only.
brew --version
Allow
Prints the Homebrew version. Read-only.
brew -v
Allow
Prints the Homebrew version. Read-only.
brew --help
Allow
Prints Homebrew help text. Read-only.
brew -h
Allow
Prints Homebrew help text. Read-only.
brew cat
Allow
Prints the source of a Homebrew package definition. Read-only.
brew formula
Allow
Prints Homebrew formula information. Read-only.
brew cask
Allow
Prints Homebrew cask information. Read-only.
cmake --version
Allow
Prints the CMake version. Read-only; configures or builds nothing.
cmake --help
Allow
Prints CMake help text. Read-only; configures or builds nothing.
crontab -l
Allow
Lists the current user's scheduled cron jobs. Read-only; does not change the crontab.
dnf list
Allow
Lists packages known to dnf. Read-only; installs or removes nothing.
dnf info
Allow
Prints dnf package details. Read-only; installs or removes nothing.
dnf provides
Allow
Reports which dnf package provides a given capability or file. Read-only.
dnf whatprovides
Allow
Reports which dnf package provides a given capability or file. Read-only.
dnf repolist
Allow
Lists configured dnf repositories. Read-only.
dnf repoinfo
Allow
Prints details of configured dnf repositories. Read-only.
dnf repoquery
Allow
Queries dnf repository metadata for packages. Read-only.
dnf deplist
Allow
Prints a dnf package's dependency list. Read-only.
dnf check
Allow
Checks the dnf package database for problems. Read-only.
dnf check-update
Allow
Checks for available dnf package updates without installing them. Read-only.
dnf history
Allow
Prints the dnf transaction history. Read-only.
dnf alias
Allow
Lists or prints configured dnf command aliases. Read-only.
dnf --version
Allow
Prints the dnf version. Read-only.
dnf -v
Allow
Prints the dnf version. Read-only.
dnf --help
Allow
Prints dnf help text. Read-only.
dnf -h
Allow
Prints dnf help text. Read-only.
dpkg -l --list -L --listfiles -S --search -s --status -p --print-avail
Allow
Queries the dpkg database (list, list files, search, status, or print package info). Read-only.
dpkg --get-selections --print-architecture --print-foreign-architectures
Allow
Prints dpkg selections or the configured architectures. Read-only.
dpkg --audit -C --yet-to-unpack --compare-versions --verify -V
Allow
Audits or verifies dpkg package state, or compares versions. Read-only; changes no package.
dpkg --version --help -?
Allow
Prints the dpkg version or help text. Read-only.
flatpak list
Allow
Lists installed Flatpak applications and runtimes. Read-only.
flatpak info
Allow
Prints details of an installed Flatpak application. Read-only.
flatpak remote-ls
Allow
Lists applications available from a Flatpak remote. Read-only.
flatpak remotes
Allow
Lists configured Flatpak remotes. Read-only.
flatpak history
Allow
Prints the Flatpak installation history. Read-only.
flatpak --version
Allow
Prints the Flatpak version. Read-only.
flatpak --help
Allow
Prints Flatpak help text. Read-only.
gpg --list-keys -k --list-secret-keys -K
Allow
Lists keys in the local GPG keyring. Read-only; the keyring is not modified.
gpg --fingerprint
Allow
Prints key fingerprints from the local GPG keyring. Read-only.
gpg --verify
Allow
Verifies a GPG signature against a message. Read-only; imports nothing.
gpg --list-packets
Allow
Dumps the low-level packet structure of GPG input. Read-only.
gpg --version
Allow
Prints the GPG version and supported algorithms. Read-only.
gpg --help -h
Allow
Prints GPG help text. Read-only.
gradle tasks
Allow
Lists the available Gradle tasks for the project. Read-only; runs no task.
gradle help
Allow
Prints Gradle help for the project or a task. Read-only; runs no task.
gradle dependencies
Allow
Prints the project's resolved Gradle dependency tree. Read-only.
gradle properties
Allow
Prints the project's Gradle properties. Read-only; changes nothing.
gradle build
Allow
Runs the Gradle build task. Compiles, tests, and assembles project outputs.
gradle test
Allow
Runs the Gradle test task. Executes the project's test suite.
gradle check
Allow
Runs the Gradle check task. Runs verification tasks such as tests and linters.
gradle clean
Allow
Runs the Gradle clean task. Deletes the project's build directory.
hyperfine --version
Allow
Prints the hyperfine version. Read-only; runs no benchmark.
hyperfine --help
Allow
Prints hyperfine help text. Read-only; runs no benchmark.
just --list
Allow
Lists the recipes defined in the justfile. Read-only; runs no recipe.
just --summary
Allow
Prints a one-line summary of justfile recipe names. Read-only; runs no recipe.
just --dump
Allow
Dumps the parsed justfile back out. Read-only; runs no recipe.
just --evaluate
Allow
Evaluates and prints justfile variables. Read-only; runs no recipe.
kill -0
Allow
Checks whether a PID exists without sending a signal. Read-only probe; the process is not affected.
make test
Allow
Runs the project's test make target. Conventionally runs the test suite.
make tests
Allow
Runs the project's tests make target. Conventionally runs the test suite.
make check
Allow
Runs the project's check make target. Conventionally runs tests or lint checks.
make lint
Allow
Runs the project's lint make target. Conventionally runs linters over the source.
make build
Allow
Runs the project's build make target. Compiles or assembles build outputs.
make all
Allow
Runs the project's default all make target. Builds the standard set of outputs.
make clean
Allow
Runs the project's clean make target. Removes build artifacts in the working tree.
make format
Allow
Runs the project's format make target. Reformats source files in place.
make fmt
Allow
Runs the project's fmt make target. Reformats source files in place.
make typecheck
Allow
Runs the project's typecheck make target. Conventionally runs a static type checker.
make dev
Allow
Runs the project's dev make target. Conventionally starts a local development task.
make run
Allow
Runs the project's run make target. Executes the project's configured run command.
make help
Allow
Runs the project's help make target. Conventionally prints available targets.
meson introspect
Allow
Prints build-system metadata for a Meson project. Read-only.
meson configure
Allow
Shows or changes Meson build options. Without options, reports the current configuration.
meson --version
Allow
Prints the Meson version. Read-only; configures or builds nothing.
meson --help
Allow
Prints Meson help text. Read-only; configures or builds nothing.
meson compile
Allow
Compiles a Meson project. Invokes the underlying build backend (ninja by default).
mount --version --help -h -V
Allow
Prints the mount version or help text. Read-only; takes no action on filesystems.
mvn help
Allow
Runs the Maven help plugin. Read-only; prints plugin or goal information.
mvn validate
Allow
Runs the Maven validate phase. Checks the project is correct; produces no artifacts.
mvn compile
Allow
Runs the Maven compile phase. Compiles the project's main sources.
mvn test
Allow
Runs the Maven test phase. Compiles and executes the project's unit tests.
mvn package
Allow
Runs the Maven package phase. Builds the project artifact into target/.
mvn verify
Allow
Runs the Maven verify phase. Runs integration tests and verification checks.
mvn clean
Allow
Runs the Maven clean phase. Deletes the target/ build directory.
mvn dependency:tree
Allow
Prints the project's resolved Maven dependency tree. Read-only.
mvn dependency:analyze
Allow
Analyzes declared vs used Maven dependencies and reports findings. Read-only.
ninja -t
Allow
Runs a Ninja subtool (-t query, -t graph, etc.). Inspection only; does not build targets.
ninja clean
Allow
Removes Ninja build artifacts in the current build directory. Everything it deletes is regenerated by rebuilding.
nix show
Allow
Shows package or flake-output metadata. Read-only; builds nothing.
nix eval
Allow
Evaluates a Nix expression and prints the result. Read-only; builds nothing.
nix repl
Allow
Opens a read-only Nix evaluation REPL. Builds nothing.
nix flake
Allow
Inspects a Nix flake (show, metadata, etc.). Read-only.
nix path-info
Allow
Prints metadata about Nix store paths. Read-only.
nix derivation
Allow
Shows or manipulates a Nix derivation in read contexts. Inspection only.
nix store
Allow
Runs a read-oriented Nix store query subcommand. Inspection only.
nix log
Allow
Prints the build log for a Nix store path. Read-only.
nix why-depends
Allow
Explains why one Nix path depends on another. Read-only.
nix --version
Allow
Prints the Nix version. Read-only.
nix --help
Allow
Prints Nix help text. Read-only.
nix-env -q
Allow
Queries installed or available Nix packages. Read-only; the profile is not modified.
nix-env --query
Allow
Queries installed or available Nix packages. Read-only; the profile is not modified.
openssl version
Allow
Prints the OpenSSL version. Read-only.
openssl x509
Allow
Inspects an X.509 certificate (without -req). Read-only; prints fields, signs nothing.
openssl s_client
Allow
Opens a debug TLS client connection to inspect a server's certificate and handshake. Read-only locally.
openssl dgst
Allow
Computes a message digest of the input. Read-only; writes no key material.
openssl md5
Allow
Computes an MD5 digest of the input. Read-only.
openssl sha1
Allow
Computes a SHA-1 digest of the input. Read-only.
openssl sha256
Allow
Computes a SHA-256 digest of the input. Read-only.
openssl sha512
Allow
Computes a SHA-512 digest of the input. Read-only.
openssl verify
Allow
Verifies a certificate chain against trusted roots. Read-only.
openssl ciphers
Allow
Lists the cipher suites matching a selection string. Read-only.
openssl list
Allow
Lists OpenSSL algorithms, digests, or other capabilities. Read-only.
openssl asn1parse
Allow
Parses and prints the ASN.1 structure of the input. Read-only.
openssl speed
Allow
Benchmarks OpenSSL algorithm throughput. Read-only; writes no key material.
openssl prime
Allow
Tests whether a number is prime or generates one to stdout. Read-only.
openssl rand
Allow
Generates random bytes to stdout (without -out). Writes no file.
pacman -Q
Allow
Queries installed pacman packages. Read-only.
pacman --query
Allow
Queries installed pacman packages. Read-only.
pacman -Qs
Allow
Searches installed pacman packages by pattern. Read-only.
pacman -Qi
Allow
Prints details of an installed pacman package. Read-only.
pacman -Ql
Allow
Lists the files owned by an installed pacman package. Read-only.
pacman -Qo
Allow
Reports which pacman package owns a given file. Read-only.
pacman -Ss
Allow
Searches sync repositories for pacman packages. Read-only.
pacman -Si
Allow
Prints details of a pacman package in the sync repos. Read-only.
pacman -Sl
Allow
Lists packages available in a sync repository. Read-only.
pacman -Sg
Allow
Lists the members of a pacman package group. Read-only.
pacman -F
Allow
Searches the pacman files database for a file. Read-only.
pacman --files
Allow
Searches the pacman files database for a file. Read-only.
pacman -V
Allow
Prints the pacman version. Read-only.
pacman --version
Allow
Prints the pacman version. Read-only.
pacman -h
Allow
Prints pacman help text. Read-only.
pacman --help
Allow
Prints pacman help text. Read-only.
pactl list
Allow
Lists PulseAudio objects (sinks, sources, modules, etc.). Read-only.
pactl info
Allow
Prints PulseAudio server information. Read-only.
pactl stat
Allow
Prints PulseAudio memory-block statistics. Read-only.
pactl get-default-sink
Allow
Prints the default PulseAudio output sink. Read-only.
pactl get-default-source
Allow
Prints the default PulseAudio input source. Read-only.
pactl get-sink-volume
Allow
Prints the volume of a PulseAudio sink. Read-only.
pactl get-source-volume
Allow
Prints the volume of a PulseAudio source. Read-only.
pactl get-sink-mute
Allow
Prints the mute state of a PulseAudio sink. Read-only.
pactl get-source-mute
Allow
Prints the mute state of a PulseAudio source. Read-only.
pactl subscribe
Allow
Streams PulseAudio server events as they occur. Read-only; changes nothing.
pactl --version
Allow
Prints the pactl version. Read-only.
pactl --help
Allow
Prints pactl help text. Read-only.
pg_dump (all subcommands)
Allow
Exports a PostgreSQL database to a SQL or archive dump. Read-only on the database; writes the dump to stdout or a file.
psql -l --list
Allow
Lists the databases on the PostgreSQL server. Read-only; runs no queries against the data.
service --status-all
Allow
Reports the status of all init services. Read-only; starts or stops nothing.
sqlite3 -readonly
Allow
Opens a SQLite database in read-only mode. Writes are rejected; queries only.
ssh-keygen -l -lf -lv
Allow
Prints the fingerprint of a key file. Read-only; generates no key.
ssh-keygen -F
Allow
Searches known_hosts for a host. Read-only; removes nothing.
ssh-keygen -B
Allow
Prints the bubblebabble digest of a key file. Read-only.
sudo -l --list
Allow
Lists the commands the current user may run via sudo. Read-only; executes nothing.
sudo -v --validate
Allow
Refreshes the sudo timestamp without running a command. Executes nothing.
sudo -k --reset-timestamp
Allow
Invalidates the cached sudo timestamp. Executes no command.
systemctl status
Allow
Shows the runtime status and recent logs of a systemd unit. Read-only.
systemctl show
Allow
Prints a systemd unit's properties as key=value pairs. Read-only.
systemctl list-units
Allow
Lists systemd units currently loaded in memory. Read-only.
systemctl list-unit-files
Allow
Lists installed systemd unit files and their enablement state. Read-only.
systemctl list-sockets
Allow
Lists systemd socket units and what they activate. Read-only.
systemctl list-timers
Allow
Lists systemd timer units and their next elapse. Read-only.
systemctl list-jobs
Allow
Lists systemd jobs currently in progress. Read-only.
systemctl list-dependencies
Allow
Shows the dependency tree of a systemd unit. Read-only.
systemctl is-active
Allow
Reports whether a systemd unit is active. Read-only.
systemctl is-enabled
Allow
Reports whether a systemd unit is enabled at boot. Read-only.
systemctl is-failed
Allow
Reports whether a systemd unit is in the failed state. Read-only.
systemctl is-system-running
Allow
Reports the overall systemd system state. Read-only.
systemctl cat
Allow
Prints the on-disk contents of a systemd unit file. Read-only.
systemctl help
Allow
Opens help for a systemd unit. Read-only; changes no unit.
systemctl --version
Allow
Prints the systemd version. Read-only.
systemctl -h
Allow
Prints systemctl help text. Read-only.
systemctl --help
Allow
Prints systemctl help text. Read-only.
task --list
Allow
Lists the Taskfile tasks that have a description. Read-only; runs no task.
task --list-all
Allow
Lists all Taskfile tasks, including undocumented ones. Read-only; runs no task.
vagrant status
Allow
Reports the state of the Vagrant machines for this project. Read-only.
vagrant global-status
Allow
Reports the state of all known Vagrant machines on the host. Read-only.
vagrant ssh-config
Allow
Prints the SSH config for connecting to the Vagrant VM. Read-only.
vagrant port
Allow
Lists the forwarded ports for the Vagrant VM. Read-only.
vagrant version
Allow
Prints the installed and latest Vagrant version. Read-only.
vagrant --help
Allow
Prints Vagrant help text. Read-only; changes no VM.
zypper se
Allow
Searches zypper for packages matching a term. Read-only.
zypper info
Allow
Prints zypper package details. Read-only; installs or removes nothing.
zypper if
Allow
Prints zypper package details. Read-only; installs or removes nothing.
zypper list-updates
Allow
Lists available zypper package updates without installing them. Read-only.
zypper lu
Allow
Lists available zypper package updates without installing them. Read-only.
zypper packages
Allow
Lists packages known to zypper. Read-only.
zypper pa
Allow
Lists packages known to zypper. Read-only.
zypper patterns
Allow
Lists zypper installation patterns. Read-only.
zypper pt
Allow
Lists zypper installation patterns. Read-only.
zypper products
Allow
Lists zypper products. Read-only.
zypper pd
Allow
Lists zypper products. Read-only.
zypper repos
Allow
Lists configured zypper repositories. Read-only.
zypper lr
Allow
Lists configured zypper repositories. Read-only.
zypper services
Allow
Lists configured zypper services. Read-only.
zypper ls
Allow
Lists packages or repositories known to zypper. Read-only.
zypper --version
Allow
Prints the zypper version. Read-only.
zypper -V
Allow
Prints the zypper version. Read-only.
zypper --help
Allow
Prints zypper help text. Read-only.
zypper -h
Allow
Prints zypper help text. Read-only.

Asks first · mutations

rules/system.toml#ask 186 patterns
age
Ask
Encrypts or decrypts a file with age. Use -i <key> for identity files; output replaces or writes alongside the input.
alembic upgrade
Ask
Applies pending Alembic migrations to the database. Schema/data changes are not auto-reversible.
alembic downgrade
Ask
Reverts Alembic migrations. Can drop columns/tables; review the down() body before approving.
alembic revision
Ask
Generates a new Alembic migration file in the versions/ directory.
alembic stamp
Ask
Sets the recorded Alembic version without running migrations. Mismatches with actual schema state can corrupt later migrations.
ansible
Ask
Runs an Ansible playbook against the inventory. Applies configuration changes to target hosts.
apk add
Ask
Installs apk packages.
apk del
Ask
Removes installed apk packages.
apk update
Ask
Refreshes the apk package index from configured repositories.
apk upgrade
Ask
Upgrades installed apk packages to newer versions.
apk fix
Ask
Repairs an installed apk package whose files have been altered or removed.
apk cache
Ask
Manages the apk package cache (clean, sync, download).
apk fetch
Ask
Downloads apk packages to the current directory without installing.
apt download
Ask
Downloads .deb package files to the current directory without installing.
apt install
Ask
Installs packages and their dependencies system-wide. Network operation; pulls from the configured apt repositories.
apt remove
Ask
Removes packages but keeps their config files. Use purge to also remove configs.
apt purge
Ask
Removes packages and their config files. Stronger than remove.
apt update
Ask
Refreshes the apt package index from the configured repositories. Does not upgrade installed packages.
apt upgrade
Ask
Upgrades installed packages to newer versions from the configured sources.
apt full-upgrade
Ask
Upgrades packages and can remove others to resolve dependencies. Heavier than plain upgrade.
apt dist-upgrade
Ask
Distribution upgrade can install/remove many packages, including kernel and base packages. Review proposed changes before approving.
apt autoremove
Ask
Removes packages installed as dependencies that are no longer needed.
apt autoclean
Ask
Removes obsolete .deb files from the apt download cache.
apt clean
Ask
Removes all cached .deb files from the apt download cache.
apt build-dep
Ask
Installs the build dependencies of the named source package.
apt source
Ask
Downloads the source .tar.* and .dsc for a package into the current directory.
apt edit-sources
Ask
Opens /etc/apt/sources.list in $EDITOR. Interactive; affects which repositories apt trusts.
apt satisfy
Ask
Installs/removes packages as needed to satisfy a given dependency expression.
apt-mark manual
Ask
Marks packages as manually installed so apt's autoremove will not remove them.
apt-mark auto
Ask
Marks packages as automatically installed so apt's autoremove can remove them when unused.
apt-mark hold
Ask
Pins a package at its current version. apt upgrade/install will refuse to change it.
apt-mark unhold
Ask
Releases a hold so the package can be upgraded again.
apt-mark minimize-manual
Ask
Marks as auto any manually-installed packages that are dependencies of other manually-installed packages.
bazel clean
Ask
Removes Bazel build outputs. --expunge also deletes the workspace's external dependencies.
bazel run
Ask
Builds and executes a Bazel target. The target runs as the current user with full filesystem access.
brew install
Ask
Installs a Homebrew formula or cask plus its dependencies into the prefix. Network operation.
brew uninstall
Ask
Removes installed Homebrew packages from the prefix.
brew remove
Ask
Removes installed Homebrew packages (alias for uninstall).
brew upgrade
Ask
Upgrades installed Homebrew formulae/casks to the latest available versions.
brew update
Ask
Updates Homebrew's tap metadata. Does not upgrade installed packages.
brew reinstall
Ask
Removes and re-installs a Homebrew formula or cask.
brew pin
Ask
Prevents a formula from being upgraded by brew upgrade.
brew unpin
Ask
Removes a pin so a formula can be upgraded again.
brew tap
Ask
Adds a third-party Homebrew tap to the list of trusted sources.
brew untap
Ask
Removes a Homebrew tap and its formulae from the local list of sources.
brew cleanup
Ask
Removes old versions of installed formulae and the download cache.
brew autoremove
Ask
Removes Homebrew formulae installed as dependencies that are no longer needed.
brew services
Ask
Manages Homebrew background services (start/stop/run/list).
cmake
Ask
Runs CMake to configure or build. Generates build files and may invoke the underlying compiler.
createdb
Ask
Creates a new PostgreSQL database. Connects to the server using the configured role.
crontab
Ask
Modifies cron jobs. Scheduled jobs persist across logout/reboot and run as the user; verify the schedule and command body.
dbmate
Ask
Runs a database migration via dbmate. Applies schema changes; review the migration files first.
dnf install
Ask
Installs packages and their dependencies from the enabled repos. Network operation; changes system package state.
dnf remove
Ask
Removes packages from the system.
dnf erase
Ask
Removes packages from the system (alias for remove).
dnf update
Ask
Updates installed packages to the latest version available in the enabled repos.
dnf upgrade
Ask
Upgrades installed packages (alias for update).
dnf downgrade
Ask
Replaces installed packages with an older available version. May break dependencies.
dnf reinstall
Ask
Reinstalls already-installed packages, restoring overwritten files from the package payload.
dnf autoremove
Ask
Removes packages installed as dependencies that are no longer needed.
dnf clean
Ask
Cleans cached package data and metadata from the dnf cache.
dnf makecache
Ask
Downloads and caches repository metadata for enabled repos.
dnf group
Ask
Installs, removes, or queries a dnf package group.
dnf module
Ask
Installs, removes, enables, or queries dnf modules (streams of related packages).
dnf swap
Ask
Atomically removes one package and installs another in its place.
dnf distro-sync
Ask
Synchronizes packages with the distribution version (can downgrade/upgrade across the repo set). Review changes before approving.
dpkg -i --install
Ask
Installs .deb package files directly via dpkg. Does not resolve dependencies; prefer apt install when possible.
dpkg -r --remove -P --purge
Ask
Removes or purges installed packages via dpkg. --purge also removes config files.
dpkg --configure --unpack
Ask
Configures or unpacks .deb packages. Used in low-level package management; can leave the system in a partially-configured state if interrupted.
dpkg --set-selections --clear-selections --add-architecture --remove-architecture
Ask
Modifies dpkg package state (selections or supported architectures). Affects what apt/dpkg will install or upgrade.
dropdb
Ask
Drops a PostgreSQL database. Permanent; all schemas and data in the database are deleted.
flatpak install
Ask
Installs a Flatpak/Snap application from a remote.
flatpak uninstall
Ask
Removes an installed Flatpak/Snap application.
flatpak remove
Ask
Removes an installed Flatpak/Snap application (alias for uninstall).
flatpak update
Ask
Updates installed Flatpak/Snap applications.
flatpak upgrade
Ask
Upgrades installed Flatpak/Snap applications (alias for update).
flatpak run
Ask
Launches an installed Flatpak/Snap application.
flatpak remote-add
Ask
Adds a new Flatpak remote to the trusted list. Future installs can pull from it.
flatpak remote-delete
Ask
Removes a configured Flatpak remote.
flatpak repair
Ask
Repairs the local Flatpak installation. May re-download corrupted objects.
flyway
Ask
Runs a database migration via Flyway. Applies schema changes; review the migration files first.
goose
Ask
Runs a database migration via goose. Applies schema changes; review the migration files first.
gpg --sign -s --clearsign --detach-sign -b
Ask
Signs data with a GPG private key. --clearsign keeps the message readable; --detach-sign writes a separate .sig file.
gpg --encrypt -e --symmetric -c
Ask
Encrypts data with a GPG recipient key or a passphrase (--symmetric).
gpg --decrypt -d
Ask
Decrypts a GPG-encrypted file using the matching private key or passphrase.
gpg --import
Ask
Imports a GPG public or private key into the local keyring. The imported key becomes trusted for signature verification.
gpg --export --export-secret-keys
Ask
Exports a GPG key. --export-secret-keys exports private key material; protect the output file.
gpg --delete-key --delete-secret-key --delete-secret-and-public-key
Ask
Deletes a key from the local GPG keyring. --delete-secret-key removes private material; cannot be undone without a backup.
gpg --gen-key --generate-key --full-gen-key --full-generate-key --quick-gen-key
Ask
Generates a new GPG keypair. Writes private material to the keyring; choose a passphrase strong enough for the use case.
gpg --edit-key
Ask
Opens an interactive GPG key editor. May block in agent contexts; modifies the local keyring.
gradle publish
Ask
Publishes Gradle artifacts to a configured repository. Network operation; affects downstream consumers.
gradle uploadArchives
Ask
Uploads built archives to a configured Gradle repository.
hyperfine
Ask
Runs the given command repeatedly to measure timing. Executes the wrapped command on each iteration.
kill
Ask
Sends a signal to the listed PIDs (default SIGTERM). Verify the PID first; -9 (SIGKILL) cannot be caught and can corrupt state.
killall
Ask
Signals ALL processes with the given name. Verify which processes match (different from kill <pid>); -9 cannot be caught.
meson setup
Ask
Configures a Meson build directory. Reads meson.build and writes build system files.
meson install
Ask
Installs Meson build outputs to the configured prefix. May require root depending on prefix.
migrate
Ask
Runs a database migration via golang-migrate. Applies schema changes; review the migration files first.
mongosh --eval
Ask
MongoDB session with --eval script. The eval body runs as JS in the database context and can mutate data.
mongosh
Ask
Opens a MongoDB session. Verify the connection target before running mutating queries.
mount
Ask
Mounts a filesystem. Usually requires root in most setups; verify the source device and target mount point.
mvn install
Ask
Installs the built Maven artifact into the local repository (~/.m2/repository).
mvn deploy
Ask
Deploys Maven artifacts to a remote repository. Network operation; affects downstream consumers.
nix build
Ask
Builds a Nix derivation. May download from substituters or compile locally.
nix develop
Ask
Enters a Nix development shell with the package's build dependencies in scope.
nix run
Ask
Builds and runs the given Nix package. The package executes as the current user.
nix shell
Ask
Opens an interactive shell with the given Nix packages available.
nix profile
Ask
Installs, removes, or upgrades packages in a Nix user profile.
nix upgrade-nix
Ask
Upgrades the Nix package manager itself to the latest version.
nix copy
Ask
Copies Nix store paths between stores (local, remote, or s3). Network operation.
nix collect-garbage
Ask
Deletes unreachable paths from the Nix store. Frees disk; cannot be undone without rebuilding.
nix-env -i
Ask
Installs a Nix package into the current user profile.
nix-env --install
Ask
Installs a Nix package into the current user profile.
nix-env -e
Ask
Uninstalls a Nix package from the current user profile.
nix-env --uninstall
Ask
Uninstalls a Nix package from the current user profile.
nix-env -u
Ask
Upgrades packages in the current Nix user profile.
nix-env --upgrade
Ask
Upgrades packages in the current Nix user profile.
nix-shell
Ask
Opens a shell with the given Nix expression's dependencies available. May download or build packages.
openssl x509 -req
Ask
Signs a certificate request (CSR) to produce an X.509 certificate. Writes the resulting cert; affects trust if installed.
openssl s_server
Ask
Starts a debug TLS server bound to a local port. Accepts inbound connections until terminated.
openssl rand -out
Ask
Writes the requested number of random bytes to the file given by -out.
openssl genrsa
Ask
Generates an RSA private key. Writes a private-key file; protect with passphrase and correct permissions.
openssl genpkey
Ask
Generates a private key (RSA/EC/Ed25519/etc.). Writes a private-key file; protect with passphrase and correct permissions.
openssl req
Ask
Creates a certificate signing request (CSR) or self-signed cert. Writes to disk.
openssl ca
Ask
Acts as a minimal certificate authority: signs CSRs, revokes certs, manages the CA database.
openssl pkcs12
Ask
Packs or unpacks a PKCS#12 bundle (cert + private key). Writes key material to disk.
openssl enc
Ask
Encrypts or decrypts a file with a symmetric cipher. Default cipher is weak; prefer -aes-256-cbc or modern alternatives.
openssl smime
Ask
S/MIME sign, verify, encrypt, or decrypt of an email message or file.
openssl cms
Ask
Cryptographic Message Syntax operation: sign, verify, encrypt, or decrypt a CMS structure.
openssl rsautl
Ask
RSA primitive operation: sign, verify, encrypt, or decrypt with an RSA key. Legacy; prefer pkeyutl.
openssl pkeyutl
Ask
Generic public-key operation: sign, verify, encrypt, decrypt, or derive shared secret.
openssl ecparam
Ask
Generates or inspects elliptic-curve parameters. With -genkey, also writes an EC private key.
pactl set-sink-volume
Ask
Changes the volume of a PulseAudio output sink.
pactl set-source-volume
Ask
Changes the volume of a PulseAudio input source.
pactl set-sink-mute
Ask
Mutes or unmutes a PulseAudio output sink.
pactl set-source-mute
Ask
Mutes or unmutes a PulseAudio input source.
pactl set-default-sink
Ask
Changes which PulseAudio sink is the default for new streams.
pactl set-default-source
Ask
Changes which PulseAudio source is the default for new captures.
pactl load-module
Ask
Loads a PulseAudio module into the running daemon. Modules can route, filter, or expose audio.
pactl unload-module
Ask
Unloads a PulseAudio module from the running daemon.
pactl exit
Ask
Terminates the running PulseAudio daemon. Active audio streams will drop.
pg_restore
Ask
Restores a PostgreSQL dump into a database. Can overwrite existing objects depending on flags.
pkill
Ask
Signals processes matching a pattern. Run pgrep <pattern> first to verify which processes match; -9 cannot be caught.
sqlite3
Ask
Opens a SQLite database file. Default mode allows writes; use -readonly to limit to queries.
ssh-keygen -R
Ask
Removes a host from the known_hosts file. Next connection will re-prompt for host key verification.
ssh-keygen
Ask
Generates or modifies an SSH key. Writes a private-key file; protect the output path and passphrase.
systemctl start
Ask
Starts a systemd unit. Side effects depend on the unit type (service, socket, timer, etc.).
systemctl stop
Ask
Stops a running systemd unit. Active connections/jobs handled by the unit may be cut off.
systemctl restart
Ask
Stops and starts a systemd unit. Brief downtime; in-flight work in the unit may be lost.
systemctl reload
Ask
Asks a systemd unit to reload its configuration without restarting. Unit must support SIGHUP-style reload.
systemctl enable
Ask
Enables a systemd unit to start automatically at boot. Creates symlinks under /etc/systemd/system/.
systemctl disable
Ask
Removes a systemd unit's autostart symlinks. Does not stop a currently running instance.
systemctl mask
Ask
Symlinks a systemd unit to /dev/null so it cannot be started, even as a dependency.
systemctl unmask
Ask
Removes a systemd mask, allowing the unit to be started again.
systemctl kill
Ask
Sends a signal to processes of a systemd unit (default SIGTERM). -s SIGKILL cannot be caught.
systemctl reset-failed
Ask
Clears the failed state of a systemd unit so it can be restarted.
systemctl daemon-reload
Ask
Reloads systemd unit files. Required after editing a unit; doesn't restart running services on its own.
systemctl daemon-reexec
Ask
Re-executes systemd itself. Drops PID 1 in-place and reloads its state; rarely needed.
systemctl set-default
Ask
Changes the default systemd target the system boots into (e.g. graphical.target vs multi-user.target).
systemctl isolate
Ask
Switches systemd to the target unit and stops everything not required by it. Can take down unrelated services unexpectedly.
systemctl edit
Ask
Opens a systemd unit override in $EDITOR. Interactive; may block in agent contexts.
vagrant up
Ask
Creates and boots the Vagrant VM defined in the local Vagrantfile.
vagrant halt
Ask
Gracefully shuts down the running Vagrant VM.
vagrant destroy
Ask
Deletes the Vagrant VM and its disk image. Cannot be undone; data inside the VM is lost.
vagrant provision
Ask
Re-runs Vagrant provisioners against the running VM. Can apply configuration changes.
vagrant ssh
Ask
Opens an SSH session into the Vagrant VM. Commands inside bypass local tool-gates.
vagrant reload
Ask
Halts the Vagrant VM and brings it back up, re-applying Vagrantfile changes.
xkill
Ask
Click-to-kill X11 utility. Sends a KILL signal to whatever window is clicked next.
zypper install
Ask
Installs packages and dependencies from the configured repositories. Network operation; changes system package state.
zypper in
Ask
Installing packages (alias for install).
zypper remove
Ask
Removes installed zypper packages.
zypper rm
Ask
Removes installed zypper packages (alias for remove).
zypper update
Ask
Updates installed zypper packages to newer versions.
zypper up
Ask
Updates installed zypper packages (alias for update).
zypper dist-upgrade
Ask
Distribution upgrade can install/remove many packages, including kernel and base packages. Review proposed changes before approving.
zypper dup
Ask
Distribution upgrade (alias for dist-upgrade).
zypper patch
Ask
Installs official patches/errata for installed packages.
zypper addrepo
Ask
Adds a new zypper repository to the trusted list.
zypper ar
Ask
Adds a new zypper repository (alias for addrepo).
zypper removerepo
Ask
Removes a configured zypper repository.
zypper rr
Ask
Removes a configured zypper repository (alias for removerepo).
zypper refresh
Ask
Refreshes zypper repository metadata.
zypper ref
Ask
Refreshes zypper repository metadata (alias for refresh).
zypper clean
Ask
Cleans cached zypper package data and metadata.

tool-gates · permission gate hook for Claude Code, Codex CLI, and Antigravity CLI, with deprecated Gemini CLI support. github.com/camjac251/tool-gates

13 gates · 400+ commands · built from rules/*.toml