WordPress Update Failed? How to Fix "Download Failed", Locked Updates and Half-Finished Plugin Updates
WordPress update failed? Fix "download failed", "another update is in progress" and half-finished plugin updates in a safe order, without losing data.

On this page
- WordPress update failed: what the error is telling you
- Step 1: back up before you touch anything
- Step 2: clear a stuck update lock or maintenance mode
- Step 3: check disk space, memory and timeouts
- Step 4: fix file permissions and ownership
- Step 5: premium plugins, licences and blocked downloads
- Step 6: repair a half-finished plugin or theme update
- Step 7: when the core WordPress update fails
- How to stop updates failing next time
- Quick check: before the next update
- When to get help
- FAQs
- Most failed WordPress updates come from a few causes: a timeout, low disk space, wrong file permissions, an expired licence or an update lock left behind.
- Take a backup before you retry, check the error text, then work through lock, permissions, space and licence in that order rather than reinstalling everything.
- A half-finished plugin update is fixed by replacing that plugin folder with a clean copy of the same version, not by deleting the plugin and its settings.
If a WordPress update failed, the fix is usually quick: read the exact error, take a backup, clear any update lock, check disk space and file permissions, then retry the update or replace the affected plugin with a clean copy. Most failures leave your content untouched; the risk comes from rushing into deletes and reinstalls before you know the cause.
This guide covers the common messages, including "Download failed", "Another update is currently in progress", "Could not create directory" and a plugin left half updated, with a safe order of checks. If you would rather hand it over, my WordPress maintenance and support plans can include tested updates.
WordPress update failed: what the error is telling you
WordPress downloads a zip file, unpacks it into a temporary folder, switches on maintenance mode, replaces the old files and then switches maintenance mode off. A failure at any step produces a different message, so the wording points you to the cause.
| Message you see | Usual cause | First thing to check |
|---|---|---|
| Download failed: cURL error 28 / timed out | Server could not reach the update source in time | Retry later; ask the host about outbound connections and timeouts |
| Download failed: Unauthorized or invalid licence | Premium plugin or theme licence expired or not activated | Licence status in the plugin settings or the vendor account |
| Another update is currently in progress | A lock left behind by an interrupted update | The core_updater.lock option in the database |
| Could not create directory / Could not copy file | File permissions or ownership | Permissions on wp-content and the upgrade folder |
| Disk quota exceeded / not enough space | Hosting storage full, often from old backups | Disk usage in the hosting panel |
| Briefly unavailable for scheduled maintenance | Update stopped midway and left the .maintenance file | Delete .maintenance in the site root |
See also: WordPress changes not showing on your site.
Step 1: back up before you touch anything
Before retrying, take a full backup of files and database, or confirm that your host's latest backup is recent and restorable. A failed update that is retried carelessly can turn a small problem into a broken site. If you do not have a routine yet, WordPress backup and restore explains what to keep and where to store it.
Also note the exact plugin, theme or core version that failed and the full error text. A screenshot is enough. It saves time if you need to ask the plugin developer or your host for help.
Step 2: clear a stuck update lock or maintenance mode
When an update is interrupted, WordPress can leave two things behind:
- The update lock. WordPress stores a temporary lock in the options table so two updates do not run at once. It normally expires on its own after about 15 minutes. If it does not, delete the core_updater.lock row from the wp_options table in phpMyAdmin (your table prefix may differ).
- The .maintenance file. If visitors see "Briefly unavailable for scheduled maintenance", delete the .maintenance file in the root folder using the hosting file manager or SFTP. The full walk-through is in WordPress stuck in maintenance mode.
Wait a few minutes after clearing either one, then retry a single update rather than "update all".
Step 3: check disk space, memory and timeouts
Updates need room to download and unpack. On shared hosting, a full disk is one of the most common hidden causes, usually because backup plugins have stored months of archives inside wp-content. Check usage in your hosting panel and move old backups off the server.
Large plugins such as page builders or WooCommerce extensions can also hit PHP memory or execution time limits during unpacking. Your host can raise these, or you can check what is set under Tools, Site Health, Info. If your server is on an old PHP version, updates to modern plugins may refuse to install at all; see how to update your WordPress PHP version before forcing anything.
Step 4: fix file permissions and ownership
"Could not create directory" or "Installation failed: could not copy file" almost always means WordPress cannot write to its own folders. Typical safe settings are 755 for folders and 644 for files, with the files owned by the same user the web server runs as. Avoid setting anything to 777; it hides the problem and opens a security hole. WordPress file permissions explained covers the details.
If WordPress keeps asking for FTP details when you click update, that is another sign of an ownership mismatch. Ask your host to correct ownership rather than storing FTP credentials in wp-config.php.
Step 5: premium plugins, licences and blocked downloads
Premium themes and plugins download updates from the vendor's own server, not from WordPress.org. If the licence key has expired, been moved to another site or was never entered, the update fails with "Unauthorized", "package not available" or a generic download error. Renew or reactivate the licence, then check for updates again.
Never "fix" this by installing a copy from an unofficial source. Nulled plugins are a common route for malware, as explained in the risks of nulled themes and plugins. If a theme update keeps failing, how to update a premium theme safely walks through a manual upload.
Step 6: repair a half-finished plugin or theme update
Sometimes the update fails after the old files were removed but before all the new ones were copied. The plugin then disappears from the list, shows a fatal error or breaks the front end.
- Download a clean zip of the plugin, ideally the version you were updating to, from WordPress.org or your vendor account.
- Using SFTP or the file manager, rename the broken folder in wp-content/plugins (for example add -old to the name). Renaming deactivates it without deleting settings.
- Upload and unzip the clean copy with the original folder name.
- Reactivate it from the Plugins screen and check the pages that use it.
- Once everything works, delete the -old folder.
Do not delete the plugin from the WordPress dashboard to "start fresh". Some plugins remove their settings and data on uninstall. If the site shows a white screen or critical error after the failure, start with fixing the WordPress white screen of death.
Step 7: when the core WordPress update fails
A failed core update is rarer but more worrying. If the dashboard still loads, go to Dashboard, Updates and use "Re-install version" once the lock has cleared. If wp-admin will not load, a manual core update works: download WordPress, then upload the wp-admin and wp-includes folders and the root files over the old ones, leaving wp-content and wp-config.php alone. Visit /wp-admin/ afterwards and accept any database update prompt.
How to stop updates failing next time
- Update one item at a time on busy sites, starting with the ones that matter least.
- Test big updates (WooCommerce, page builders, major versions) on a staging copy first; staging sites explained shows how.
- Keep backups off the server so disk space never fills up.
- Keep premium licences active and attached to the live domain.
- Follow a routine like how to update WordPress safely rather than clicking "update all" on a Friday evening.
Quick check: before the next update
- Take a backup and download a copy.
- In WordPress, open Tools > Site Health and read the critical issues and recommendations and check file permissions and disk space warnings.
- Update one plugin at a time and check the site after each.
If a failed update leaves the site showing "There has been a critical error on this website", see how to fix the WordPress critical error.
When to get help
If the failure has broken checkout, logins or layout, or you cannot reach the files at all, it is usually faster to have someone fix it than to experiment on a live site. Signs it is time to call in help: the site shows a critical error, you see several plugins failing at once, or you suspect the failure is linked to a hack. If you prefer to hand over updates entirely, you can hire a WordPress developer in India for ongoing care. You can also send the details through the contact form.
FAQs
Why does my WordPress update keep failing?
Repeated failures usually point to something on the server: full disk space, wrong file ownership, a low PHP memory limit, a blocked outbound connection, or an expired licence for a premium plugin. Read the exact error, then check those in order.
How do I fix "Another update is currently in progress"?
Wait about 15 minutes for the lock to expire. If it stays, delete the core_updater.lock row from the options table in phpMyAdmin, then retry one update.
Will a failed update delete my content?
Normally no. Posts, pages and orders live in the database, which a plugin or core update rarely touches until the very end. Still, take a backup before you retry or repair anything.
Can I roll back a plugin after a bad update?
Yes. Replace the plugin folder with a clean zip of the previous version, or restore from a backup. Check the plugin's changelog first, since some updates also change the database.
Should I turn on automatic updates to avoid this?
Automatic updates suit minor security releases and simple plugins. For WooCommerce, page builders and major versions, scheduled manual updates with a backup and a quick check afterwards are safer.
Need help with your website?
I'm a freelance WordPress developer building fast, SEO-friendly websites since 2020. Tell me what you need and I'll reply with a plan and a fixed quote, usually within 24 hours.


