diff --git a/core/core.services.yml b/core/core.services.yml
index e39252d..ad316f5 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -1112,7 +1112,7 @@ services:
     class: Drupal\Core\EventSubscriber\DefaultExceptionSubscriber
     tags:
       - { name: event_subscriber }
-    arguments: ['@config.factory']
+    arguments: ['@config.factory', '@current_user']
   exception.logger:
     class: Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber
     tags:
diff --git a/core/includes/errors.inc b/core/includes/errors.inc
index 4795480..726b770 100644
--- a/core/includes/errors.inc
+++ b/core/includes/errors.inc
@@ -246,6 +246,13 @@ function _drupal_log_error($error, $fatal = FALSE) {
       // Should not translate the string to avoid errors producing more errors.
       $message = 'The website encountered an unexpected error. Please try again later.' . '<br />' . $message;
 
+      // Try to help people which develop on sites. Using localhost or being
+      // user 1 is a good indicator.
+      // Support both IPv4 and IPv6 localhost IPs.
+      if ((\Drupal::hasRequest() && array_intersect(['127.0.0.1', '::1'], \Drupal::request()->getClientIps())) || (\Drupal::hasService('current_user') && \Drupal::service('current_user')->accountInitialized() && \Drupal::service('current_user')->id() == 1)) {
+        $message .= 'In order to see the error message try to enable display errors under "logging and errors" on the admin section or enable it via a settings.local.php, see settings.php.';
+      }
+
       if ($is_installer) {
         // install_display_output() prints the output and ends script execution.
         $output = array(
diff --git a/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionSubscriber.php
index 6f7612a..ca54957 100644
--- a/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionSubscriber.php
+++ b/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionSubscriber.php
@@ -9,6 +9,7 @@
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Session\AccountProxyInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\Utility\Error;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
@@ -43,13 +44,23 @@ class DefaultExceptionSubscriber implements EventSubscriberInterface {
   protected $configFactory;
 
   /**
+   * The account proxy.
+   *
+   * @var \Drupal\Core\Session\AccountProxyInterface
+   */
+  protected $user;
+
+  /**
    * Constructs a new DefaultExceptionSubscriber.
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
    *   The configuration factory.
+   * @param \Drupal\Core\Session\AccountProxyInterface $user
+   *   The account proxy.
    */
-  public function __construct(ConfigFactoryInterface $config_factory) {
+  public function __construct(ConfigFactoryInterface $config_factory, AccountProxyInterface $user) {
     $this->configFactory = $config_factory;
+    $this->user = $user;
   }
 
   /**
@@ -123,6 +134,14 @@ protected function onHtml(GetResponseForExceptionEvent $event) {
     }
 
     $content = $this->t('The website encountered an unexpected error. Please try again later.');
+
+    // Try to help people which develop on sites. Using localhost or being
+    // user 1 is a good indicator.
+    // Support both IPv4 and IPv6 localhost IPs.
+    if (array_intersect(['127.0.0.1', '::1'], $event->getRequest()->getClientIps()) || ($this->user->accountInitialized() && $this->user->id() == 1)) {
+      $content .= $this->t('In order to see the error message try to enable display errors under "logging and errors" on the admin section or enable it via a settings.local.php, see settings.php.');
+    }
+
     $content .= $message ? '</br></br>' . $message : '';
     $response = new Response($content, 500);
 
diff --git a/core/lib/Drupal/Core/Session/AccountProxy.php b/core/lib/Drupal/Core/Session/AccountProxy.php
index 4d6db57..6ad8cf0 100644
--- a/core/lib/Drupal/Core/Session/AccountProxy.php
+++ b/core/lib/Drupal/Core/Session/AccountProxy.php
@@ -69,6 +69,13 @@ public function getAccount() {
   /**
    * {@inheritdoc}
    */
+  public function accountInitialized() {
+    return isset($this->account);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function id() {
     return $this->getAccount()->id();
   }
diff --git a/core/lib/Drupal/Core/Session/AccountProxyInterface.php b/core/lib/Drupal/Core/Session/AccountProxyInterface.php
index 7ac9758..f4dc288 100644
--- a/core/lib/Drupal/Core/Session/AccountProxyInterface.php
+++ b/core/lib/Drupal/Core/Session/AccountProxyInterface.php
@@ -48,4 +48,11 @@ public function getAccount();
    */
   public function setInitialAccountId($account_id);
 
+  /**
+   * Determines whether the active user was determined already.
+   *
+   * @return bool
+   */
+  public function accountInitialized();
+
 }
