diff --git a/automatic_updates.services.yml b/automatic_updates.services.yml
index 67437b6e003348a5194f6bb63d696bdfd65137cf..97c49946479e19c87e9f783fac73b4a80f9a0f01 100644
--- a/automatic_updates.services.yml
+++ b/automatic_updates.services.yml
@@ -129,6 +129,10 @@ services:
       - '@string_translation'
     tags:
       - { name: event_subscriber }
+  automatic_updates.validator.xdebug:
+    class: Drupal\automatic_updates\Validator\XdebugValidator
+    tags:
+      - { name: event_subscriber }
   automatic_updates.validator.target_release:
     class: \Drupal\automatic_updates\Validator\UpdateReleaseValidator
     tags:
diff --git a/package_manager/package_manager.install b/package_manager/package_manager.install
index 0793ddea7a27e2cef93be3aae26f01de6d642bec..e5d22becd51c8a79f44ccf9def60678feaef3d38 100644
--- a/package_manager/package_manager.install
+++ b/package_manager/package_manager.install
@@ -9,12 +9,19 @@
  * Implements hook_requirements().
  */
 function package_manager_requirements() {
+  $requirements = [];
+
   if (!class_exists('PhpTuf\ComposerStager\Domain\Beginner')) {
-    return [
-      'package_manager' => [
-        'description' => t('External dependencies for Package Manager are not available. Composer must be used to download the module with dependencies.'),
-        'severity' => REQUIREMENT_ERROR,
-      ],
+    $requirements['package_manager_composer_dependencies'] = [
+      'description' => t('External dependencies for Package Manager are not available. Composer must be used to download the module with dependencies.'),
+      'severity' => REQUIREMENT_ERROR,
+    ];
+  }
+  if (extension_loaded('xdebug')) {
+    $requirements['package_manager_xdebug'] = [
+      'description' => t('Xdebug is enabled, which may have a negative performance impact on Package Manager and any modules that use it.'),
+      'severity' => REQUIREMENT_WARNING,
     ];
   }
+  return $requirements;
 }
diff --git a/src/Validator/XdebugValidator.php b/src/Validator/XdebugValidator.php
new file mode 100644
index 0000000000000000000000000000000000000000..098dc3348177e67689d620787771efdb4d55a869
--- /dev/null
+++ b/src/Validator/XdebugValidator.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Drupal\automatic_updates\Validator;
+
+use Drupal\automatic_updates\Event\ReadinessCheckEvent;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+
+/**
+ * Flags a warning if Xdebug is enabled.
+ */
+class XdebugValidator implements EventSubscriberInterface {
+
+  use StringTranslationTrait;
+
+  /**
+   * Flags a warning if Xdebug is enabled.
+   *
+   * @param \Drupal\automatic_updates\Event\ReadinessCheckEvent $event
+   *   The event object.
+   */
+  public function checkForXdebug(ReadinessCheckEvent $event): void {
+    if (extension_loaded('xdebug')) {
+      $event->addWarning([
+        $this->t('Xdebug is enabled, which may cause timeout errors during automatic updates.'),
+      ]);
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getSubscribedEvents() {
+    return [
+      ReadinessCheckEvent::class => 'checkForXdebug',
+    ];
+  }
+
+}