diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml
index a369af3296a..fbccac74c36 100644
--- a/apps/files/appinfo/info.xml
+++ b/apps/files/appinfo/info.xml
@@ -47,6 +47,7 @@
OCA\Files\Command\Copy
OCA\Files\Command\Move
OCA\Files\Command\SanitizeFilenames
+ OCA\Files\Command\Mount\Refresh
OCA\Files\Command\Object\Delete
OCA\Files\Command\Object\Get
OCA\Files\Command\Object\Put
diff --git a/apps/files/composer/composer/autoload_classmap.php b/apps/files/composer/composer/autoload_classmap.php
index 25f9c0eaf3f..e54dfad4bc7 100644
--- a/apps/files/composer/composer/autoload_classmap.php
+++ b/apps/files/composer/composer/autoload_classmap.php
@@ -33,6 +33,7 @@ return array(
'OCA\\Files\\Command\\Delete' => $baseDir . '/../lib/Command/Delete.php',
'OCA\\Files\\Command\\DeleteOrphanedFiles' => $baseDir . '/../lib/Command/DeleteOrphanedFiles.php',
'OCA\\Files\\Command\\Get' => $baseDir . '/../lib/Command/Get.php',
+ 'OCA\\Files\\Command\\Mount\\Refresh' => $baseDir . '/../lib/Command/Mount/Refresh.php',
'OCA\\Files\\Command\\Move' => $baseDir . '/../lib/Command/Move.php',
'OCA\\Files\\Command\\Object\\Delete' => $baseDir . '/../lib/Command/Object/Delete.php',
'OCA\\Files\\Command\\Object\\Get' => $baseDir . '/../lib/Command/Object/Get.php',
diff --git a/apps/files/composer/composer/autoload_static.php b/apps/files/composer/composer/autoload_static.php
index 75c5f40cd81..8a1c14c1f8a 100644
--- a/apps/files/composer/composer/autoload_static.php
+++ b/apps/files/composer/composer/autoload_static.php
@@ -48,6 +48,7 @@ class ComposerStaticInitFiles
'OCA\\Files\\Command\\Delete' => __DIR__ . '/..' . '/../lib/Command/Delete.php',
'OCA\\Files\\Command\\DeleteOrphanedFiles' => __DIR__ . '/..' . '/../lib/Command/DeleteOrphanedFiles.php',
'OCA\\Files\\Command\\Get' => __DIR__ . '/..' . '/../lib/Command/Get.php',
+ 'OCA\\Files\\Command\\Mount\\Refresh' => __DIR__ . '/..' . '/../lib/Command/Mount/Refresh.php',
'OCA\\Files\\Command\\Move' => __DIR__ . '/..' . '/../lib/Command/Move.php',
'OCA\\Files\\Command\\Object\\Delete' => __DIR__ . '/..' . '/../lib/Command/Object/Delete.php',
'OCA\\Files\\Command\\Object\\Get' => __DIR__ . '/..' . '/../lib/Command/Object/Get.php',
diff --git a/apps/files/lib/Command/Mount/Refresh.php b/apps/files/lib/Command/Mount/Refresh.php
new file mode 100644
index 00000000000..d78433cd28f
--- /dev/null
+++ b/apps/files/lib/Command/Mount/Refresh.php
@@ -0,0 +1,53 @@
+setName('files:mount:refresh')
+ ->setDescription('Refresh the list of mounts for a user')
+ ->addArgument('user', InputArgument::REQUIRED, 'User to refresh mounts for');
+ }
+
+ public function execute(InputInterface $input, OutputInterface $output): int {
+ $userId = $input->getArgument('user');
+ $user = $this->userManager->get($userId);
+ if (!$user) {
+ $output->writeln("User $userId not found");
+ return 1;
+ }
+
+ $mounts = $this->mountProviderCollection->getMountsForUser($user);
+ $mounts[] = $this->mountProviderCollection->getHomeMountForUser($user);
+
+ $this->userMountCache->registerMounts($user, $mounts);
+
+ $output->writeln('Registered ' . count($mounts) . ' mounts');
+
+ return 0;
+ }
+
+}