diff --git a/automatic_updates.info.yml b/automatic_updates.info.yml
index 8240f6e933578fb8ad05813dfdddedcf70754105..e94f8881036bc18253791ed317f1f350e9740dce 100644
--- a/automatic_updates.info.yml
+++ b/automatic_updates.info.yml
@@ -1,7 +1,7 @@
 name: 'Automatic Updates'
 type: module
 description: 'Automatically updates Drupal core.'
-core_version_requirement: ^9.7 || ^10
+core_version_requirement: ^10
 dependencies:
   - drupal:package_manager
   - drupal:update
diff --git a/automatic_updates_extensions/automatic_updates_extensions.info.yml b/automatic_updates_extensions/automatic_updates_extensions.info.yml
index 6cfd52e6c419595b0e60c90b60413cbf50e12ddf..0b07b77e6e447d7045ae5be4460473acd58ff959 100644
--- a/automatic_updates_extensions/automatic_updates_extensions.info.yml
+++ b/automatic_updates_extensions/automatic_updates_extensions.info.yml
@@ -1,7 +1,7 @@
 name: 'Automatic Updates Extensions'
 type: module
 description: 'Allows updates to themes and modules'
-core_version_requirement: ^9.7 || ^10
+core_version_requirement: ^10
 lifecycle: experimental
 dependencies:
   - drupal:automatic_updates
diff --git a/composer.json b/composer.json
index e5dee7f57407030fe55be304e5cc38a59ed9ed27..fbb4ef280f203d8721d0689b9a004e06b45d6058 100644
--- a/composer.json
+++ b/composer.json
@@ -14,7 +14,6 @@
     },
     "require": {
         "ext-json": "*",
-        "drupal/core": "^9.7 || ^10",
         "php-tuf/composer-stager": "2.0-alpha1",
         "composer-runtime-api": "^2.1"
     },
diff --git a/package_manager/package_manager.info.yml b/package_manager/package_manager.info.yml
index 5aad751530d572130725b733a23eef8b3482ef3a..87bc319efc6d43469026f97c31dbd53ef6f6077b 100644
--- a/package_manager/package_manager.info.yml
+++ b/package_manager/package_manager.info.yml
@@ -1,6 +1,6 @@
 name: 'Package Manager'
 type: module
 description: 'API module providing functionality to stage package installs and updates with Composer.'
-core_version_requirement: ^9.7 || ^10
+core_version_requirement: ^10
 dependencies:
   - drupal:update
diff --git a/package_manager/tests/src/Build/TemplateProjectTestBase.php b/package_manager/tests/src/Build/TemplateProjectTestBase.php
index 9cbc66d7334e825e28b1aa5f3021fd091dd49aa3..1fe602e452934e29722567fe5f0304b691e9bd87 100644
--- a/package_manager/tests/src/Build/TemplateProjectTestBase.php
+++ b/package_manager/tests/src/Build/TemplateProjectTestBase.php
@@ -5,6 +5,7 @@ declare(strict_types = 1);
 namespace Drupal\Tests\package_manager\Build;
 
 use Drupal\BuildTests\QuickStart\QuickStartTestBase;
+use Drupal\Component\Serialization\Yaml;
 use Drupal\Composer\Composer;
 use Drupal\package_manager\Event\PostApplyEvent;
 use Drupal\package_manager\Event\PostCreateEvent;
@@ -312,6 +313,12 @@ END;
     // Now that we know the project was created successfully, we can set the
     // web root with confidence.
     $this->webRoot = 'project/' . $this->runComposer('composer config extra.drupal-scaffold.locations.web-root', 'project');
+    // List the info files that need to be made compatible with our fake version
+    // of Drupal core.
+    $info_files = [
+      'core/modules/package_manager/package_manager.info.yml',
+      'core/modules/automatic_updates/automatic_updates.info.yml',
+    ];
     // BEGIN: DELETE FROM CORE MERGE REQUEST
     // Install Automatic Updates into the test project and ensure it wasn't
     // symlinked.
@@ -319,11 +326,24 @@ END;
     if (str_contains($automatic_updates_dir, 'automatic_updates')) {
       $dir = 'project';
       $this->runComposer("composer config repo.automatic_updates path $automatic_updates_dir", $dir);
-      $output = $this->runComposer('COMPOSER_MIRROR_PATH_REPOS=1 composer require  psr/http-message', $dir);
-      $output = $this->runComposer('COMPOSER_MIRROR_PATH_REPOS=1 composer require --update-with-all-dependencies "drupal/automatic_updates:@dev"', $dir);
+      $output = $this->runComposer('COMPOSER_MIRROR_PATH_REPOS=1 composer require --update-with-all-dependencies psr/http-message "drupal/automatic_updates:@dev"', $dir);
       $this->assertStringNotContainsString('Symlinking', $output);
     }
+    // In contrib, the info files have different paths.
+    $info_files = [
+      'modules/contrib/automatic_updates/package_manager/package_manager.info.yml',
+      'modules/contrib/automatic_updates/automatic_updates.info.yml',
+      'modules/contrib/automatic_updates/automatic_updates_extensions/automatic_updates_extensions.info.yml',
+    ];
     // END: DELETE FROM CORE MERGE REQUEST
+    foreach ($info_files as $path) {
+      $path = $this->getWebRoot() . $path;
+      $this->assertFileIsWritable($path);
+      $info = file_get_contents($path);
+      $info = Yaml::decode($info);
+      $info['core_version_requirement'] .= ' || ^9.7';
+      file_put_contents($path, Yaml::encode($info));
+    }
 
     // Install Drupal.
     $this->installQuickStart('minimal');