WordPress 'Installation Failed: Could Not Create Directory' Fix (2026)
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.
"Installation failed: could not create directory." WordPress tried to unzip into wp-content/plugins and the server said no. It's filesystem permissions or ownership - the zip is fine. Three causes in order of likelihood: wrong permissions, wrong ownership, full disk.
Fix 1: Set Correct Permissions
- Folders: 755 - owner writes, everyone reads/executes
- Files: 644 - owner writes, everyone reads
- wp-config.php: 600 or 640 - tighter, credentials live here
Via FTP: right-click wp-content > File permissions > 755, check "Recurse into subdirectories > Apply to directories only". Repeat with 644 for "Apply to files only". Retest the install.
Fix 2: Fix Ownership (755 Didn't Work)
Permissions look right but installs still fail? The web server user (www-data, apache, nobody) doesn't own the files - common after migrations where files arrived via root or a different account. Via SSH:
chown -R www-data:www-data /path/to/site/wp-content
No SSH? Open a support ticket: "Please reset ownership on wp-content so the web server user can write." Managed hosts fix this in minutes. Do not solve this by chmodding to 777 - it fixes the symptom by opening your site to any process on the server.
Fix 3: Check Disk Quota
Check your hosting panel's disk usage. At or near quota? WordPress can't create anything. Biggest space hogs: old backup archives stored in wp-content, duplicate/staging installs, and error logs. Clear them or upgrade storage.
Fix 4: Manual Install as Workaround
- 1.Download the plugin/theme zip, extract on your computer
- 2.FTP the extracted folder into wp-content/plugins (or /themes)
- 3.Dashboard > Plugins > Activate
Gets you unstuck today - but every update will fail the same way until permissions/ownership are corrected. If you also saw "Destination folder already exists" before this, an earlier failed install left a folder behind: destination folder fix.
Why "Use FTP Credentials" Appears Instead
Same root cause, different face: when WordPress detects it can't write, it asks for FTP credentials to do the write as your user. On shared hosts this usually works - but on localhost or misconfigured servers it fails too, and then the underlying fix is still permissions. Related: 403 errors can also trace to folder permissions set too tight (711, 700).
Permissions Done Right Out of the Box
Bluehost's WordPress environment ships with correct ownership and sane permissions - $3.99/mo, free domain, 24/7 support if anything drifts.
Get Bluehost from $3.99/moWhat are you building?
Tell us about your project so we can match the perfect hosting plan.
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)
Frequently Asked Questions
What does 'Could not create directory' mean in WordPress?
WordPress tried to unzip a plugin/theme into wp-content/plugins or wp-content/themes and the web server user doesn't have write permission on that folder. It's a server-level filesystem problem - the install package is fine.
What are the correct WordPress folder permissions?
755 for all folders (owner can write, others read/execute), 644 for all files, and 600 or 640 for wp-config.php. Never use 777 - it's a security hole that lets anyone write to your site.
I set 755 but it still fails - why?
Ownership, not permissions. If the web server runs as user 'www-data' but files are owned by your FTP user, 755 isn't enough - the server needs to be the owner or group. Fix ownership via SSH (chown -R www-data:www-data) or ask your host to reset ownership.
Can a full disk cause this error?
Yes - a quota-exceeded hosting account can't create anything. Check disk usage in your hosting panel; clear old backups, unused installs, and logs if you're at quota.
Why does it only fail on uploads but posts work?
wp-content/uploads may have different ownership than the rest - often after a migration where files were copied as root. Same fix: correct ownership recursively on the uploads folder.
Is there a workaround without fixing permissions?
Manual install: download the plugin/theme zip, extract locally, upload the folder via FTP into wp-content/plugins or wp-content/themes, then activate in the dashboard. Works, but you'll hit the same wall on every update until permissions are fixed.
Ready to launch?
Get Bluehost from $3.99/month with a free domain, free SSL, and 30-day money-back guarantee.
Related Articles
Bluehost vs Competitors: The Technical Deep Dive
We ran 47 benchmarks over 90 days. Here's the raw data on why Bluehost dominates.
Fix ERR_TOO_MANY_REDIRECTS in WordPress (2026): The 6 Real Causes
ERR_TOO_MANY_REDIRECTS means an infinite redirect loop. Match your Site URLs, fix Cloudflare SSL mode, reset .htaccess, kill plugin conflicts - step-by-step with code.
WordPress 403 Forbidden Error: 7 Fixes That Actually Work (2026)
403 means the server understood you but refuses to serve the page. Fix file permissions (755/644), regenerate .htaccess, kill security plugin blocks - in the right order.
Fix 502 Bad Gateway in WordPress (2026): Diagnose First, Then Fix
502 means the gateway got a bad response from your server - usually PHP timeouts, CDN issues, or overload. A 9-step diagnostic workflow from browser checks to server logs.
Fatal Error: Maximum Execution Time Exceeded - 6 Fixes (2026)
max_execution_time kills slow updates at 30-60s. Fix the culprit plugin/theme first, then raise the limit via wp-config, .htaccess or php.ini - with exact code.
HTTP Error Uploading Images in WordPress: 9 Fixes Ranked (2026)
The vague 'HTTP error' on image upload usually means memory limits or Imagick. Fix order: rename the file, bump memory, force GD library, check permissions - with code.