Copying fails on macOS Finder-locked files

Hello,
I'm doing some local file copies on macOS and noticed that rclone fails on files that are locked via Finder. The error I get is `errno -1` or `operation not permitted`.
I'm wondering if there's a built-in way to handle this, or if rclone could perhaps detect this state and provide a more specific error message to help with diagnosis?
Thank you for your help!

Run the command 'rclone version' and share the full output of the command.

rclone v1.74.2

  • os/version: darwin 15.7.7 (64 bit)
  • os/kernel: 24.6.0 (arm64)
  • os/type: darwin
  • os/arch: arm64 (ARMv8 compatible)
  • go/version: go1.26.3
  • go/linking: dynamic
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Local filesystem (macOS), including external hard drives

The command you were trying to run (eg rclone copy /tmp remote:tmp)

```
rclone copy /local/path /another/local/path
```

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

```
[OneDrive]
type = onedrive
token = XXX
drive_id = XXX
drive_type = personal

[OneDrive-encrypted]
type = crypt
remote = OneDrive:
filename_encryption = off
directory_name_encryption = false
password = XXX
```

A log from the command that you were trying to run with the -vv flag

```
2026/05/31 10:51:56 DEBUG : rclone: Version "v1.74.2" starting with parameters ["rclone" "copy" "/local/path/source" "/local/path/dest" "-vv"]
2026/05/31 10:51:56 DEBUG : Creating backend with remote "/local/path/source"
2026/05/31 10:51:58 DEBUG : Using config file from "/Users/user/.config/rclone/rclone.conf"
2026/05/31 10:51:58 DEBUG : Creating backend with remote "/local/path/dest"
2026/05/31 10:51:58 DEBUG : File 1.txt: Need to transfer - File not found at Destination
2026/05/31 10:51:58 DEBUG : File 2.txt: Need to transfer - File not found at Destination
2026/05/31 10:51:58 DEBUG : Local file system at /local/path/dest: Waiting for checks to finish
2026/05/31 10:51:58 DEBUG : .DS_Store: size = 6148 OK
2026/05/31 10:51:58 DEBUG : File 3.txt: size = 14 OK
2026/05/31 10:51:58 DEBUG : File 3.txt: Size and modification time the same (differ by 0s, within tolerance 1ns)
2026/05/31 10:51:58 DEBUG : .DS_Store: Size and modification time the same (differ by 0s, within tolerance 1ns)
2026/05/31 10:51:58 DEBUG : File 3.txt: Unchanged skipping
2026/05/31 10:51:58 DEBUG : .DS_Store: Unchanged skipping
2026/05/31 10:51:58 DEBUG : Local file system at /local/path/dest: Waiting for transfers to finish
2026/05/31 10:51:58 DEBUG : /local/path/dest/File 2.txt.6d9e3c05.partial: isCloned: false, error: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 DEBUG : /local/path/dest/File 1.txt.3ecec7eb.partial: isCloned: false, error: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 ERROR : File 2.txt: Failed to copy: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 ERROR : File 1.txt: Failed to copy: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 INFO  : File 2.txt.6d9e3c05.partial: Removing failed copy
2026/05/31 10:51:58 INFO  : File 1.txt.3ecec7eb.partial: Removing failed copy
2026/05/31 10:51:58 INFO  : File 2.txt.6d9e3c05.partial: Failed to remove failed copy: remove /local/path/dest/File 2.txt.6d9e3c05.partial: operation not permitted
2026/05/31 10:51:58 INFO  : File 1.txt.3ecec7eb.partial: Failed to remove failed copy: remove /local/path/dest/File 1.txt.3ecec7eb.partial: operation not permitted
2026/05/31 10:51:58 ERROR : Attempt 1/3 failed with 2 errors and: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 DEBUG : File 1.txt: Need to transfer - File not found at Destination
2026/05/31 10:51:58 DEBUG : File 2.txt: Need to transfer - File not found at Destination
2026/05/31 10:51:58 DEBUG : .DS_Store: size = 6148 OK
2026/05/31 10:51:58 DEBUG : .DS_Store: Size and modification time the same (differ by 0s, within tolerance 1ns)
2026/05/31 10:51:58 DEBUG : .DS_Store: Unchanged skipping
2026/05/31 10:51:58 DEBUG : Local file system at /local/path/dest: Waiting for checks to finish
2026/05/31 10:51:58 DEBUG : /local/path/dest/File 1.txt.3ecec7eb.partial: isCloned: false, error: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 DEBUG : File 3.txt: size = 14 OK
2026/05/31 10:51:58 DEBUG : File 3.txt: Size and modification time the same (differ by 0s, within tolerance 1ns)
2026/05/31 10:51:58 ERROR : File 1.txt: Failed to copy: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 DEBUG : File 3.txt: Unchanged skipping
2026/05/31 10:51:58 INFO  : File 1.txt.3ecec7eb.partial: Removing failed copy
2026/05/31 10:51:58 DEBUG : Local file system at /local/path/dest: Waiting for transfers to finish
2026/05/31 10:51:58 DEBUG : /local/path/dest/File 2.txt.6d9e3c05.partial: isCloned: false, error: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 ERROR : File 2.txt: Failed to copy: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 INFO  : File 1.txt.3ecec7eb.partial: Failed to remove failed copy: remove /local/path/dest/File 1.txt.3ecec7eb.partial: operation not permitted
2026/05/31 10:51:58 INFO  : File 2.txt.6d9e3c05.partial: Removing failed copy
2026/05/31 10:51:58 INFO  : File 2.txt.6d9e3c05.partial: Failed to remove failed copy: remove /local/path/dest/File 2.txt.6d9e3c05.partial: operation not permitted
2026/05/31 10:51:58 ERROR : Attempt 2/3 failed with 2 errors and: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 DEBUG : File 1.txt: Need to transfer - File not found at Destination
2026/05/31 10:51:58 DEBUG : .DS_Store: size = 6148 OK
2026/05/31 10:51:58 DEBUG : .DS_Store: Size and modification time the same (differ by 0s, within tolerance 1ns)
2026/05/31 10:51:58 DEBUG : File 2.txt: Need to transfer - File not found at Destination
2026/05/31 10:51:58 DEBUG : .DS_Store: Unchanged skipping
2026/05/31 10:51:58 DEBUG : File 3.txt: size = 14 OK
2026/05/31 10:51:58 DEBUG : File 3.txt: Size and modification time the same (differ by 0s, within tolerance 1ns)
2026/05/31 10:51:58 DEBUG : File 3.txt: Unchanged skipping
2026/05/31 10:51:58 DEBUG : Local file system at /local/path/dest: Waiting for checks to finish
2026/05/31 10:51:58 DEBUG : Local file system at /local/path/dest: Waiting for transfers to finish
2026/05/31 10:51:58 DEBUG : /local/path/dest/File 1.txt.3ecec7eb.partial: isCloned: false, error: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 ERROR : File 1.txt: Failed to copy: couldn't copy from /local/path/source/File 1.txt to /local/path/dest/File 1.txt.3ecec7eb.partial: errno -1
2026/05/31 10:51:58 INFO  : File 1.txt.3ecec7eb.partial: Removing failed copy
2026/05/31 10:51:58 DEBUG : /local/path/dest/File 2.txt.6d9e3c05.partial: isCloned: false, error: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 ERROR : File 2.txt: Failed to copy: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 INFO  : File 2.txt.6d9e3c05.partial: Removing failed copy
2026/05/31 10:51:58 INFO  : File 1.txt.3ecec7eb.partial: Failed to remove failed copy: remove /local/path/dest/File 1.txt.3ecec7eb.partial: operation not permitted
2026/05/31 10:51:58 INFO  : File 2.txt.6d9e3c05.partial: Failed to remove failed copy: remove /local/path/dest/File 2.txt.6d9e3c05.partial: operation not permitted
2026/05/31 10:51:58 ERROR : Attempt 3/3 failed with 2 errors and: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
2026/05/31 10:51:58 INFO  : 
Transferred:   	          0 B / 0 B, -, 0 B/s, ETA -
Errors:                 2 (retrying may help)
Checks:                 6 / 6, 100%, Listed 24
Elapsed time:         0.0s

2026/05/31 10:51:58 DEBUG : 4 go routines active
2026/05/31 10:51:58 NOTICE: Failed to copy with 2 errors: last error was: couldn't copy from /local/path/source/File 2.txt to /local/path/dest/File 2.txt.6d9e3c05.partial: errno -1
```

What does it mean "locked via Finder"?

Select a file, press Cmd+I (Get Info), and check the "Locked" box.

rclone copies file content and all its attributes but by default uses intermediary stage (file with .partial extension). As locked attribute is also copied subsequent rename operation fails.

For local operations use --inplace flag as a workaround.

That worked perfectly! Thank you!

It’s the equivalent of running the macOS Unix command

chflags nouchg <filename>

and the matching

chflags uchg <filename>