diff --git a/src/get-facts.sh b/src/get-facts.sh
index 80434422..90b63701 100755
--- a/src/get-facts.sh
+++ b/src/get-facts.sh
@@ -16,6 +16,7 @@ hasTar=$(has tar)
 hasCpio=$(has cpio)
 hasSudo=$(has sudo)
 hasDoas=$(has doas)
+hasRun0=$(has run0)
 hasWget=$(has wget)
 hasCurl=$(has curl)
 hasSetsid=$(has setsid)
diff --git a/src/nixos-anywhere.sh b/src/nixos-anywhere.sh
index a1d42550..4d4efc96 100755
--- a/src/nixos-anywhere.sh
+++ b/src/nixos-anywhere.sh
@@ -50,6 +50,7 @@ hasTar=
 hasCpio=
 hasSudo=
 hasDoas=
+hasRun0=
 hasWget=
 hasCurl=
 hasSetsid=
@@ -474,7 +475,7 @@ importFacts() {
   # shellcheck disable=SC2046
   export $(echo "$filteredFacts" | xargs)
 
-  for var in isOs isArch isKexec isInstaller isContainer hasIpv6Only hasTar hasCpio hasSudo hasDoas hasWget hasCurl hasSetsid; do
+  for var in isOs isArch isKexec isInstaller isContainer hasIpv6Only hasTar hasCpio hasSudo hasDoas hasRun0 hasWget hasCurl hasSetsid; do
     if [[ -z ${!var} ]]; then
       abort "Failed to retrieve fact $var from host"
     fi
@@ -772,6 +773,8 @@ main() {
     maybeSudo="sudo"
   elif [[ ${hasDoas-n} == "y" ]]; then
     maybeSudo="doas"
+  elif [[ ${hasRun0-n} == "y" ]]; then
+    maybeSudo="run0"
   fi
 
   if [[ ${isOs} != "Linux" ]]; then