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.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

The error means WordPress found a non-empty folder with the same name as the plugin or theme you are trying to install. First read the path in the complete error and check whether the item is already listed in WordPress. If it is listed, activate or update it, or use the available replace option. If it is not listed, back up the site, remove only the matching orphan folder from wp-content/plugins/ or wp-content/themes/, and then install again.

What “Destination folder already exists” means

WordPress installs packages into a destination directory named for the plugin or theme. In WordPress core, WP_Upgrader::install_package() uses abort_if_destination_exists with a default value of true. When the destination already exists and its directory listing is not empty, the upgrader stops and returns the folder_exists error. The dashboard turns that result into the message “Destination folder already exists.”

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

The lower-level move_dir() operation has the same protection: when a destination exists and overwrite is disabled, it returns destination_already_exists_move_dir. This is a filesystem collision, not a diagnosis that the plugin or theme is broken.

Usually one of three things is true:

  • The plugin or theme is already installed, even if you started an installation instead of an update.
  • An earlier installation or update stopped partway through and left its directory behind.
  • WordPress removed the database or admin listing but could not remove the directory, leaving an orphaned folder.

The exact path matters more than the wording. It identifies the slug WordPress is trying to use and normally shows whether the conflict is under the plugins or themes directory.

Use this safe decision sequence first

  1. Read the complete error path. Copy the directory name after wp-content/plugins/ or wp-content/themes/. That name is the folder you must investigate.
  2. Check the WordPress admin list before touching files. Look in Plugins → Installed Plugins for a plugin, or Appearance → Themes for a theme. A listed item should normally be activated, updated, or replaced through its normal control rather than deleted.
  3. Create a current backup or host snapshot. Make sure you can restore the site before removing or replacing a directory. If your host supplies snapshots, take one immediately before the filesystem change.
  4. Choose the least destructive route. Use activation or the normal update control for an installed item; use the overwrite/replace flow when it is offered; remove a matching directory only when the package is not listed; and ask the host for help when you cannot safely access the files.
  5. Retry the installation only after the conflict is resolved. Use Plugins → Add New for a plugin or Appearance → Themes for a theme.

How to identify the conflicting folder

Plugin locations

Plugin directories normally live at wp-content/plugins/<slug>/. If the error names wpbenchmark, for example, inspect wp-content/plugins/wpbenchmark/. Match the directory name shown in the error, not merely the product’s display name in a marketing page; WordPress installs by slug.

Theme locations

Theme directories normally live at wp-content/themes/<slug>/. The same slug-matching rule applies. Do not remove a theme simply because its directory exists: an installed theme is expected to have a directory there, and deleting the active theme can take the site offline or leave it without its current design.

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

Ways to reach the filesystem

The WordPress dashboard does not expose every directory operation. Depending on your hosting account, use one of these interfaces:

  • SFTP or FTP: connect with the host-provided credentials and open the site’s document root, then wp-content/plugins/ or wp-content/themes/.
  • Hosting file manager: open the web file console supplied by your host, locate the same directories, and use its delete or upload controls.
  • cPanel File Manager: open the document root, then the relevant wp-content subdirectory.
  • Host-assisted access: if permissions, credentials, or a managed environment prevent you from removing the directory, ask support to locate and remove only the named folder.

Do not guess a different directory. The path in the error is the authoritative starting point.

Choose the remedy that matches the state of the site

What you find Safest next action Reason
The plugin appears under Installed Plugins Activate it, or use its normal update control. If an upload offers Replace current with uploaded, use that option. The directory is an installation WordPress already recognizes; a second install is unnecessary.
The theme appears under Appearance → Themes Use the theme’s update or replacement process. Keep the active theme in place unless you are deliberately changing themes. An existing theme directory is normal and may be serving the live site.
No admin entry, but the exact plugin folder remains After the backup, remove only that matching directory from wp-content/plugins/, then reinstall. This is the typical orphaned-plugin case.
No admin entry, but the exact theme folder remains After the backup, remove only that matching directory from wp-content/themes/, then reinstall. This is the theme equivalent of an interrupted or incomplete install.
You cannot access or remove the directory Give the host the full path and request file-manager or FTP/SFTP assistance. Deleting an unrelated directory is riskier than a host-assisted, path-specific removal.

If the plugin is already installed

When the plugin is listed in Plugins → Installed Plugins, the folder collision is telling you that WordPress already has files at the expected destination. Activate the plugin if it is inactive, or use the plugin’s normal update control if your goal is to update it. Do not delete the directory merely to make the installer accept the package.

Some upload screens expose a direct replacement action. WordPress’s Plugin_Installer_Skin detects the folder_exists result and can present Replace current with uploaded for a recognized installed plugin. Choose that action when you have confirmed that the listed plugin is the one you intend to replace and your backup or snapshot is complete. This keeps the operation in the WordPress installer instead of requiring manual deletion.

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

If the plugin is listed but the dashboard does not offer an update or replacement, stop before removing files. Confirm the slug and ask your host for filesystem help if necessary; the presence of a listed plugin means the directory may be part of the working installation.

Remove an orphaned plugin directory safely

Use this procedure only when the exact plugin slug from the error is not present in the Installed Plugins list.

  1. Finish the backup. Keep the backup or snapshot from the triage sequence available until the reinstall has been tested.
  2. Open the site’s document root in SFTP, FTP, cPanel File Manager, or your host’s web file console.
  3. Open wp-content/plugins/. Locate the directory whose name exactly matches the slug in the error, including hyphens, underscores, and letter case where the filesystem distinguishes them.
  4. Verify the match before deleting. Check the full path, not just a similar-looking display name. If more than one directory looks plausible, do not guess; provide the error path to your host.
  5. Remove only that directory. Do not select the entire plugins directory or neighboring plugin folders. The operation should target the one non-empty destination WordPress reported.
  6. Return to the dashboard. Go to Plugins → Add New, upload or select the package again, and allow WordPress to create a clean destination.
  7. Check the result. Confirm that the plugin appears under Installed Plugins, then activate it only after verifying that the installation completed without another error.

If the file manager refuses the deletion, do not work around the refusal by deleting a parent directory. Retain the full path and ask the host to remove the orphaned folder.

Remove an orphaned theme directory safely

The theme procedure is parallel, but the consequences of an incorrect deletion are more serious when the folder belongs to the active theme.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Confirm in Appearance → Themes that the theme slug from the error is not listed as an installed theme.
  2. Open the document root and then wp-content/themes/ through SFTP, FTP, cPanel, or the host’s file manager.
  3. Match the exact directory named by the error. Do not infer the slug from a shortened theme title.
  4. Check that the directory is not the active theme or a theme you intend to keep. If it is active or listed, stop and use the theme’s normal update or replacement path instead.
  5. With the backup available, delete only the unlisted, matching orphan directory.
  6. Retry from Appearance → Themes, using the upload or installation control for the theme package.

WordPress uses the same upgrader filesystem abstraction for plugin and theme destinations, so the underlying collision is the same even though the admin screens and folders differ.

Use the replace option when WordPress recognizes the plugin

For an installed plugin, the upload workflow may detect that the destination exists and show an overwrite action rather than forcing you to remove files manually. The relevant label is Replace current with uploaded. This is preferable to targeted deletion when all of the following are true:

  • The plugin is listed under Plugins → Installed Plugins.
  • The upload is intended to replace that same plugin, not install a different package with a similar name.
  • You have a current backup or snapshot.

If the replace action is not shown, do not assume that deleting the directory is safe. Recheck the slug and use the host-assisted route if the dashboard and filesystem state do not agree.

Manual replacement when dashboard installation still fails

A manual upload is useful when the dashboard installer continues to fail after you have confirmed the correct destination and removed an orphaned directory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Obtain the package from its official source. Keep the downloaded archive intact until you have verified it is the package you intend to install.
  2. Unzip it on your computer. Inspect the result and identify the single top-level plugin or theme directory.
  3. Check the directory name. It should use the expected slug so WordPress can detect the package after upload. A package nested inside an extra folder can produce a different path from the one you intended.
  4. Upload to the correct parent directory. Place a plugin under wp-content/plugins/ or a theme under wp-content/themes/.
  5. Replace only after the backup. If an orphan directory with the same slug remains, remove or replace that exact directory—not the parent directory—before uploading the clean copy.
  6. Verify in WordPress. Look for the plugin in Plugins → Installed Plugins or the theme in Appearance → Themes, then activate only when the package is listed correctly.

Depending on your host, the upload can be performed with SFTP/FTP, cPanel File Manager, a web file manager, a file-manager plugin, or WP-CLI. These methods all require the same safeguards: correct parent directory, expected slug, and a backup before replacement. If you use WP-CLI or a host-specific file tool, follow that environment’s syntax and permissions guidance rather than running a command against an uncertain path.

Why a plugin can “disappear” while its folder remains

A failed installation can leave files on disk even when WordPress no longer shows a corresponding admin entry. The reverse can also happen: WordPress can remove the database or plugin listing but fail to remove the directory. In either case, the admin list and the filesystem are temporarily out of sync.

Use the two-state check:

  • Listed and folder present: treat it as an installed item. Activate, update, or replace it; do not delete it just because the folder exists.
  • Not listed and exact folder present: treat it as an orphan candidate. Back up, remove only that directory, and reinstall.
  • Not listed and no folder present: there is no destination collision at that path. Recheck the complete error for a different slug or a theme-versus-plugin location before trying again.

This check explains why reinstalling from the dashboard can fail even though the plugin appears to have vanished: the visible listing is gone, but the destination directory still occupies the slug.

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

Troubleshooting branches when the error persists

The wrong folder was inspected

Compare the full path in the latest error with the path you opened. A plugin conflict under wp-content/plugins/ cannot be fixed by deleting a similarly named theme directory, and vice versa. Use the exact slug after the final slash.

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

The directory name does not match the display name

Plugin and theme titles shown in the dashboard can differ from their filesystem slugs. Trust the destination path and preserve that expected directory name when uploading a replacement.

The package was unpacked into an extra nested directory

After a local unzip, inspect the folder hierarchy before uploading. WordPress must find the plugin or theme files in the directory represented by the destination slug, not one level deeper inside an archive-named folder.

The dashboard cannot remove the directory

Use SFTP, FTP, cPanel, or the host’s web file manager. If those interfaces are unavailable or report an access problem, provide host support with the exact path and explain that it is an orphaned destination from a failed installation. Do not delete the parent plugins or themes directory to bypass the problem.

The theme is active

Stop before deleting it. An active theme is an installed package by definition, so the correct path is an update or deliberate replacement, not orphan cleanup.

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

The replace choice is missing for a plugin

Confirm that the plugin is listed, that the uploaded package is for the same slug, and that the upload is going through the standard plugin installer. If WordPress still does not offer replacement, use the normal update control or obtain host assistance instead of deleting an uncertain directory.

Access and goal checklist

Use these four questions to select a remediation path without guessing:

  • Is the item listed? Listed means activate, update, or replace; unlisted means investigate the exact folder as a possible orphan.
  • What access do you have? Dashboard-only access favors activation or the replace workflow. File-manager, cPanel, FTP/SFTP, or WP-CLI access allows targeted filesystem work.
  • Do you have a restorable backup? If not, create one before deleting or replacing any directory.
  • What is your goal? Activation, an update, a clean reinstall, and a manual replacement are different operations; choose the least destructive one that meets that goal.

Key points to remember

  • “Destination folder already exists” describes a non-empty destination collision; it does not prove that the plugin or theme is unusable.
  • The full error path identifies the slug and whether to inspect wp-content/plugins/ or wp-content/themes/.
  • Always check the WordPress admin list before deleting files.
  • When the item is unlisted, back up first and remove only the matching orphan directory.
  • Use the replace flow for a recognized installed plugin when WordPress presents it.
  • Use SFTP, FTP, cPanel, a host file manager, or host support when the dashboard cannot safely remove the destination.

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.