diff --git a/lib/modules/manager/npm/update/locked-dependency/index.spec.ts b/lib/modules/manager/npm/update/locked-dependency/index.spec.ts
index 054d8a449caa642fa678be4adcbeac8c6978d6cb..11f54635c43cc186d05807232fe695beade16ab9 100644
--- a/lib/modules/manager/npm/update/locked-dependency/index.spec.ts
+++ b/lib/modules/manager/npm/update/locked-dependency/index.spec.ts
@@ -245,5 +245,11 @@ describe('modules/manager/npm/update/locked-dependency/index', () => {
       const res = await updateLockedDependency(config);
       expect(res.status).toBe('update-failed');
     });
+
+    it('fails if pnpm', async () => {
+      config.lockFile = 'pnpm-lock.yaml';
+      const res = await updateLockedDependency(config);
+      expect(res.status).toBe('update-failed');
+    });
   });
 });
diff --git a/lib/modules/manager/npm/update/locked-dependency/index.ts b/lib/modules/manager/npm/update/locked-dependency/index.ts
index 7d6e10b961099e69249d381f2aa7007ced4acfa0..c9a4782b4083074007848b093df1eee091d802fa 100644
--- a/lib/modules/manager/npm/update/locked-dependency/index.ts
+++ b/lib/modules/manager/npm/update/locked-dependency/index.ts
@@ -19,6 +19,14 @@ export async function updateLockedDependency(
   if (lockFile.endsWith('yarn.lock')) {
     return yarnLock.updateLockedDependency(config);
   }
-  logger.debug(`Unsupported lock file: ${lockFile}`);
+  if (lockFile.endsWith('pnpm-lock.yaml')) {
+    logger.debug(
+      'updateLockedDependency(): pnpm is not supported yet. See https://github.com/renovatebot/renovate/issues/21438',
+    );
+  } else {
+    logger.debug(
+      `updateLockedDependency(): unsupported lock file: ${lockFile}`,
+    );
+  }
   return { status: 'update-failed' };
 }