diff --git a/binaries/coordinator/src/lib.rs b/binaries/coordinator/src/lib.rs index 15adabe9..210a9eb7 100644 --- a/binaries/coordinator/src/lib.rs +++ b/binaries/coordinator/src/lib.rs @@ -134,9 +134,14 @@ fn spawn_custom_node( communication: &dora_node_api::config::CommunicationConfig, ) -> eyre::Result>> { let mut args = node.run.split_ascii_whitespace(); - let cmd = args - .next() - .ok_or_else(|| eyre!("`run` field must not be empty"))?; + let cmd = { + let raw = Path::new( + args.next() + .ok_or_else(|| eyre!("`run` field must not be empty"))?, + ); + raw.canonicalize() + .wrap_err_with(|| format!("no node exists at `{}`", raw.display()))? + }; let mut command = tokio::process::Command::new(cmd); command.args(args);