I am encountering a keyring integration error when running infisical init on Linux while using KeePassXC as my Secret Service provider.
The Error:
When running the command, I get the following output:
$ infisical init
error: failed to fetch credentials from keyring because
[err=something went wrong, failed to retrieve value from system keyring [error=org.freedesktop.Secret.Error.IsLocked]]
Unable to get your login details
Steps to Reproduce:
- Use KeePassXC as the system's Secret Service provider.
- In KeePassXC, go to
Settings → Secret Service Integration and ensure "Confirm when passwords are retrieved by clients" is checked.
- Run
infisical init.
Workaround:
If I uncheck "Confirm when passwords are retrieved by clients" in KeePassXC, infisical init works as expected. The behavior is fully reproducible: re-enabling the option brings the error back immediately.
Important Context (Upstream vs Fork):
I noticed that Infisical uses a fork of the keyring library (github.com/Infisical/go-keyring v1.0.2).
To isolate the issue, I wrote a standalone Go script using the upstream github.com/zalando/go-keyring package to perform basic Get and Set operations. The upstream Zalando package works perfectly and successfully triggers the KeePassXC confirmation prompt without throwing the IsLocked error. This strongly suggests the issue stems from the specific modifications made in the Infisical/go-keyring fork.
Environment:
- OS: Fedora Linux
- Desktop Environment: KDE Plasma
- Secret Service Provider: KeePassXC
I am encountering a keyring integration error when running
infisical initon Linux while using KeePassXC as my Secret Service provider.The Error:
When running the command, I get the following output:
Steps to Reproduce:
Settings → Secret Service Integrationand ensure "Confirm when passwords are retrieved by clients" is checked.infisical init.Workaround:
If I uncheck "Confirm when passwords are retrieved by clients" in KeePassXC,
infisical initworks as expected. The behavior is fully reproducible: re-enabling the option brings the error back immediately.Important Context (Upstream vs Fork):
I noticed that Infisical uses a fork of the keyring library (
github.com/Infisical/go-keyring v1.0.2).To isolate the issue, I wrote a standalone Go script using the upstream
github.com/zalando/go-keyringpackage to perform basicGetandSetoperations. The upstream Zalando package works perfectly and successfully triggers the KeePassXC confirmation prompt without throwing theIsLockederror. This strongly suggests the issue stems from the specific modifications made in theInfisical/go-keyringfork.Environment: