diff --git a/lib/config/migration.js b/lib/config/migration.js
index fff7d460f41aea02e6d2edde38ed325b38b5df9c..cafe3b23b110ae414ca5cf0546ca860c3334685b 100644
--- a/lib/config/migration.js
+++ b/lib/config/migration.js
@@ -1,3 +1,10 @@
+const options = require('./definitions').getOptions();
+
+const optionTypes = {};
+options.forEach(option => {
+  optionTypes[option.name] = option.type;
+});
+
 module.exports = {
   migrateConfig,
 };
@@ -68,6 +75,12 @@ function migrateConfig(config, parentConfig) {
       });
       isMigrated = true;
       delete migratedConfig.depTypes;
+    } else if (optionTypes[key] === 'boolean') {
+      if (val === 'true') {
+        migratedConfig[key] = true;
+      } else if (val === 'false') {
+        migratedConfig[key] = false;
+      }
     } else if (isObject(val)) {
       const subMigrate = migrateConfig(val);
       if (subMigrate.isMigrated) {
diff --git a/lib/config/validation.js b/lib/config/validation.js
index 50620cf24ec9a9f94b0871efb22fcad21de8ce04..d8055caeb10cfa63f389dcb698d7190469bc8058 100644
--- a/lib/config/validation.js
+++ b/lib/config/validation.js
@@ -2,7 +2,7 @@ const options = require('./definitions').getOptions();
 
 const optionTypes = {};
 options.forEach(option => {
-  optionTypes[option.name] = [option.type];
+  optionTypes[option.name] = option.type;
 });
 
 module.exports = {
@@ -43,7 +43,7 @@ function validateConfig(config) {
           message: `Invalid configuration option: \`${key}\``,
         });
       } else if (val != null) {
-        const type = optionTypes[key].toString();
+        const type = optionTypes[key];
         if (type === 'boolean') {
           if (val !== true && val !== false) {
             errors.push({
diff --git a/test/config/__snapshots__/migration.spec.js.snap b/test/config/__snapshots__/migration.spec.js.snap
index da1984e40a40e61d0bf81acbacbf605b953f74fb..0e91f01710bf3f8e56ebb0fa25ffbafe05bbdc43 100644
--- a/test/config/__snapshots__/migration.spec.js.snap
+++ b/test/config/__snapshots__/migration.spec.js.snap
@@ -2,8 +2,10 @@
 
 exports[`config/migration migrateConfig(config, parentConfig) it migrates config 1`] = `
 Object {
+  "autodiscover": true,
   "commitMessage": "some commit message",
   "enabled": true,
+  "onboarding": false,
   "optionalDependencies": Object {
     "respectLatest": false,
   },
diff --git a/test/config/migration.spec.js b/test/config/migration.spec.js
index 17647cacca90533eab3489facf86235546131b24..9a7387c55eca53e2494dbd840053b3d4ee676bd1 100644
--- a/test/config/migration.spec.js
+++ b/test/config/migration.spec.js
@@ -7,6 +7,8 @@ describe('config/migration', () => {
       const config = {
         enabled: true,
         maintainYarnLock: true,
+        onboarding: 'false',
+        autodiscover: 'true',
         schedule: 'after 5pm',
         commitMessage: '{{semanticPrefix}}some commit message',
         prTitle: '{{semanticPrefix}}some pr title',