diff --git a/lib/config/validation-helpers/managers.js b/lib/config/validation-helpers/managers.js
new file mode 100644
index 0000000000000000000000000000000000000000..d6601ba2e2cfd6fc400428f228a34fc2a0156316
--- /dev/null
+++ b/lib/config/validation-helpers/managers.js
@@ -0,0 +1,36 @@
+const { getManagerList } = require('../../manager');
+/**
+ * Only if type condition or context condition violated then errors array will be mutated to store metadata
+ * @param {Obgect} param
+ * * {Obgect} param.resolvedRule
+ * * {string} param.currentPath
+ * @returns {Array} with finded error or empty array
+ */
+const check = ({ resolvedRule, currentPath }) => {
+  let managersErrMessage;
+  if (Array.isArray(resolvedRule.managers)) {
+    if (
+      resolvedRule.managers.find(
+        confManager => !getManagerList().includes(confManager)
+      )
+    ) {
+      managersErrMessage = `${currentPath}:
+        You have included an unsupported manager in a package rule. Your list: ${
+          resolvedRule.managers
+        }. 
+        Supported managers are: (${getManagerList().join(', ')}).`;
+    }
+  } else if (typeof resolvedRule.managers !== 'undefined')
+    managersErrMessage = `${currentPath}: Managers should be type of List. You have included ${typeof resolvedRule.managers}.`;
+
+  return managersErrMessage
+    ? [
+        {
+          depName: 'Configuration Error',
+          message: managersErrMessage,
+        },
+      ]
+    : [];
+};
+
+module.exports = { check };
diff --git a/lib/config/validation.js b/lib/config/validation.js
index fe52a24ba7e5ffb938f1a9229072d58915d01285..a035fb806bdba9304c59f5522bcce4045c1a98b7 100644
--- a/lib/config/validation.js
+++ b/lib/config/validation.js
@@ -6,6 +6,7 @@ const {
   hasValidSchedule,
   hasValidTimezone,
 } = require('../workers/branch/schedule');
+const managerValidator = require('./validation-helpers/managers');
 
 let optionTypes;
 
@@ -148,6 +149,9 @@ async function validateConfig(config, isPreset, parentPath) {
                 let hasSelector = false;
                 if (is.object(packageRule)) {
                   const resolvedRule = await resolveConfigPresets(packageRule);
+                  errors.push(
+                    ...managerValidator.check({ resolvedRule, currentPath })
+                  );
                   for (const pKey of Object.keys(resolvedRule)) {
                     if (selectors.includes(pKey)) {
                       hasSelector = true;
diff --git a/test/config/__snapshots__/validation.spec.js.snap b/test/config/__snapshots__/validation.spec.js.snap
index b7240fe9ac30448d8e7a964d5b1a09bf29a54998..8fa64e72854f3795e2e714df2e2e336a64d3985a 100644
--- a/test/config/__snapshots__/validation.spec.js.snap
+++ b/test/config/__snapshots__/validation.spec.js.snap
@@ -68,6 +68,30 @@ Array [
 
 exports[`config/validation validateConfig(config) ignore packageRule nesting validation for presets 1`] = `Array []`;
 
+exports[`config/validation validateConfig(config) included managers of the wrong type 1`] = `
+Array [
+  Object {
+    "depName": "Configuration Error",
+    "message": "Configuration option \`packageRules[0].managers\` should be a list (Array)",
+  },
+  Object {
+    "depName": "Configuration Error",
+    "message": "packageRules: Managers should be type of List. You have included string.",
+  },
+]
+`;
+
+exports[`config/validation validateConfig(config) included unsupported manager 1`] = `
+Array [
+  Object {
+    "depName": "Configuration Error",
+    "message": "packageRules:
+        You have included an unsupported manager in a package rule. Your list: foo. 
+        Supported managers are: (ansible, bazel, buildkite, bundler, cargo, circleci, composer, docker-compose, dockerfile, github-actions, gitlabci, gomod, gradle, gradle-wrapper, kubernetes, maven, meteor, npm, nuget, nvm, pip_requirements, pip_setup, pipenv, terraform, travis).",
+  },
+]
+`;
+
 exports[`config/validation validateConfig(config) returns deprecation warnings 1`] = `
 Array [
   Object {
diff --git a/test/config/validation.spec.js b/test/config/validation.spec.js
index 4a09518f33d2e37ff3d016ec2795bf7e9ca14d67..267e766a533fd4e7bb1ec1e5b69f0edbef3a9cbf 100644
--- a/test/config/validation.spec.js
+++ b/test/config/validation.spec.js
@@ -32,6 +32,36 @@ describe('config/validation', () => {
       expect(errors).toHaveLength(3);
       expect(errors).toMatchSnapshot();
     });
+    it('included unsupported manager', async () => {
+      const config = {
+        packageRules: [
+          {
+            managers: ['foo'],
+          },
+        ],
+      };
+      const { warnings, errors } = await configValidation.validateConfig(
+        config
+      );
+      expect(warnings).toHaveLength(0);
+      expect(errors).toHaveLength(1);
+      expect(errors).toMatchSnapshot();
+    });
+    it('included managers of the wrong type', async () => {
+      const config = {
+        packageRules: [
+          {
+            managers: 'string not an array',
+          },
+        ],
+      };
+      const { warnings, errors } = await configValidation.validateConfig(
+        config
+      );
+      expect(warnings).toHaveLength(0);
+      expect(errors).toHaveLength(2);
+      expect(errors).toMatchSnapshot();
+    });
     it('errors for all types', async () => {
       const config = {
         allowedVersions: 'foo',