Technical

WordPress Update Failed: Plugin, Theme or Core Won't Update (2026)

By Daniel Reyes•October 31, 2026•3 min read

Disclosure: some links on this page are affiliate links. We may earn a commission at no extra cost to you. How we test and rate hosts.

Our top pick for most WordPress sites
Bluehost: free domain, free SSL, 24/7 support, 30-day money-back guarantee.
Check Bluehost Deal →

"Update failed." Two words, zero explanation. WordPress hides the real error, but the failure always traces to one of five causes. Work through them in this order - each takes minutes to test.

Cause 1: The Leftover Folder Trap

A previous failed update leaves a half-installed folder. Next update tries to write to a path that already exists and dies with "Installation failed: Destination folder already exists." Fix: via FTP, delete the leftover folder in wp-content/plugins or wp-content/themes, then retry. Full walkthrough in the destination folder guide.

Cause 2: Permissions and Ownership

"Could not create directory" or "Could not copy file" = WordPress can't write where it needs to. Folders should be 755, files 644, and owned by the PHP user. The could not create directory guide has the exact chmod commands and the ownership fix that permanently solves the FTP-credentials prompt too.

Cause 3: Download Timeout

The zip downloads but the request times out - "Download failed: cURL error 28". Slow connection between your server and wordpress.org, or a low max_execution_time. Retry, raise the limit (see execution time guide), or update manually via FTP - covered below.

Cause 4: Disk Full

Backups, logs, and old staging copies fill the quota. Check disk usage in your hosting panel - most failures happen at 95%+. Clear old backups, error logs, and the wp-content/upgrade/tmp leftovers, then retry.

Cause 5: The Stuck Update Lock

Core updates set a lock so two processes don't collide. A crashed update leaves it stuck: "Another update is currently in progress." The update lock guide shows the one-line database fix.

Manual Update (Bypass Everything)

For plugins and themes: download the zip from wordpress.org, extract locally, delete the old folder via FTP from wp-content/plugins or wp-content/themes, upload the new folder, reactivate if needed. For core: Dashboard → Updates → "Re-install version X" handles it cleanly - or upload wp-admin and wp-includes (never wp-content) from a fresh WordPress download.

Before any manual update: take a backup - the backup guide covers the 5-minute version.

Updates Shouldn't Be This Fragile

If updates fail weekly on permissions and timeouts, the server stack is misconfigured or underpowered. Managed environments handle updates in the background with automatic rollback - it's the boring reliability you should be paying for.

See Bluehost →
Find Your Perfect Hosting Plan

What are you building?

Tell us about your project so we can match the perfect hosting plan.

Question 1 of 425% complete
Interactive Tool

Hosting Cost Calculator

See exactly how much you'll spend on hosting over time. Compare Bluehost vs popular alternatives and discover your potential savings.

Used to calculate transaction fees (Shopify charges 2% on sales)

Shopify Basic (3yr)
$1,044
Bluehost (3yr)
$444
You Save
$600
58% less than Shopify Basic

Frequently Asked Questions

Why does WordPress just say 'Update failed' with no reason?

The admin UI swallows the real error. The actual cause is logged: enable WP_DEBUG_LOG or check your server's PHP error log. Almost always it's one of four things - a file it couldn't write (permissions), a folder that already exists from a previous failed attempt, a download that timed out, or the filesystem credentials method failing.

What does 'Could not create directory' mean during updates?

WordPress can't write to wp-content/upgrade or the plugin/theme folder - a permissions or ownership issue, or the disk is full. Check the 'could not create directory' guide for the chmod/ownership fix, and check disk quota in your hosting panel.

How do I update a plugin manually?

Download the plugin zip from wordpress.org, extract it, then via FTP delete the old folder from wp-content/plugins (don't delete from wp-admin - deactivate first is fine but folder deletion works directly) and upload the fresh one. Same for themes in wp-content/themes. Activate afterward if needed.

The site is stuck saying 'Briefly unavailable' after a failed update - what do I do?

A failed core update leaves a .maintenance file in the site root. Delete it via FTP and the site returns - then complete the update properly or run it manually via Dashboard → Updates → Re-install.

Why does the update ask for FTP credentials?

WordPress can't write files as the web user, so it falls back to the FTP method. That's an ownership mismatch - files owned by a different user than PHP runs as. Your host can fix ownership in one command; on cPanel hosts it's often a suPHP/handler setting.

Ready to launch?

Get Bluehost from $3.99/month with a free domain, free SSL, and 30-day money-back guarantee.

Start for $3.99 →

Related Articles