Rclone check command result doesn't match API diff call result

I want to use the python API module to operate on a remote site. using the diff() method to find differences betwee a local source dir tree and the remote corresponding dest

What is the problem you are having with rclone?

using the diff() method to find differences between a local source dir tree and the remote corresponding destination I get a list of filenames with associated status (=, *, -, +, !)

If I try to get the very same list of filenames by using the “rclone check” I get more or less the same list of files, but some have different status (some of the files marked equal (=) by the command are marked missing on destination (+) by the API call).

To fix the number around 1000 files over a total of 40000 are marked different. The truth is shown by the rclone check command, while the API diff is wrong (i.e.: files declared missing in remote destination are not missing)

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

$ rclone --version
rclone v1.70.3

  • os/version: ubuntu 24.04 (64 bit)
  • os/kernel: 6.8.0-83-generic (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.24.4
  • go/linking: static
  • go/tags: none

$ pip show rclone_api
Name: rclone_api
Version: 1.5.73
Summary: rclone api in python
Home-page: GitHub - zackees/rclone-api: Python Rclone Api - Blazing and well tested python bindings for rclone
Author:
Author-email:
License: BSD 3-Clause License
Location: /usr/local/lib/python3.12/dist-packages
Requires: appdirs, beautifulsoup4, boto3, certifi, download, httpx, psutil, psycopg2-binary, pyright, python-dotenv, sqlmodel
Required-by:

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 -v check  --combined Personale_cmd.txt /home/lfini/Personale proton:luca.bck/Personale


The rclone config contents with secrets removed.

```
[proton]
type = protondrive
username = *****
password = *****
client_uid = *****
client_access_token = *****
client_refresh_token = *****
client_salted_key_pass = *****
replace_existing_draft = true
```


A log from the command with the -vv flag

```
2025/09/22 17:39:05 INFO  : Using sha1 for hash comparisons
2025/09/22 17:39:08 ERROR : tel.txt: sizes differ
2025/09/22 17:39:15.190342 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/UvflpQ9RREdeS5hwR14fSiNMS9nWn6gTi4BkGwnCXcOFZjkBGikgx7g_SmmXGcJCnzWWzHP5byOJy7jH6v-QVQ==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:15+02:00" level=warning msg="Too many requests, retrying after delay" after=9 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/UvflpQ9RREdeS5hwR14fSiNMS9nWn6gTi4BkGwnCXcOFZjkBGikgx7g_SmmXGcJCnzWWzHP5byOJy7jH6v-QVQ==/revisions"
2025/09/22 17:39:15.288780 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/f80Flymj2FETrUEAY5dligSteuhydXbJkI3sCwlqwdxGZZtD7Ql6yJ9hbegqUiBvLgCoy2Y5JMnDS007g0xfKQ==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:15+02:00" level=warning msg="Too many requests, retrying after delay" after=7 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/f80Flymj2FETrUEAY5dligSteuhydXbJkI3sCwlqwdxGZZtD7Ql6yJ9hbegqUiBvLgCoy2Y5JMnDS007g0xfKQ==/revisions"
2025/09/22 17:39:15.452132 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/folders/Q4rjplP_BW0a1i2QCfRVC2g-np4Z-a2o3iyDjw7roBhnDBoq_AjUr1FAj3_kwLNs-j122iXoMVsaxFY8qLdsIA==/children?Page=1&PageSize=150&ShowAll=1: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:15+02:00" level=warning msg="Too many requests, retrying after delay" after=10 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/folders/Q4rjplP_BW0a1i2QCfRVC2g-np4Z-a2o3iyDjw7roBhnDBoq_AjUr1FAj3_kwLNs-j122iXoMVsaxFY8qLdsIA==/children?Page=1&PageSize=150&ShowAll=1"
2025/09/22 17:39:15.938564 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/NEokHjwjYaXC0LLuxBMajJrXGHX1CMJF_kSSPHLzMGvvZtnE8KbUIBAu-fVINJnjbgWvCogNL6dIAJ3DADbELA==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:15+02:00" level=warning msg="Too many requests, retrying after delay" after=5 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/NEokHjwjYaXC0LLuxBMajJrXGHX1CMJF_kSSPHLzMGvvZtnE8KbUIBAu-fVINJnjbgWvCogNL6dIAJ3DADbELA==/revisions"
2025/09/22 17:39:16.052038 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/folders/JTUTckuDrYmiu8DrG7mEceLDzJCUqdgxmqSErbPxhDr2VkDfMSJdLRWgPPgNCvkSSxnZ4XlUinDherzM5SzwuQ==/children?Page=1&PageSize=150&ShowAll=1: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:16+02:00" level=warning msg="Too many requests, retrying after delay" after=9 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/folders/JTUTckuDrYmiu8DrG7mEceLDzJCUqdgxmqSErbPxhDr2VkDfMSJdLRWgPPgNCvkSSxnZ4XlUinDherzM5SzwuQ==/children?Page=1&PageSize=150&ShowAll=1"
2025/09/22 17:39:16.314030 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/Js4BtgRMxGC3MtphfvtUsa4vg6gUQlCj3BsQePy1FZ3NWqDYchvsgf21uxWcso4h4dC7rA7JL80veWI75QoIoA==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:16+02:00" level=warning msg="Too many requests, retrying after delay" after=4 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/Js4BtgRMxGC3MtphfvtUsa4vg6gUQlCj3BsQePy1FZ3NWqDYchvsgf21uxWcso4h4dC7rA7JL80veWI75QoIoA==/revisions"
2025/09/22 17:39:17.036594 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/p-BDH8k0ZrmlNqidFqvRIeONHTnsAjCWG79wKp9n3zDHxZ89xwul1Hhaf37hkoeCINjz8gqWqALNGJMdnf6oBA==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:17+02:00" level=warning msg="Too many requests, retrying after delay" after=5 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/p-BDH8k0ZrmlNqidFqvRIeONHTnsAjCWG79wKp9n3zDHxZ89xwul1Hhaf37hkoeCINjz8gqWqALNGJMdnf6oBA==/revisions"
2025/09/22 17:39:18.250231 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/Nr6QZm-7xsWmSt_db7C-un7cmJo98NpnbTwufdoLT_GujboIuoudgC-3TH8IyBQ3XEyUmnvZ5qZsCZtH1tW2vA==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:18+02:00" level=warning msg="Too many requests, retrying after delay" after=52 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/Nr6QZm-7xsWmSt_db7C-un7cmJo98NpnbTwufdoLT_GujboIuoudgC-3TH8IyBQ3XEyUmnvZ5qZsCZtH1tW2vA==/revisions"
2025/09/22 17:39:21.286557 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/NEokHjwjYaXC0LLuxBMajJrXGHX1CMJF_kSSPHLzMGvvZtnE8KbUIBAu-fVINJnjbgWvCogNL6dIAJ3DADbELA==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 2
time="2025-09-22T17:39:21+02:00" level=warning msg="Too many requests, retrying after delay" after=48 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/NEokHjwjYaXC0LLuxBMajJrXGHX1CMJF_kSSPHLzMGvvZtnE8KbUIBAu-fVINJnjbgWvCogNL6dIAJ3DADbELA==/revisions"
2025/09/22 17:39:22.261786 WARN RESTY 429 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/UWFawpwTpB633V6ax9fgKXx9mtMQlaGI6100rfv495tsTnvK7Pbdq8Kz0mtIHvByRYOrZrla2xXC9Eac-rGdTA==/revisions: Troppe richieste API recenti (Code=429, Status=429), Attempt 1
time="2025-09-22T17:39:22+02:00" level=warning msg="Too many requests, retrying after delay" after=46 method=GET pkg=go-proton-api status=429 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/UWFawpwTpB633V6ax9fgKXx9mtMQlaGI6100rfv495tsTnvK7Pbdq8Kz0mtIHvByRYOrZrla2xXC9Eac-rGdTA==/revisions"

.... many more similsr lines  

2025/09/22 17:53:52.140173 WARN RESTY 503 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/folders/oN3l-EBwb739XUlNUBpkVAV7cO-A5w8IZNBycFKexVK-mIajgTlB4FAIbsPcRUYL1WHeCmhrcTBRTokcvEg==/children?Page=1&PageSize=150&ShowAll=1: 503 Service Unavailable (Code=0, Status=503), Attempt 1
time="2025-09-22T17:53:52+02:00" level=warning msg="Too many requests, retrying after delay" after=16 method=GET pkg=go-proton-api status=503 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/folders/oN3l-EBwb739XUlNUBpkVAV7cO-A5w8IZNBycFKexVK-mIazL1jgTlB4FAIbsPcRUYL1WHeCmhrcTBRTokcvEg==/children?Page=1&PageSize=150&ShowAll=1"
2025/09/22 17:53:52.140173 WARN RESTY 503 GET https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQQxoTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/_2SQCJ2RAVBH_WcTGRhnJ44bcLe_OZPJ_d3A3-8W4G3XaP_W5LwDuvkcrLTSJG6ZK94ms8O4oXFFCDNIoNg==/revisions: 503 Service Unavailable (Code=0, Status=503), Attempt 1
time="2025-09-22T17:53:52+02:00" level=warning msg="Too many requests, retrying after delay" after=14 method=GET pkg=go-proton-api status=503 url="https://mail.proton.me/api/drive/shares/jkl4QDecUpB4N0_SNkejyIONI3vCeyg9lffTLQhRkSQTLsx6SsvFksOkZRuEH2N_Bx-pm1tE1cwet2q0rZA==/files/_2SQCJ2RAVBH_WcTGRhnJ44bcLe_OZPJ_d3A3-8W4G3XaP_W5TCuLwDuvkcrLTSJG6ZK94ms8O4oXFFCDNIoNg==/revisions"
2025/09/22 17:54:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             23492 / 23492, 100%, Listed 51360
Elapsed time:     14m59.9s

2025/09/22 17:55:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             26283 / 26283, 100%, Listed 57633
Elapsed time:     15m59.9s

2025/09/22 17:56:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             27999 / 27999, 100%, Listed 61912
Elapsed time:     16m59.9s

2025/09/22 17:57:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             30044 / 30044, 100%, Listed 66318
Elapsed time:     17m59.9s

2025/09/22 17:58:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             32890 / 32898, 100%, Listed 70553
Elapsed time:     18m59.9s
Checking:
 *        Foto/2020/09-Varie/20200908_131928.jpg: checking
 *        Foto/2020/09-Varie/20200908_131929.jpg: checking
 *        Foto/2020/09-Varie/20200908_131958.jpg: checking
 *        Foto/2020/09-Varie/20200908_131959.jpg: checking
 *        Foto/2020/09-Varie/20200908_132006.jpg: checking
 *        Foto/2020/09-Varie/20200908_132700.jpg: checking
 *        Foto/2020/09-Varie/20200908_135826.jpg: checking
 *        Foto/2020/09-Varie/20200908_135829.jpg: checking

2025/09/22 17:59:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             35052 / 35052, 100%, Listed 75441
Elapsed time:     19m59.9s

2025/09/22 18:00:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             37721 / 37721, 100%, Listed 79855
Elapsed time:     20m59.9s

2025/09/22 18:01:05 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             38880 / 38880, 100%, Listed 81793
Elapsed time:     21m59.9s

2025/09/22 18:02:03 NOTICE: proton drive root link ID 'luca.bck/Personale': 3 files missing
2025/09/22 18:02:03 NOTICE: proton drive root link ID 'luca.bck/Personale': 7 differences found
2025/09/22 18:02:03 NOTICE: proton drive root link ID 'luca.bck/Personale': 7 errors while checking
2025/09/22 18:02:03 NOTICE: proton drive root link ID 'luca.bck/Personale': 39824 matching files
2025/09/22 18:02:03 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Errors:                 7 (retrying may help)
Checks:             39828 / 39828, 100%, Listed 82743
Elapsed time:     22m58.3s

welcome to the forum,

you posted this as a bug, but as you mentioned, there is no rclone bug.


this is a forum about rclone, not a third-party python api that has not been updated in four months.
so best to post your bug at their forum or github

I’m sorry, I did not realized that rclone_api was not responsibility of the rclone team. Thank you for pointing me to the right place.

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

proton drive

Proton Drive support in rclone is known to be broken and abandoned by the maintainer. Also Proton really does not like heavy users and there is a ton of error in the log. For more information please search this forum.

If rclone(or proton itself) is broken and fails listing files properly no tool based rclone (or maybe any tool) can work...

Edit: you said rclone listing itself is working (does it always work?) so may not be rclone problem after all