“Check for expected files” means the Nextcloud updater found an entry in the installation directory that is not part of the release it is installing. Do not delete files at random. Back up the database and data directory, record the exact name shown by the updater, inspect updater.log, and classify the entry before moving it outside the installation root. If it is a confirmed leftover, rerun the updater; if the failure is caused by an updater bug or permissions edge case, use a verified manual archive update instead.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
What the “Check for expected files” error means
Nextcloud’s built-in updater compares the contents of the installation root with a list of files and directories expected in the target release. The check is deliberately conservative: an unrecognized entry may be a leftover archive, a temporary administrator file, a debugging artifact, or a manually created directory. Such entries can affect the update procedure, so the updater stops before replacing code.
As an Amazon Associate I earn from qualifying purchases.
The message often appears with wording such as “The following extra files have been found” or “Unknown files detected within the installation folder.” The named item is relative to the Nextcloud installation directory, not necessarily to the separate data directory. A failed check does not by itself mean that your files are corrupt or that the database is damaged; it means the updater cannot safely prove that the installation tree matches its expected layout.
Protect the instance before touching the installation
Stop and make independent backups before moving or deleting anything. The Nextcloud Server Administration Manual warns that the built-in updater does not back up the database or the data directory. Keep a restorable database dump and a copy of the data directory, and make sure you know where both backups are stored and how you would restore them. Separate backup storage, such as an external drive, is useful because an update failure can affect the same disk that holds the live installation.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
- Record the Nextcloud version currently installed and the version you are attempting to install.
- Confirm the path of the installation root and the configured data directory; they are commonly different locations.
- Put a maintenance window on the calendar and ensure no administrator is changing files while you investigate.
- Do not use a destructive cleanup command until the entry has been identified and your backups have been checked.
Step-by-step: identify and remove one genuine stray entry
1. Capture the exact name
Copy the complete filename or directory name printed after “The following extra files have been found”. Preserve capitalization, punctuation, and any path component. A name that looks harmless can still identify a directory, a symlink, or a file created by a previous administrator.
2. Read the updater log
Open updater.log in the configured Nextcloud data directory and find the log entries for the failed run. The log is the authoritative diagnostic record for that updater attempt. It can reveal the path that was checked, the update step that stopped, and permission or filesystem errors that are not fully displayed in the browser.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →3. Inspect the installation root without changing it
List the top level of the Nextcloud installation and compare the displayed item with the log. Look for clues about how it got there:
- A copied release archive or extraction directory usually belongs outside the live installation.
- A temporary administrator or debugging file may be safe to move after you confirm it is not used by a script.
- A manually created directory may contain custom code or configuration and requires an owner’s decision before removal.
- A non-shipped app or theme can be legitimate customization and must not be treated as disposable merely because the updater does not include it in the release archive.
4. Preserve protected categories
Do not remove config or data. Do not delete non-shipped apps or themes simply because they are present. The updater’s cleanup logic explicitly preserves these categories. If a custom app or theme is involved, check its compatibility with the target Nextcloud release and make a separate backup before changing it.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
5. Move the confirmed stray item out of the root
When you have established that the entry is an unrelated leftover, move it to a location outside the Nextcloud installation directory. Moving is safer than deleting because it preserves a recovery copy and removes the item from the updater’s scan. Keep its original relative path in your notes so you can restore it if the application later needs it.
Do not rename the item inside the installation root as a workaround. The updater checks for unexpected entries, so a renamed copy can fail the same test and can make later diagnosis harder.
6. Rerun the updater
Start the updater again after the root contains only the expected release files and intentionally preserved categories. Nextcloud’s manual states that a retry continues from the step that failed and does not repeat steps that already completed. Let the process finish rather than interrupting it when the progress display appears unchanged for a short period.
7. Complete the migration and verify the site
Passing the file check only allows the updater to replace application code. The database and app migrations still have to run. Execute occ upgrade, or allow the CLI updater to invoke it, using the same account and installation context that normally runs Nextcloud. Then verify that maintenance mode has ended when appropriate, sign in through the web interface, open the administration overview, and test a representative file operation and the apps you rely on.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
What if the displayed filename is blank or “null”?
A blank value is not proof that no extra file exists. In a community incident, the browser displayed an empty extra-file name; inspection eventually found an unexpected file literally named true in the installation folder. Treat an empty or null display as a reporting problem and investigate the filesystem and updater.log directly.
Check the installation root for recently modified files, unusual one-word names, copied archives, and directories that are not part of the release. Compare timestamps with the last update attempt. Use the log to confirm which path the updater evaluated before moving anything.
When the error is an updater implementation bug, not a stray file
Not every expected-files failure is caused by an unwanted entry. Nextcloud issue 753 documents an upgrade from version 33.0.2 to 33.0.3 in which a new css directory did not yet exist. PHP’s is_writable() returned false for the nonexistent path even though its parent directory was writable. Pre-creating css made the permissions check pass, but then the expected-files check rejected that newly created directory because it was not yet in the updater’s expected-elements list.
This is a different diagnosis from a genuine stray file:
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
- The failing name corresponds to a directory the target release is supposed to create.
- The parent directory permissions look correct, but the updater reports the child path as unwritable or unexpected.
- Creating the missing directory changes the error from a permissions failure to an extra-file failure.
In that situation, stop trying to satisfy the web updater by adding more directories. The practical fallback documented for that case is a fully manual update: obtain the release archive, verify its integrity, replace the application files while preserving the configuration, data, and intentional customizations, and then run occ upgrade. Keep the failed updater state and log until the manual update has been verified so you retain an audit trail.
Web updater versus command-line updater
The web and command-line updaters perform the same expected-files checks. The command line is useful when the browser request times out, when a reverse proxy limits execution time, or when the web interface hides the relevant error text. Run the CLI updater as the web-server account; the manual gives this example:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar
Adjust the account and path to your installation. Running it as an unrelated shell user can create ownership problems even when the update itself succeeds. Review the terminal output together with updater.log, and use the same backup and classification process for an error found in CLI mode.
| Situation | Preferred path | Reason |
|---|---|---|
| One confirmed temporary or copied entry | Move that entry outside the installation root, then retry | Smallest change and reversible |
| Browser timeout or incomplete web output | Run the CLI updater as the web-server user | Long-running work is less likely to be cut off and diagnostics are visible |
| Missing target directory triggers contradictory checks | Use a complete manual archive replacement | Avoids the affected updater implementation path |
| Unclear ownership, custom app, or theme | Pause and identify the item before changing it | Customization may be legitimate and preserved by design |
Manual update safeguards
Upgrade major versions one at a time
Nextcloud’s manual requires major releases to be upgraded sequentially. Do not jump over a major version because the expected-files check passed. A downgrade is unsupported; if you selected the wrong archive, restore the backup or follow a supported upgrade path instead of attempting to install an older release over the newer code.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Verify the archive before extracting it
For a custom or manually downloaded archive, use the release signature or an independently checked SHA-512 value. The updater’s --no-verify option removes integrity protection and should be used only when the archive has already been independently verified. An unverified archive can turn an updater problem into a code-integrity or supply-chain problem.
Replace code without overwriting protected data
A manual replacement concerns the application code. Preserve config, the data directory, and any non-shipped apps or themes that you have intentionally retained. Use a controlled copy or rsync process appropriate to your hosting environment, check ownership and permissions afterward, and do not erase the old tree until the new installation has passed the web and command-line checks.
Common mistakes and their safer alternatives
- Deleting every unfamiliar item: first classify it; custom apps and themes may be legitimate.
- Deleting
configordata: never do this as a response to the expected-files message. - Trusting a blank browser name: inspect the root and
updater.log; an item can still exist. - Running the updater as root: use the web-server account shown in your hosting setup to avoid ownership drift.
- Stopping after code replacement: run
occ upgradeand verify the application, because database and app migrations are a separate phase. - Using an unverified archive: check the signature or SHA-512 before extraction; do not disable verification casually.
- Repeating a failed web attempt indefinitely: switch to the CLI updater for timeouts, or to a complete manual update for a documented implementation bug.
A compact decision checklist
- Back up the database and data directory independently.
- Record the exact extra name and read
updater.log. - Determine whether the entry is temporary, copied, custom, protected, or part of the target release.
- If it is a confirmed stray, move it outside the installation root.
- Retry the updater, continuing from its failed step.
- If the error points to a missing target directory or contradictory permission check, stop pre-creating paths and plan a verified manual update.
- Run
occ upgrade, check maintenance mode, sign in, and test core functions. - Retain the moved item and logs until the instance has operated normally through a complete backup cycle.
Why this approach is safer
The expected-files check is a guardrail, not a command to purge anything the release archive does not contain. Treating the filename as evidence, preserving protected categories, and moving only a confirmed stray keeps the change reversible. Separating a real leftover from an updater implementation bug prevents a permissions workaround from creating a second failure. Finally, completing occ upgrade and verifying the running instance ensures that the update is finished at the database and application level, not merely at the file-copy level.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




