[protondrive] - Moveto command not working when moving files on drive

What is the problem you are having with rclone?

I have a sync setup that was suddenly not working anymore when combined with the --backup-dir or --suffix options.

I currently have it distilled to a problem in the moveto command that is not working when moving a file from the online protondrive to another folder on the same protondrive, see below.

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

rclone v1.68.2
- os/version: debian bookworm/sid (64 bit)
- os/kernel: 6.9.3-76060903-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.23.3
- go/linking: static
- go/tags: none

I was running v1.67.0 and ran in the same problems.

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

Proton Drive

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

rclone moveto proton:drive/test_file.bak proton:backup/test_file.bak -vv

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

[proton]
type = protondrive
username = <my_email_address>@protonmail.com
password = XXX
2fa = 213722
client_uid = XXX
client_access_token = XXX
client_refresh_token = XXX
client_salted_key_pass = XXX

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

2025/01/03 13:56:33 DEBUG : rclone: Version "v1.68.2" starting with parameters ["rclone" "moveto" "proton:drive/test_file.bak" "proton:backup/test_file.bak" "-vv"]
2025/01/03 13:56:33 DEBUG : Creating backend with remote "proton:drive/test_file.bak"
2025/01/03 13:56:33 DEBUG : Using config file from "/home/niels/.config/rclone/rclone.conf"
2025/01/03 13:56:33 DEBUG : proton drive root link ID 'drive/test_file.bak': Has cached credentials
2025/01/03 13:56:35 DEBUG : proton drive root link ID 'drive/test_file.bak': Used cached credential to initialize the ProtonDrive API
2025/01/03 13:56:38 DEBUG : fs cache: adding new entry for parent of "proton:drive/test_file.bak", "proton:drive"
2025/01/03 13:56:38 DEBUG : Creating backend with remote "proton:backup/"
2025/01/03 13:56:38 DEBUG : proton drive root link ID 'backup': Has cached credentials
2025/01/03 13:56:39 DEBUG : proton drive root link ID 'backup': Used cached credential to initialize the ProtonDrive API
2025/01/03 13:56:40 DEBUG : fs cache: renaming cache item "proton:backup/" to be canonical "proton:backup"
2025/01/03 13:56:41 DEBUG : test_file.bak: Need to transfer - File not found at Destination
2025/01/03 13:56:42.296343 WARN RESTY 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400), Attempt 1
2025/01/03 13:56:42.296388 ERROR RESTY 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:42 ERROR : test_file.bak: Couldn't move: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:42 ERROR : Attempt 1/3 failed with 1 errors and: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:43 DEBUG : test_file.bak: Need to transfer - File not found at Destination
2025/01/03 13:56:43.871477 WARN RESTY 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400), Attempt 1
2025/01/03 13:56:43.871519 ERROR RESTY 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:43 ERROR : test_file.bak: Couldn't move: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:43 ERROR : Attempt 2/3 failed with 1 errors and: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:45 DEBUG : test_file.bak: Need to transfer - File not found at Destination
2025/01/03 13:56:45.556743 WARN RESTY 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400), Attempt 1
2025/01/03 13:56:45.556779 ERROR RESTY 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:45 ERROR : test_file.bak: Couldn't move: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:45 ERROR : Attempt 3/3 failed with 1 errors and: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)
2025/01/03 13:56:45 INFO  : 
Transferred:   	          0 B / 0 B, -, 0 B/s, ETA -
Errors:                 1 (retrying may help)
Elapsed time:        11.7s

2025/01/03 13:56:45 DEBUG : 7 go routines active
2025/01/03 13:56:45 NOTICE: Failed to moveto: 400 PUT https://mail.proton.me/api/drive/shares/NdU4ou4vI9QVUZ2eph1KsOM7m6osgi_Vt6vXhcCtyIUwjsFmWjnjkXad7sqn-C1pqyBiJMCtHF4j6C0Sk1ktXQ==/links/-4GED1yN2N9tzNqPXZT2szCjFQaBWVPhCK57n14OPG-4ZcndPPaDge90MMvveYfF1bLk9CaicPtaqCx704Pcaw==/move: Dieser Wert sollte nicht leer sein. (Code=2000, Status=400)

Things that do work:

  • moving from local drive to protondrive
    rclone moveto test_file.bak proton:test_file.bak -vv
2025/01/03 14:13:23 DEBUG : rclone: Version "v1.68.2" starting with parameters ["rclone" "moveto" "test_file.bak" "proton:test_file.bak" "-vv"]
2025/01/03 14:13:23 DEBUG : Creating backend with remote "test_file.bak"
2025/01/03 14:13:23 DEBUG : Using config file from "/home/niels/.config/rclone/rclone.conf"
2025/01/03 14:13:23 DEBUG : fs cache: adding new entry for parent of "test_file.bak", "/home/niels/drive"
2025/01/03 14:13:23 DEBUG : Creating backend with remote "proton:"
2025/01/03 14:13:23 DEBUG : proton drive root link ID '': Has cached credentials
2025/01/03 14:13:26 DEBUG : proton drive root link ID '': Used cached credential to initialize the ProtonDrive API
2025/01/03 14:13:26 DEBUG : test_file.bak: Need to transfer - File not found at Destination
2025/01/03 14:13:28 DEBUG : test_file.bak: sha1 = 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83 OK
2025/01/03 14:13:28 INFO  : test_file.bak: Copied (new)
2025/01/03 14:13:28 INFO  : test_file.bak: Deleted
2025/01/03 14:13:28 INFO  : 
Transferred:   	          5 B / 5 B, 100%, 5 B/s, ETA 0s
Checks:                 1 / 1, 100%
Deleted:                1 (files), 0 (dirs), 5 B (freed)
Renamed:                1
Transferred:            1 / 1, 100%
Elapsed time:         4.2s

2025/01/03 14:13:28 DEBUG : 8 go routines active
  • copying from protondrive to protondrive
    rclone copyto proton:drive/test_file.bak proton:backup/test_file.bak -vv
2025/01/03 13:55:55 DEBUG : rclone: Version "v1.68.2" starting with parameters ["rclone" "copyto" "proton:drive/test_file.bak" "proton:backup/test_file.bak" "-vv"]
2025/01/03 13:55:55 DEBUG : Creating backend with remote "proton:drive/test_file.bak"
2025/01/03 13:55:55 DEBUG : Using config file from "/home/niels/.config/rclone/rclone.conf"
2025/01/03 13:55:55 DEBUG : proton drive root link ID 'drive/test_file.bak': Has cached credentials
2025/01/03 13:55:57 DEBUG : proton drive root link ID 'drive/test_file.bak': Used cached credential to initialize the ProtonDrive API
2025/01/03 13:55:59 DEBUG : fs cache: adding new entry for parent of "proton:drive/test_file.bak", "proton:drive"
2025/01/03 13:55:59 DEBUG : Creating backend with remote "proton:backup/"
2025/01/03 13:55:59 DEBUG : proton drive root link ID 'backup': Has cached credentials
2025/01/03 13:56:01 DEBUG : proton drive root link ID 'backup': Used cached credential to initialize the ProtonDrive API
2025/01/03 13:56:01 DEBUG : fs cache: renaming cache item "proton:backup/" to be canonical "proton:backup"
2025/01/03 13:56:02 DEBUG : test_file.bak: Need to transfer - File not found at Destination
2025/01/03 13:56:04 DEBUG : test_file.bak: sha1 = 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83 OK
2025/01/03 13:56:04 INFO  : test_file.bak: Copied (new)
2025/01/03 13:56:04 INFO  : 
Transferred:   	          5 B / 5 B, 100%, 2 B/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:         9.4s

2025/01/03 13:56:04 DEBUG : 9 go routines active

Furthermore, I've found this, brief, reddit post: Input/Output error on one folder in proton drive?
That'd indicate Proton changed something on the 13th of December. Which could roughly be true, as similar errors as in my opening post containing "Dieser Wert sollte nicht leer sein." (This value should not be empty.) showed up in my logs from the 11th of December.

welcome to the forum,

can you post that working command?

Sure, see below.
Unfortunately, it doesn't work anymore, as it fails on moving newer files to the backup directory on the online protondrive.

/bin/rclone bisync /home/<username>/drive/ proton:drive --backup-dir1 /home/<username>/.drive_bak/ --backup-dir2 proton:backup --resilient --recover --max-lock 4m --compare size,modtime,checksum --slow-hash-sync-only --fix-case --max-delete 10 --verbose --exclude-if-present .rclone_ignore

Anyone with some pointers maybe?

If there'd be a way to replace the moveto command with a copyto + delete while syncing, that'd probably also fix the issue, as those 2 commands do work on the online drive.

I'm encountering exactly the same problem on Arch with a fresh installation. I'm guessing this is caused by changes that haven't been reflected in Proton-API-Bridge yet.