Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Fix WordPress “Could Not Remove the Old Plugin” Errors

WordPress’s “Could not remove the old plugin” error indicates a failed filesystem deletion during an update. Follow a safe backup-and-removal procedure, then troubleshoot permissions, ownership, symlinks, missing files, and host-level problems before reinstalling.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The WordPress message “Could not remove the old plugin” means an update reached the cleanup stage but WordPress could not delete the existing plugin files. The most reliable repair is to back up the site, identify the exact plugin directory named in the error, remove only that directory through the hosting file manager or SFTP/FTP, and then install a fresh copy. If deletion is denied, the host must usually correct ownership or permissions before the update can succeed.

Do not delete the entire wp-content/plugins/ directory, a WordPress core folder, or an unverified symlink target. The folder name in the error matters: removing the wrong path can disable an unrelated plugin or damage the site.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the error actually means

“Could not remove the old plugin.” is a WordPress core error string, not a generic content or database warning. It is emitted by the Plugin_Upgrader class used for plugin installation and updates. You can see the exact message in WordPress core’s Plugin_Upgrader source.

During an update, WordPress identifies the current plugin as the old destination, prepares the replacement package, and tries to remove the old destination. The Plugin_Upgrader reference documents the delete_old_plugin method that performs this cleanup.

How the deletion check works

WordPress first checks whether the destination exists. If the plugin path contains a directory separator, it treats the path as a directory and attempts a recursive deletion. If the path is a single file, it attempts to delete that file instead. When the filesystem delete operation fails, the upgrader returns the remove_old_failed error, which is displayed as “Could not remove the old plugin.”

That distinction explains why the dashboard can show an update failure even when the new download is valid: the failure can occur before WordPress copies the replacement into place. A historical WordPress core changeset records this sequence of deleting the old destination before copying the new plugin: core changeset 11005.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the message does not prove

  • It does not prove that the plugin package is corrupt.
  • It does not tell you that every plugin is affected; normally one destination path is the immediate problem.
  • It does not establish whether the plugin’s database tables or options were removed. Deleting files and uninstalling stored data are separate operations.
  • It does not identify the cause by itself. Ownership, permissions, filesystem access, symlinks, or an incomplete prior installation can all produce the same result.

Before you remove anything

File-level repairs are safer when you establish exactly what WordPress is trying to update. Complete these checks before opening a file manager or SFTP session.

Record the failing path

Copy the plugin name and slug from the dashboard notice. The slug is usually the directory name under wp-content/plugins/, but do not assume that a display name and folder name are identical. If the error exposes a full path, preserve it exactly, including capitalization and nested directories.

Make a current backup

Create a current backup of the database and site files, or confirm that your host’s backup system has a restorable copy. A backup gives you a recovery point if the wrong directory is removed or the site exposes a fatal error after the change.

Deactivate the plugin when possible

If WordPress still lists the plugin as active and the front end and dashboard are accessible, deactivate it through the Plugins screen before deleting its files. If the site is already inaccessible, do not keep retrying the dashboard; proceed through the hosting access route instead.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Confirm you have the right access

You need one of the following: a host control-panel file manager, an SFTP/FTP account with access to the WordPress installation, or assistance from the hosting provider. A dashboard administrator account alone may not be able to correct a filesystem ownership problem.

Safe recovery procedure

Use this sequence when the update has left the old plugin in place or WordPress cannot remove it automatically.

  1. Note the exact plugin slug and path. Keep the dashboard error open or copy the details into a temporary note. If several plugins have similar names, match the slug rather than guessing from the brand or display label.
  2. Back up the site. Confirm that both files and the database are covered. Do not begin a recursive deletion without a rollback option.
  3. Deactivate the plugin if the site permits it. This reduces the chance that requests will load code from a partially updated directory. Skip this step if the dashboard is unavailable.
  4. Open the host file manager or connect with SFTP/FTP. Start at the WordPress installation root and open wp-content/plugins/. Do not start by browsing the entire account and deleting similarly named folders.
  5. Match the folder name exactly. Compare the directory in the file manager with the slug from the error. Check that it is a normal directory belonging to the affected plugin. If it is a link, stop and follow the symlink branch below.
  6. Remove only the affected plugin directory. Delete that one folder and its contents. Never remove the parent plugins directory, WordPress core directories, or an unrelated plugin. If the directory is absent, record that fact rather than deleting a replacement path based on a guess.
  7. Load the site and dashboard. Check the front end, sign in to the dashboard, and confirm that the fatal error or update notice is gone. If the site is still broken, restore the backup or ask the host to inspect the logs before trying additional deletions.
  8. Install a fresh package. Use the WordPress.org directory or the plugin developer’s trusted package. Install it only after confirming the old directory was removed, then activate it and test the feature the plugin provides.

A WordPress support case gives the same practical route—delete the affected plugin folder through FTP and reinstall when the plugin file is missing—but that report is guidance for that configuration, not a guarantee for every host. See the support case for the reported scenario.

Which removal method should you use?

The best method depends on whether the problem is a one-off stale directory or a filesystem account that cannot write to the site. The options below address different failure modes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method Access required Risk of deleting the wrong path Auditability and backup options Can it correct ownership or permission problems?
Retry from the WordPress dashboard A working administrator dashboard and a filesystem method WordPress can use Low if the same update is retried, but repeated retries do not identify a wrong path Usually limited to the update notice and host backups No. It can succeed only if the underlying access problem was temporary
Host control-panel file manager Hosting-panel credentials and access to the site files Moderate; visual navigation helps, but similarly named folders can still be confused Often includes trash, timestamps, and host snapshots; features vary by host Sometimes. A host may expose ownership or permission controls, but do not broaden permissions without guidance
SFTP or FTP A valid account with access to the WordPress directory Moderate; the remote path must be checked carefully before deletion Provides a session log and direct visibility of the directory; make your own backup first Usually no. The account must already have sufficient rights, unless the host changes them
Host-assisted removal A support request and proof that you control the hosting account Low when you provide the exact path and ask the host to confirm it The host can check snapshots, logs, and account-level backups Yes. The host can repair ownership, permissions, or filesystem access using the server’s security model

When you are unsure whether the path is a symlink, when deletion returns “permission denied,” or when your account cannot see the WordPress files, host-assisted removal is safer than repeatedly changing permissions yourself.

Troubleshooting branches

Deletion is denied or the folder cannot be changed

A web server or configured WordPress filesystem method may not have permission to remove the destination. Ownership can also belong to a different system user, especially after a migration, manual upload, restore, or server change.

  • Stop retrying the update if the same permission error returns.
  • Ask the host to verify the owner and group of the plugin directory and to provide a writable SFTP account if appropriate.
  • Request a targeted correction for the WordPress installation rather than a blanket permission change across the account.
  • Do not apply broad write permissions without knowing the host’s security model; an apparently quick fix can expose other files or be reverted by the server.

Once ownership or access is corrected, remove the one confirmed plugin directory and run the update or reinstall again.

SFTP or FTP is unavailable

Use the host’s file manager if it provides direct access to the WordPress root. If neither option is available, open a support request and include the exact plugin slug, the path under wp-content/plugins/, and the time of the failed update. Ask the host to confirm what it removed instead of requesting deletion of the entire plugins directory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A symlink is involved

A plugin path may be a symbolic link rather than an ordinary directory. Recursive deletion of a symlinked plugin path has caused dashboard failures in a documented WordPress Trac case: Trac ticket 15134.

  1. Do not immediately follow the link and delete its target.
  2. Ask the host or an experienced administrator to confirm where the link points and why it exists.
  3. Back up both the WordPress files and the linked project before changing it.
  4. Have the owner of that deployment decide whether the link should be replaced, updated, or removed.

If you cannot verify the target, use host-assisted removal. A symlink can point outside the normal plugin directory, so a seemingly local deletion may affect another application or a shared deployment.

The plugin folder is missing or only partly present

An interrupted update, manual deletion, or failed restore can leave WordPress with an inconsistent installation state. If the dashboard names a plugin but no matching directory exists, do not invent a path or delete a similarly named folder. Record the absence, check the backup, and install a clean copy only after confirming that no active code from the old location remains.

If individual files remain but the directory is incomplete, compare the folder name and contents with the plugin package. Remove only the confirmed old directory, not neighboring directories that happen to share a prefix.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The update still fails after the old folder is removed

A successful manual removal does not guarantee that the next update will work. Check the site’s disk quota, filesystem health, security tooling, and the hosting provider’s PHP and web-server error logs. These checks require access to the specific site and server, so ask the host to perform them when you cannot inspect them yourself.

  • Disk quota: Confirm that the account has enough free space for the download, extraction, and replacement files.
  • Filesystem errors: Ask whether the host has reported storage or mount problems affecting the account.
  • Security tooling: Check whether malware scanners, file-integrity controls, or server policies are blocking writes.
  • Logs: Match the failure time with PHP and web-server logs rather than guessing from the dashboard text alone.

The site shows a fatal error after deletion

If the front end or dashboard fails immediately after removal, first verify that you deleted only the named plugin directory. Restore the backup if the path was wrong or if the plugin was required by custom site code. If the path was correct, use the host’s recovery tools and logs to identify code that still expects the plugin; do not delete additional directories as a trial-and-error fix.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Reinstall and verify the plugin

Use a trusted package

Install the plugin from the WordPress.org directory or from the developer’s official package. Avoid an unverified archive that may contain a different slug or an altered file set. The installation method should create the same expected directory name that WordPress reports in the error.

Activate only after the files are complete

Once installation finishes, activate the plugin from the Plugins screen. If activation fails, capture the exact error before making another filesystem change. A failed activation can indicate a PHP compatibility issue, a missing dependency, or an incomplete upload rather than an old-plugin deletion problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Test the affected feature

Open the feature that the plugin supplies and test a representative action. Check both the public site and the administrative screen. Review the plugin’s settings for values that should persist, but do not assume that reinstalling removed or recreated database tables.

Handle stored data separately

Removing plugin files does not document whether the plugin’s options, custom tables, scheduled tasks, or uploaded assets were removed. Read that plugin’s uninstall documentation before promising a clean data removal. If data is important, export or back it up before using any uninstall routine.

Why a dashboard retry sometimes works—and often does not

A retry is reasonable when the first attempt was interrupted and the filesystem is healthy. It is not a repair for a persistent ownership, permission, or symlink problem. WordPress will call the same cleanup path again, so a repeated failure usually produces the same remove_old_failed result.

Use the dashboard again only after you have confirmed that the old directory is gone, the account can write to wp-content/plugins/, and no host security rule is blocking the operation. Otherwise, move to the file manager, SFTP/FTP, or host support rather than accumulating more partial update attempts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Preventing the error from recurring

  • Keep a tested backup of the database and site files before major plugin updates.
  • Record the plugin slug and installation path when deploying or migrating a site.
  • Use one consistent file-transfer method and account so new files do not acquire ownership that the web server cannot modify.
  • Ask the host for the correct ownership and permission model instead of copying generic permission values from another server.
  • Document any intentional symlink or deployment link, including its target and the person responsible for maintaining it.
  • Keep enough disk space for extraction and replacement files, not merely the size of the compressed download.
  • When an update fails, save the exact dashboard message and timestamp; those details help the host correlate the event with server logs.

When to stop and ask the host

Escalate rather than experimenting if the directory is owned by another account, deletion is denied after you authenticate correctly, the path is a symlink, the site is already showing a fatal error, or the WordPress files live in a managed environment you cannot inspect. Give support the plugin slug, the precise path, the backup status, and the time of the failure. Ask them to verify the target before removal and to report any ownership, quota, security, or filesystem issue they find.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.