FTP reply code 550 is the most common permanent failure in FTP file operations. It is the catch-all rejection for any file or directory operation that cannot be performed. The most frequent triggers are: the file does not exist (wrong path or filename), the user does not have permission to access the file (read, write, or execute permission denied), the directory does not exist, or a directory operation failed (cannot delete a non-empty directory, cannot create a directory that already exists). The response text usually provides more detail. Unlike 450 (temporary file unavailability), 550 is permanent — the client should not retry the same operation without changes.
The path specified in RETR, CWD, DELE, or other commands does not exist on the server. The filename may be misspelled, the path may be wrong, or the file may have been moved or deleted.
The authenticated user does not have the necessary filesystem permissions to perform the requested operation. Read permission is needed for RETR, write permission for STOR and DELE, and execute permission for CWD into a directory.
The client sent RMD to remove a directory, but the directory still contains files or subdirectories. FTP's RMD only works on empty directories. Delete the contents first.
The server has configured restrictions on which files or directories can be accessed. This can include chroot jails (users cannot navigate above their home directory), filename filters, or path-based access controls.
Use LIST or NLST to check if the file or directory exists. Use PWD to confirm your current directory. Paths are case-sensitive on Unix-based servers.
curl -v ftp://ftp.example.com/path/
If the file exists but you get 550, you do not have permission. Contact the server administrator to grant the necessary permissions. Use LIST -la to see file permissions.
Try both absolute paths (/home/user/file.txt) and relative paths (file.txt). Some servers interpret paths differently. Use PWD to see where you are and construct the correct path.
If removing a directory, first delete all files inside it with DELE and remove all subdirectories recursively. Then RMD will succeed on the empty directory.
If you recently changed servers, ensure the FTP hostname resolves to the new server where your files actually exist.
Check DNS RecordsThe file operation was not completed because the file is temporarily unavailable.
The filename or path is not allowed by the server's naming rules or access policy.
The file or directory operation was completed successfully.
The directory was created or the current directory path is being returned.