diff --git a/crates/project/src/lsp_store.rs b/crates/project/src/lsp_store.rs index c68d14d38866b2fbe8a97792bdf46a94469124a1..e8eaa493de9dc14493c95307b42f04711b4eaca0 100644 --- a/crates/project/src/lsp_store.rs +++ b/crates/project/src/lsp_store.rs @@ -12760,7 +12760,16 @@ impl LspAdapterDelegate for LocalLspAdapterDelegate { if self.fs.is_file(&worktree_abs_path).await { worktree_abs_path.pop(); } - let shell_path = self.shell_env().await.get("PATH").cloned(); + + let env = self.shell_env().await; + + // On Windows, PATH might be "Path" instead of "PATH" + let shell_path = env + .get("PATH") + .or_else(|| env.get("Path")) + .or_else(|| env.get("path")) + .cloned(); + which::which_in(command, shell_path.as_ref(), worktree_abs_path).ok() }