diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
index 8ac0c2bb97..4233eccf19 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
@@ -87,16 +87,16 @@ public class BazelRuleClassProvider {
     public boolean useStrictActionEnv;
   }
 
-  private static final PathFragment FALLBACK_SHELL = PathFragment.create("/bin/bash");
+  private static final PathFragment FALLBACK_SHELL = PathFragment.create("@defaultBash@");
 
   @VisibleForTesting
   public static final ImmutableMap<OS, PathFragment> SHELL_EXECUTABLES =
       ImmutableMap.<OS, PathFragment>builder()
           .put(OS.WINDOWS, PathFragment.create("c:/msys64/usr/bin/bash.exe"))
-          .put(OS.FREEBSD, PathFragment.create("/usr/local/bin/bash"))
-          .put(OS.OPENBSD, PathFragment.create("/usr/local/bin/bash"))
-          .put(OS.LINUX, PathFragment.create("/bin/bash"))
-          .put(OS.DARWIN, PathFragment.create("/bin/bash"))
+          .put(OS.FREEBSD, PathFragment.create("@defaultBash@"))
+          .put(OS.OPENBSD, PathFragment.create("@defaultBash@"))
+          .put(OS.LINUX, PathFragment.create("@defaultBash@"))
+          .put(OS.DARWIN, PathFragment.create("@defaultBash@"))
           .put(OS.UNKNOWN, FALLBACK_SHELL)
           .buildOrThrow();
 
