WordPress shows “Installation failed: Destination folder already exists” when the plugin or theme installer finds a directory with the same folder name as the package being installed.
The folder may belong to an existing installation, an incomplete update or files left behind after a failed deletion. Do not delete it until you identify what it contains.
Confirm whether the plugin or theme is already installed
Check Plugins > Installed Plugins or Appearance > Themes. The component may already exist but be inactive. If it is installed normally, update or activate it instead of uploading another copy.
Create a backup
Back up the website files and database before removing or replacing a plugin or theme folder. Custom code, settings or files may exist inside the directory even when WordPress does not list it correctly.
Find the destination folder
Use cPanel File Manager or SFTP. Plugin folders are stored in wp-content/plugins. Theme folders are stored in wp-content/themes.
Locate the folder named in the error. Compare it with the ZIP filename and the official package structure.
Rename the folder instead of deleting it
Rename the existing directory by adding a short suffix such as -old. This disables an active plugin or theme and preserves the files temporarily. Then return to WordPress and install a clean copy.
Test the site before removing the renamed folder. If anything breaks, restore the original name.
Remove files from a failed installation
If the directory is incomplete and clearly belongs to the failed installation, remove it after confirming the backup. Then upload the package again from its official source.
Do not remove folders with similar names. Premium and companion plugins may use related but separate directories.
Check file permissions and ownership
If WordPress created the folder but could not finish copying files, permissions or ownership may be incorrect. Files commonly use 644 and directories 755, although the hosting environment determines the correct values. Never use 777 as a permanent fix.
Check available disk space
A full hosting account can interrupt extraction and leave a partial folder. Review disk and inode usage in cPanel. Clear obsolete backups, caches and logs carefully before retrying.
Inspect the ZIP structure
A valid WordPress plugin or theme ZIP should normally contain one main folder. Repacked archives may create an extra nested folder or use an unexpected directory name. Download a fresh package directly from the developer or WordPress.org.
Preserve customizations
If the existing folder contains custom edits, compare it against the clean release before replacement. Plugin and parent-theme files should not be customized directly. Move legitimate theme changes into a child theme and custom functions into a managed snippet.
When the error returns
Review the server error log and ask the host to check ownership. A recurring folder after deletion may indicate an automated deployment, security restoration or failed update process.
If the issue occurred during an update, use my WordPress update failed guide.
Prevent the error
- Update installed components instead of uploading duplicates.
- Use official installation packages.
- Maintain enough disk space for extraction.
- Avoid editing plugin and parent-theme files.
- Use staging for manual replacements.
The safe fix is to identify the folder, preserve anything important and replace it with a clean copy.
