diff --git a/core/lib/Drupal/Core/Extension/ThemeExtensionList.php b/core/lib/Drupal/Core/Extension/ThemeExtensionList.php
index 0e7a60d30fd1e6a820a632e542cdf81de2f0ab84..41ae9310bf4e52aa827293dc84ddb1066fb65107 100644
--- a/core/lib/Drupal/Core/Extension/ThemeExtensionList.php
+++ b/core/lib/Drupal/Core/Extension/ThemeExtensionList.php
@@ -266,7 +266,7 @@ protected function createExtensionInfo(Extension $extension) {
     $info = parent::createExtensionInfo($extension);
 
     if (!isset($info['base theme'])) {
-      throw new InfoParserException('Missing required key (base_theme) in ' . $extension->getExtensionPathname() . '/' . $extension->getExtensionFilename());
+      throw new InfoParserException(sprintf('Missing required key ("base theme") in %s/%s, see https://www.drupal.org/node/3066038', $extension->getExtensionPathname(), $extension->getExtensionFilename()));
     }
 
     // Remove the base theme when 'base theme: false' is set in a theme
diff --git a/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php b/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php
index 68c7cff2f5a806ed39d843881a341e6c6d4bf914..9801f8b4e790dc58f96614bf867c7e6845016d0b 100644
--- a/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php
@@ -75,7 +75,7 @@ public function testMissingBaseThemeException() {
       ->setInfoParser(new VfsInfoParser('vfs:/'));
 
     $this->expectException(InfoParserException::class);
-    $this->expectExceptionMessage('Missing required key (base_theme) in themes/test_missing_base_theme/test_missing_base_theme.theme/test_missing_base_theme.theme');
+    $this->expectExceptionMessage('Missing required key ("base theme") in themes/test_missing_base_theme/test_missing_base_theme.theme/test_missing_base_theme.theme, see https://www.drupal.org/node/3066038');
     $this->themeInstaller->install(['test_missing_base_theme']);
   }