Finder fixes and how-tos
Error -50 doesn't say what went wrong, only that a copy or move was refused. Here is how to make Terminal name the real error, and four checks to work through in order.
Error -50 is a catch-all. Finder shows it as:
The operation can’t be completed because an unexpected error occurred (error code -50).
Apple's old error header defines -50 as paramErr, "error in user parameter list". In plain terms, Finder asked for something the disk or its format wouldn't accept, and it has no better wording for why. The number alone does not name the cause.
The quickest way to get a real answer is to repeat the same copy in Terminal, which reports the specific failure instead of a number:
cp -v "/path/to/the file" "/Volumes/<DriveName>/"
Type cp -v , drag the file onto the Terminal window so its path is filled in, then type the destination. If that copy works, the file and the drive are fine and the failure was Finder's. If it prints an error, the table in check 2 says where to look.
Reports of -50 cluster around the same few situations. These are common causes, not guaranteed ones.
| What you were doing | What to check first |
|---|---|
| Copying to a USB drive, SD card or external disk | The drive's format and the file's name (checks 1 and 3) |
| Copying to or from a network share | The name, then the share's own limits (check 1) |
| Moving or renaming a file in your own folders | Locks and attributes (check 4) |
| It started after a drive was pulled out without ejecting | First Aid (check 3) |
Renaming the file to plain letters and numbers costs ten seconds, so try it first. Microsoft's file naming page lists the characters Windows names can't contain: < > : " / \ | ? *. On a USB drive that matters less than you might expect: on the Mac used for this guide (macOS 15.6), cp copied names containing ?, *, :, ", < and | to FAT32 and exFAT disk images without an error. Such names may still look odd on a Windows PC, and network shares and NAS drives apply their own rules, so a name full of symbols, or a very long one, is still worth ruling out. Rename it, shorten it and try the copy again.
Run the cp -v command above. The error text is the useful part:
| Terminal prints | What it means |
|---|---|
Illegal byte sequence | A character in the name can't be stored there. Rename it. |
File name too long | Shorten the name, or the folder names above it. |
File too large | The file is bigger than the drive's format allows (on FAT32, 4 GB or more). See check 3. |
No space left on device | The drive is full. Free some space or use another drive. |
Read-only file system | The drive is mounted read-only. See what to do when an external drive is read-only. |
Operation not permitted | A permission, privacy or lock problem (check 4). |
Invalid argument | The destination refused something about the request. Try a plain name, then the cp -X copy in check 4. |
Input/output error | The disk had trouble. Go to check 3. |
If the copy succeeds, you have your file. Keep that Terminal copy and treat the Finder failure as a one-off.
Find out what the drive is formatted as:
diskutil info "/Volumes/<DriveName>"
Look at the File System Personality line. MS-DOS FAT32 and ExFAT are the Windows-compatible formats; APFS is a Mac one. FAT32 can't hold a file of 4 GB or more. Finder usually reports that case in plain words ("too large for the volume's format") rather than as -50, but if your file is that big, the format is the cause, and formatting an external drive for both Mac and Windows covers the options. Formatting erases the drive, so copy everything off first.
Then run First Aid. Open Disk Utility (Applications > Utilities), choose View > Show All Devices, select the drive's volume, click First Aid and then Run. Apple's guide says to run it on each volume and container in turn, then on the device itself. If Disk Utility says the disk is about to fail, back up what you can and replace it; Apple notes that it can't be repaired.
A file can carry flags and extended attributes that a plain copy trips over. Two listings show them:
ls -l@ "/path/to/the file"
ls -lO "/path/to/the file"
ls -l@ lists extended attributes (tags, quarantine marks and similar) under the file. ls -lO adds the file's flags to the listing; a flag called uchg means the file is locked. In Finder, File > Get Info has a Locked checkbox for the same thing. The guide to extended attributes explains what you may find. If you suspect attributes are the problem, cp -X copies the file without them, so the destination doesn't have to store them. You lose tags and Finder comments on that copy, not the contents.
One more cheap test: restart the Mac and try again with the drive plugged straight into a port, not through a hub. If the error survives that, one of the checks above found it or the file itself is damaged.
If the file that fails is a download, an export or a photo, there may be another copy somewhere that copies cleanly. In Everywhere, type part of the file's name, select the result and press ⌘D: it lists the other files with that name in its index, including ones on a catalogued drive that is unplugged, which are marked offline. A drive is only in its index once Everywhere has Full Disk Access.
It is a generic refusal: Finder asked for something the disk or its format wouldn't accept. Copy the file with cp -v in Terminal to see the specific error, which usually points to the drive's format, its free space, a lock or a disk that needs First Aid.
Copy the file with cp -v in Terminal to see the real error, try a plain file name, check the drive's format with diskutil info, then run First Aid in Disk Utility.
Usually not. The copy or move did not complete, so check that the file still opens from where it was before you try anything else.
Run the same copy in Terminal with cp -v to see the underlying error. FAT32 can't hold a file of 4 GB or more, a drive pulled out without ejecting may need First Aid, and file names are worth simplifying as a quick test.
Everywhere keeps track of every file on your Mac, including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised