diff --git a/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap
index c9f8b48e2b20d000a619ff9ec992bdaa94a1edea..f1c51dbc74275dcc77b92d0a577f91a51047ed64 100644
--- a/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap
+++ b/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap
@@ -126,7 +126,7 @@ exports[`manager/npm/extract/locked-versions .getLockedVersions() uses yarn.lock
 Array [
   Object {
     "constraints": Object {
-      "yarn": ">= 2.0.0",
+      "yarn": "^2.0.0",
     },
     "deps": Array [
       Object {
@@ -153,7 +153,7 @@ exports[`manager/npm/extract/locked-versions .getLockedVersions() uses yarn.lock
 Array [
   Object {
     "constraints": Object {
-      "yarn": ">= 2.2.0",
+      "yarn": "^2.2.0",
     },
     "deps": Array [
       Object {
diff --git a/lib/manager/npm/extract/locked-versions.ts b/lib/manager/npm/extract/locked-versions.ts
index 667a54746df8ee4d67059bcf45e2edfe1d0241cb..1982c9b979947beb59be6d385f271d016b1a0f0f 100644
--- a/lib/manager/npm/extract/locked-versions.ts
+++ b/lib/manager/npm/extract/locked-versions.ts
@@ -24,9 +24,9 @@ export async function getLockedVersions(
       if (!isYarn1) {
         if (lockfileVersion >= 6) {
           // https://github.com/yarnpkg/berry/commit/f753790380cbda5b55d028ea84b199445129f9ba
-          packageFile.constraints.yarn = '>= 2.2.0';
+          packageFile.constraints.yarn = '^2.2.0';
         } else {
-          packageFile.constraints.yarn = '>= 2.0.0';
+          packageFile.constraints.yarn = '^2.0.0';
         }
       }
       for (const dep of packageFile.deps) {