diff --git a/package_manager/src/Validator/ComposerExecutableValidator.php b/package_manager/src/Validator/ComposerExecutableValidator.php
index 56ca62ffaaddc84c2be5e02cee8bdeb992e4cdd3..af61765cc2a1f83cd32e6a87ed1a706d209d2ae2 100644
--- a/package_manager/src/Validator/ComposerExecutableValidator.php
+++ b/package_manager/src/Validator/ComposerExecutableValidator.php
@@ -7,6 +7,7 @@ namespace Drupal\package_manager\Validator;
 use Composer\Semver\Semver;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Url;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
@@ -129,6 +130,7 @@ class ComposerExecutableValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/package_manager/src/Validator/ComposerJsonExistsValidator.php b/package_manager/src/Validator/ComposerJsonExistsValidator.php
index 9542c70004b1621f657fbbda8df80be9cc44830b..c10fe88fdec584125e703bf468dbc280041d3378 100644
--- a/package_manager/src/Validator/ComposerJsonExistsValidator.php
+++ b/package_manager/src/Validator/ComposerJsonExistsValidator.php
@@ -6,6 +6,7 @@ namespace Drupal\package_manager\Validator;
 
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslationInterface;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
@@ -52,6 +53,7 @@ final class ComposerJsonExistsValidator implements EventSubscriberInterface {
     // @see \Drupal\package_manager\Validator\EnvironmentSupportValidator
     return [
       PreCreateEvent::class => ['validateComposerJson', 190],
+      PreApplyEvent::class => ['validateComposerJson', 190],
       StatusCheckEvent::class => ['validateComposerJson', 190],
     ];
   }
diff --git a/package_manager/src/Validator/ComposerPatchesValidator.php b/package_manager/src/Validator/ComposerPatchesValidator.php
index 464b19fbc26b59b33e582f7b0f2710b2407a773e..65ca7c4c8d08799b7d6757544fdc4af85d5bfd2b 100644
--- a/package_manager/src/Validator/ComposerPatchesValidator.php
+++ b/package_manager/src/Validator/ComposerPatchesValidator.php
@@ -5,6 +5,7 @@ declare(strict_types = 1);
 namespace Drupal\package_manager\Validator;
 
 use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\package_manager\Event\StatusCheckEvent;
@@ -46,6 +47,7 @@ class ComposerPatchesValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/package_manager/src/Validator/ComposerSettingsValidator.php b/package_manager/src/Validator/ComposerSettingsValidator.php
index 8a712d278a8852a214f9d3c95055f792086fc3cc..747a2dfa6901e809099a560a1f6e22ea7e659af7 100644
--- a/package_manager/src/Validator/ComposerSettingsValidator.php
+++ b/package_manager/src/Validator/ComposerSettingsValidator.php
@@ -6,6 +6,7 @@ namespace Drupal\package_manager\Validator;
 
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslationInterface;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\package_manager\Event\StatusCheckEvent;
@@ -57,6 +58,7 @@ final class ComposerSettingsValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/package_manager/src/Validator/DiskSpaceValidator.php b/package_manager/src/Validator/DiskSpaceValidator.php
index dba29845ee240592af426f8ec7d5d58d695573cf..b372674871b0b7499ce557fb0ee6b4e9f5d8c411 100644
--- a/package_manager/src/Validator/DiskSpaceValidator.php
+++ b/package_manager/src/Validator/DiskSpaceValidator.php
@@ -4,6 +4,7 @@ declare(strict_types = 1);
 
 namespace Drupal\package_manager\Validator;
 
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\Component\FileSystem\FileSystem;
@@ -169,6 +170,7 @@ class DiskSpaceValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/package_manager/src/Validator/EnvironmentSupportValidator.php b/package_manager/src/Validator/EnvironmentSupportValidator.php
index 090a8d1da441f1e6c0988b3361aca5fd6033fbb0..d1338bb3088bc5e90f07b212f517edfe469b2b19 100644
--- a/package_manager/src/Validator/EnvironmentSupportValidator.php
+++ b/package_manager/src/Validator/EnvironmentSupportValidator.php
@@ -6,6 +6,7 @@ namespace Drupal\package_manager\Validator;
 
 use Drupal\Core\Link;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\package_manager\Event\StatusCheckEvent;
@@ -66,6 +67,7 @@ final class EnvironmentSupportValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => ['validateStagePreOperation', 200],
+      PreApplyEvent::class => ['validateStagePreOperation', 200],
       StatusCheckEvent::class => ['validateStagePreOperation', 200],
     ];
   }
diff --git a/package_manager/src/Validator/MultisiteValidator.php b/package_manager/src/Validator/MultisiteValidator.php
index b4437f89a4c22941ab40cdc84c7b6a6ba8d3fe6d..968c2cf59f72e11acf35777cd632e112f04996ba 100644
--- a/package_manager/src/Validator/MultisiteValidator.php
+++ b/package_manager/src/Validator/MultisiteValidator.php
@@ -6,6 +6,7 @@ namespace Drupal\package_manager\Validator;
 
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslationInterface;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\package_manager\Event\StatusCheckEvent;
@@ -77,6 +78,7 @@ final class MultisiteValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/package_manager/src/Validator/SettingsValidator.php b/package_manager/src/Validator/SettingsValidator.php
index be93a752835f2138a93284a9a9fbff831db2c860..697b0201fde8417f52946f49e86ea7ca3d6aea9f 100644
--- a/package_manager/src/Validator/SettingsValidator.php
+++ b/package_manager/src/Validator/SettingsValidator.php
@@ -7,6 +7,7 @@ namespace Drupal\package_manager\Validator;
 use Drupal\Core\Site\Settings;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslationInterface;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\package_manager\Event\StatusCheckEvent;
@@ -51,6 +52,7 @@ final class SettingsValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/package_manager/src/Validator/WritableFileSystemValidator.php b/package_manager/src/Validator/WritableFileSystemValidator.php
index 333a24afe80e63ec8448e500fe8ee1d1546a27f0..1f0571b3b9fc0af70cd8c4aa5602ee6b87251e83 100644
--- a/package_manager/src/Validator/WritableFileSystemValidator.php
+++ b/package_manager/src/Validator/WritableFileSystemValidator.php
@@ -5,6 +5,7 @@ declare(strict_types = 1);
 namespace Drupal\package_manager\Validator;
 
 use Drupal\Core\StringTranslation\TranslationInterface;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
@@ -99,6 +100,7 @@ class WritableFileSystemValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'validateStagePreOperation',
+      PreApplyEvent::class => 'validateStagePreOperation',
       StatusCheckEvent::class => 'validateStagePreOperation',
     ];
   }
diff --git a/src/Validator/CronServerValidator.php b/src/Validator/CronServerValidator.php
index e03f4966e73860e7f7a88c9428ee61ff04621f78..4e4829db30691cc41374032f083d41fd34b097ff 100644
--- a/src/Validator/CronServerValidator.php
+++ b/src/Validator/CronServerValidator.php
@@ -9,6 +9,7 @@ use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\Url;
+use Drupal\package_manager\Event\PreApplyEvent;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
 use Drupal\package_manager\Event\StatusCheckEvent;
@@ -118,6 +119,7 @@ final class CronServerValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'checkServer',
+      PreApplyEvent::class => 'checkServer',
       StatusCheckEvent::class => 'checkServer',
     ];
   }
diff --git a/src/Validator/XdebugValidator.php b/src/Validator/XdebugValidator.php
index ec6ff6513cb1028fbd16e227f7084797e6daf4f3..156ae7aaf74fd39cfb0ae4964c9434980b371c5e 100644
--- a/src/Validator/XdebugValidator.php
+++ b/src/Validator/XdebugValidator.php
@@ -4,6 +4,7 @@ declare(strict_types = 1);
 
 namespace Drupal\automatic_updates\Validator;
 
+use Drupal\package_manager\Event\PreApplyEvent;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 use Drupal\automatic_updates\CronUpdater;
 use Drupal\automatic_updates\Updater;
@@ -80,6 +81,7 @@ final class XdebugValidator implements EventSubscriberInterface {
   public static function getSubscribedEvents(): array {
     return [
       PreCreateEvent::class => 'checkForXdebug',
+      PreApplyEvent::class => 'checkForXdebug',
       StatusCheckEvent::class => 'checkForXdebug',
     ];
   }