‘Local Adds’ status appears but no file difference — how to fix or detect via API?

Hello everyone,

I’m experiencing an issue with Syncthing where I have multiple folders set as Send Only and Receive Only. These folders sync files created automatically by systems, with no user modifications on either end.

Most of the time (90%), everything works perfectly. However, occasionally, some shares show the “Local Adds” status in the GUI.

What’s puzzling is that when I compare the file counts between local and global states, they are always identical. Inspecting the supposedly “added” files on both ends reveals no differences.

A few times a week, I have to manually click “Revert Local Adds” in the GUI to clear this status. I currently manage 26 shares, so it’s manageable but not ideal.

I’m looking for a way to automatically detect and clear these “fake” local adds, ideally via a scheduled PowerShell script using the Syncthing REST API.

So far, I haven’t found any API field that explicitly shows the “Local Adds” status, and comparing local vs global file counts does not detect these cases.

My questions are:

  • Is there any API endpoint or field that reliably indicates this “Local Adds” status?
  • Does anyone have a script or method to automatically revert these local changes when they appear, without manual intervention?
  • Any other recommendations on how to prevent or fix these phantom “Local Adds” states?

Syncthing version: 1.30.0 (automatic update)

Thanks in advance for your help!

A local modification might be just a timestamp or permission bit. If you can see what differs there may be an option to tell Syncthing to ignore the difference.

As for seeing it in the API, GET /rest/db/status — Syncthing documentation

So I have put all the shares in advanced in “ignore perms”.

I don’t see any difference in the date modified. Both are 07/07/2025 at 10:30 AM.

What should I check?

What options do you have in mind to help?

Thank you

Ignore permissions is the main one, modification time window in some cases.

When you have a file that is in this state, you can run syncthing cli debug file <theFolderID> <theFolderRelativeFilePath> to get more info on the current and expected state of the file, maybe that reveals something useful.

I just tried your command in Terminal as admin on the VM with Syncthing.

I have

‘syncthing’ is not recognized as an internal or external command, operable program or batch file.

Additional information: I installed Syncthing as a service through NSSM (if that makes a difference to you)

Just in case, this is the GET I got for the concerned share with the local adds status:

{
    "errors": 0,
    "pullErrors": 0,
    "invalid": "",
    "globalFiles": 674,
    "globalDirectories": 0,
    "globalSymlinks": 0,
    "globalDeleted": 0,
    "globalBytes": 39769287,
    "globalTotalItems": 674,
    "localFiles": 674,
    "localDirectories": 0,
    "localSymlinks": 0,
    "localDeleted": 0,
    "localBytes": 39769287,
    "localTotalItems": 674,
    "needFiles": 0,
    "needDirectories": 0,
    "needSymlinks": 0,
    "needDeletes": 0,
    "needBytes": 0,
    "needTotalItems": 0,
    "receiveOnlyChangedFiles": 1,
    "receiveOnlyChangedDirectories": 0,
    "receiveOnlyChangedSymlinks": 0,
    "receiveOnlyChangedDeletes": 0,
    "receiveOnlyChangedBytes": 73,
    "receiveOnlyTotalItems": 1,
    "inSyncFiles": 674,
    "inSyncBytes": 39769287,
    "state": "idle",
    "stateChanged": "2025-07-07T11:25:36+02:00",
    "error": "",
    "version": 679,
    "sequence": 679,
    "remoteSequence": {
        " -- ": 674
    },
    "ignorePatterns": true,
    "watchError": ""
}

Not to me, but I guess it means you need to cd to wherever Syncthing is to get it your path to be able to run it. :slight_smile:

Yup.