Introduction
WordPress asks for FTP credentials during updates when it cannot write to its own files the way it expects. That prompt is often treated as normal hosting behavior, but on many setups it is really a sign that file ownership, permissions, or filesystem access is misaligned. Plugins and core updates become slower and more fragile because every change depends on manual credentials. The fix is to restore correct server-side write access so WordPress can update through the intended filesystem path.
Symptoms
- WordPress prompts for FTP or SFTP credentials during plugin, theme, or core updates
- Automatic updates fail or never complete
- The issue started after a migration, hosting change, or permission reset
- Some updates work manually over FTP but fail inside wp-admin
- WordPress can read files, but cannot write or replace them safely
Common Causes
- WordPress files are owned by a different system user than the web server process
- Directory or file permissions block write access to the expected paths
- The temporary directory or upgrade path is not writable
- Server configuration causes WordPress to fall back to an FTP-based filesystem method
- A previous cleanup or deployment changed ownership recursively in the wrong way
Step-by-Step Fix
- Reproduce the FTP credential prompt and confirm which update action triggers it.
- Check the ownership of the WordPress files and compare it with the user running PHP or the web server process.
- Review file and directory permissions for the core WordPress path, uploads, and temporary upgrade directories.
- Confirm the site can write to the expected temp and upgrade paths without relying on manual FTP transport.
- Inspect WordPress and server configuration for filesystem method overrides that may force an unnecessary FTP workflow.
- Compare the current environment to the last known working state if the issue started after a migration or hosting change.
- Correct ownership and write access at the server level instead of using broad unsafe permissions as a shortcut.
- Re-test plugin or core updates from wp-admin after fixing the filesystem path and temporary directories.
- Keep deployment ownership rules documented so future server moves do not bring back FTP prompts during routine updates.