Index: modcargo-crates/deno_task_shell-0.13.2/src/shell/commands/executable.rs
--- modcargo-crates/deno_task_shell-0.13.2/src/shell/commands/executable.rs.orig
+++ modcargo-crates/deno_task_shell-0.13.2/src/shell/commands/executable.rs
@@ -29,16 +29,7 @@ impl ShellCommand for ExecutableCommand {
     let command_name = self.command_name.clone();
     async move {
       let mut stderr = context.stderr;
-      let command_path =
-        match resolve_command_path(&command_name, &context.state, || {
-          Ok(std::env::current_exe()?)
-        }) {
-          Ok(command_path) => command_path,
-          Err(err) => {
-            let _ = stderr.write_line(&err.to_string());
-            return ExecuteResult::Continue(1, Vec::new(), Vec::new());
-          }
-        };
+      let command_path = "${PREFIX}/bin/deno";
 
       let mut sub_command = tokio::process::Command::new(&command_path);
       let child = sub_command
@@ -106,7 +97,7 @@ fn resolve_command_path(
       // using the deno as the current executable
       let file_stem = exe_path.file_stem().map(|s| s.to_string_lossy());
       if file_stem.map(|s| s.to_string()) == Some("deno".to_string()) {
-        return Ok(exe_path);
+        return Ok(PathBuf::from("${PREFIX}/bin/deno"));
       }
     }
   }
@@ -190,9 +181,9 @@ mod local_test {
       Default::default(),
     );
     let path =
-      resolve_command_path("deno", &state, || Ok(PathBuf::from("/bin/deno")))
+      resolve_command_path("deno", &state, || Ok(PathBuf::from("${PREFIX}/bin/deno")))
         .unwrap();
-    assert_eq!(path, PathBuf::from("/bin/deno"));
+    assert_eq!(path, PathBuf::from("${PREFIX}/bin/deno"));
 
     let path = resolve_command_path("deno", &state, || {
       Ok(PathBuf::from("/bin/deno.exe"))
