Release: 2.3.0.0 (Stable) 2026-04-14

Thanks, the environment variable works, but the enable-folder-status-service option which I understand to be a commandline option for the tray icon still seems not to be recognized if I append it to my launch command.
“C:\Program Files\Duplicati 2\Duplicati.GUI.TrayIcon.exe” --secret-provider=wincred:// --settings-encryption-key=$duplicati-server --enable-folder-status-service
Apr 30, 2026 8:19 PM: Unknown option supplied: enable-folder-status-service

I have verified that the registry keys for the explorer extension have been created.

The release notice disagrees with the help from server (which probably rules).

Duplicati.Server --help | findstr status
--webservice-enable-folder-status-service: Enable the folder status service for showing overlay icons in the file explorer

TrayIcon concurs but escapes findstr so one has to read. Try the help one?

Thank you!

I’ll be setting this up over the weekend. This is a huge security improvement that will likely get overlooked by most people.

--webservice-enable-folder-status-service indeed made the log message disappear, thanks for the hint!

However, I still do not see any status overlay during backup in Windows explorer. The registry entries exist and Windows has been rebooted after their creation.

Am I correct that the icon overlay should work similar to those used by OneDrive, Nextcloud etc.?

Does the overlay appear already when starting the job or in a specific phase of the backup process?

Yes.

The overlay should be visible on all the source folders, indicating that they are being backed up.

I created a small job for testing with two subfolders in source (each containing one file as well as the source root directory with one file) but during the whole run (about 30 seconds) there was no overlay on the included subfolders’/files’ icons (even when the webui indicated that those files were being processed). I also refreshed the Windows explorer view but nothing changed. Not sure what I am doing wrong.

Hello. I updated to version 2.3. I’m using Duplicati as a service on Windows 11.
After the update, Duplicati.CommandLine.ServerUtil.exe stopped working.

“C:\Program Files\Duplicati 2\Duplicati.CommandLine.ServerUtil.exe” --server-datafolder “C:\ProgramData\Duplicati” statusConnecting to http://127.0.0.1:8200/…Failed to obtain a signin token: Missing encryption key.

When I add the --password mysecretpassword parameter, I can use Duplicati.CommandLine.ServerUtil.exe again.
Previously, no password was required.

Will it now always be necessary to add the --password parameter?

I think what happens here is the automatic database encryption.

When starting, Duplicati will auto-create a random encryption key and store it in Windows Credential Manager. Since the service runs in a Service context, that credential manager is not accessible to your regular user. When you run ServerUtil it cannot read the encrypted database, and because of this cannot issue a new token.

If you pass the --password parameter, there is no need to access the database.

You can disable database encryption for the service with --disable-db-encryption=true, so the database can be read by ServerUtil.

Alternative is to fuss out the database encryption password, but in that case it is perhaps simpler to just use the regular password.

You can use the secret provider to store the password.
In the terminal, run:

“C:\Program Files\Duplicati 2\Duplicati.CommandLine.SecretTool.exe" set "wincred://" "duplicati-serverutil-password"

This creates the secret “duplicati-serverutil-password” with the value you type.

Then you can run ServerUtil with:

“C:\Program Files\Duplicati 2\Duplicati.CommandLine.ServerUtil.exe” --secret-provider=wincred:// --password=$duplicati-serverutil-password

And it will use the Windows Credential Manager to resolve the password.
(For MacOS, use keychain:// and for Linux use libsecret://, or see docs for more).

If you want to use the ServerUtil without having to type all that stuff each time, you can use a preload.json file with contents like this:

{
  "args": {
    "serverutil": [ 
        "--secret-provider=wincred://", 
        "--password=$duplicati-serverutil-password" 
    ]
  }
}

If you provide the same arguments on the commandline, these will override the preload, giving you the option to rely on defaults.

The security implication of storing the password in the secret provider is that any process running with the same credentials will have access to the Duplicati server (but not directly the database), but the password is not written in clear on disk.