diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts
index cd6c6c01a939110ca3516e423a35b40aa941b934..641d22abb9986a4ddf7581eb8f4ea4363c6b70b4 100644
--- a/lib/workers/repository/process/lookup/filter.ts
+++ b/lib/workers/repository/process/lookup/filter.ts
@@ -66,10 +66,13 @@ export function filterVersions(
         semver.satisfies(semver.coerce(v), allowedVersions)
       );
     } else {
-      logger.warn(
-        { depName: config.depName },
-        `Invalid allowedVersions: "${allowedVersions}"`
-      );
+      const error = new Error('config-validation');
+      error.configFile = 'config';
+      error.validationError = 'Invalid `allowedVersions`';
+      error.validationMessage =
+        'The following allowedVersions does not parse as a valid version or range: ' +
+        JSON.stringify(allowedVersions);
+      throw error;
     }
   }
 
diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js
index a215651fd1983de6393d9b0e126eccaa61c737c4..7db0e55342cae3ae6b6b26a77df4ef6164734e31 100644
--- a/test/workers/repository/process/lookup/index.spec.js
+++ b/test/workers/repository/process/lookup/index.spec.js
@@ -178,7 +178,9 @@ describe('workers/repository/process/lookup', () => {
       nock('https://registry.npmjs.org')
         .get('/q')
         .reply(200, qJson);
-      expect((await lookup.lookupUpdates(config)).updates).toHaveLength(2);
+      await expect(lookup.lookupUpdates(config)).rejects.toThrow(
+        Error('config-validation')
+      );
     });
     it('returns minor update if separate patches not configured', async () => {
       config.currentValue = '0.9.0';