diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js
index 67fa22c2aa7820d6718b45dc1b1f4517f97a6674..add300d20d23607c351cc11a54dc614974136db7 100644
--- a/lib/workers/repository/error.js
+++ b/lib/workers/repository/error.js
@@ -38,8 +38,26 @@ async function handleError(config, err) {
     return err.message;
   }
   // Swallow this error so that other repositories can be processed
-  logger.error({ err }, `Repository has unknown error`);
+  logger.error(
+    { err },
+    `Repository has unknown error:\n${stringifyError(err, null, '  ')}`
+  );
   // delete branchList to avoid cleaning up branches
   delete config.branchList; // eslint-disable-line no-param-reassign
   return 'unknown-error';
 }
+
+function stringifyError(err, filter, space) {
+  let stringifiedError = '';
+  try {
+    const plainObject = {};
+    Object.getOwnPropertyNames(err).forEach(key => {
+      plainObject[key] = err[key];
+    });
+    stringifiedError = JSON.stringify(plainObject, filter, space);
+  } catch (err2) {
+    // istanbul ignore next
+    logger.warn({ err2 }, 'Error stringifying unknown error');
+  }
+  return stringifiedError;
+}