diff --git a/crates/tools/src/main.rs b/crates/tools/src/main.rs
index 5597aae5a66..d6eabce6c62 100644
--- a/crates/tools/src/main.rs
+++ b/crates/tools/src/main.rs
@@ -150,10 +150,10 @@ fn existing_tests(dir: &Path, ok: bool) -> Result<HashMap<String, (PathBuf, Test
 fn install_code_extension() -> Result<()> {
     run("cargo install --path crates/ra_lsp_server --force", ".")?;
     if cfg!(windows) {
-        run(r"cmd.exe /c npm.cmd install", "./editors/code")?;
+        run(r"cmd.exe /c npm.cmd ci", "./editors/code")?;
         run(r"cmd.exe /c npm.cmd run package", "./editors/code")?;
     } else {
-        run(r"npm install", "./editors/code")?;
+        run(r"npm ci", "./editors/code")?;
         run(r"npm run package", "./editors/code")?;
     }
     if cfg!(windows) {