browserpass-native: Error: Unable to fetch and parse login fields

General information

  • Operating system + version:
  • Browser + version:
  • Information about the host app:
    • How did you install it?
    • If installed an official release, put a version ($ browserpass --version):
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?
    • Browserpass extension version as reported by your browser:

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?


Exact steps to reproduce the problem

What should happen?

What happened instead?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 19 (2 by maintainers)

Most upvoted comments

@erayd right, sorry anywhere I said pinentry-console I meant pinentry-tty.

Honestly, it’s just to quench my curiosity that was ignited by the comment up there about wrapper and if you know what you're doing. Plus I like minimalism suckless.org-ness, but true I get what you mean by adding complexity.

For what you are describing, you’ll need to do the following:

  1. Set pinentry-program in gpg-agent.conf to point at your wrapper.
  2. Your wrapper needs to:
    1. Read pinentry commands from gpg-agent on stdin;
    2. Spawn a terminal somewhere, or connect to one you already have around;
    3. In that terminal, spawn pinentry-tty and pipe the input from gpg-agent to it;
    4. Receive stdout from pinentry-tty and pipe it back to gpg-agent.

Note that it is a two-way protocol; so you’ll need to connect the pipes properly rather than just buffering output. Also, did you mean pinentry-tty or pinentry-curses, rather than pinentry-console?

I’m still confused why you want to do this… what is wrong with simply using a normal GUI pinentry? Using a console one instead, the way you are describing, isn’t “keeping it minimal”. Doing that actually adds a bunch of complexity, because you have to implement all that extra communication and add extra dependencies into the pipeline.

Sorry I thought I replied earlier here, my bad!

I managed to solve it by simply removing and re-adding my key to GPG keychain and then rebooting the laptop, not sure why it solved it but works like a charm now!

I realised why it hasn’t been an issue before - It has never required a password when fetching, not through terminal nor browserpass

Thanks for the replies @erayd 👍

I have explicitly mentioned pinentry-tty and pinentry-curses in README now, and I copied over this specific FAQ entry from browserpass-extension to browserpass-native, so that it’s even easier to discover in the future: https://github.com/browserpass/browserpass-native#error-unable-to-fetch-and-parse-login-fields

@siwan05 do let us know if you still experience some issues, but hopefully after you configured any pinentry that has GUI things started to work well for you again 👍