KeePassXC's Secret Service not found with OpenRC


The Client doesn’t recognize KeePassXC’s XDG libsecret implementation (using the openrc init system).

To Reproduce…

Steps to reproduce the behavior:

  1. Install a distribution with OpenRC as the init system (for instance Artix Linux).
  2. Install KeePassXC and enable the secret service implementation.
  3. Install Mailspring and log-in with your Mailspring ID.
  4. See error: “Mailspring couldn’t store your password securely. Make sure you have libsecret installed and a keyring is present. For more information, visit […]”

Expected Behavior

The Mailspring client should recognize and utilize the KeePassXC libsecret implementation.


The error:

A 1 minute recording of the issue:


  • OS and Version: Artix Linux, mainline kernel version: 5.15.12-artix1-1
  • Installation Method: ArchLinux’s User Repository (AUR), built by source from the chaotic-aur repository.
  • Mailspring Version: 1.9.2-6e14dad1

Hi @xtrm

I am not sure, how exactly KeePassXC does implement the libsecret bindings needed. Unfortunately, it feels like this would be something bigger. I was trying out some things regarding the Mailspring key storage (on Mac though), but this was really tiresome and I did not be very successful with any of the things that I tried.

Do you see any more logs if you start Mailspring from the command line?

It does seem to produce some kind of error after the message prompt, see:

❯ mailspring
Running database migrations
App load time: 161ms

(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check
Manual update check ( returned 204
[Error: No such object path '/org/freedesktop/secrets/aliases/default'] {
  message: "No such object path '/org/freedesktop/secrets/aliases/default'"
} { pluginIds: [] }
(node:6057) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated

I am not sure, but it seems like a problem with what KeePassXC exposes and Mailspring tries to use. Maybe this here helps: