diff --git a/crates/provider/src/native.rs b/crates/provider/src/native.rs
index 9da7500b30e662c39c6f5bc6a2a747e4a7e4ff5a..1d7729a2451006dd2012d92190defc22a17ad5c4 100644
--- a/crates/provider/src/native.rs
+++ b/crates/provider/src/native.rs
@@ -250,7 +250,7 @@ impl<FS: FileSystem + Send + Sync + Clone + 'static> ProviderNamespace for Nativ
                     .filesystem
                     .write(
                         format!(
-                            "{}/{}",
+                            "{}{}",
                             self.base_dir.to_string_lossy(),
                             local_output_path.to_string_lossy()
                         ),
@@ -359,6 +359,7 @@ impl<FS: FileSystem + Send + Sync + Clone + 'static> ProviderNode for NativeNode
     ) -> Result<ExecutionResult, ProviderError> {
         let result = Command::new(options.command)
             .args(options.args)
+            .envs(options.env)
             .output()
             .await
             .map_err(|err| ProviderError::RunCommandError(err.into()))?;