Calling op command from another application

xphyr
xphyr
Community Member

Hi I am trying to call the op command from within another Go application (https://github.com/xphyr/kubectl-passman/blob/passmanfix/1password.go#L70) however when I run the command I get the following:

$ kubectl-passman 1password ocp-acm-markd-3 "$(cat passman-b64.json)"
4:12PM | DEBUG | NM request: NmRequestAccounts
[ERROR] 2022/10/20 16:12:17 connecting to desktop app: read: connection reset, make sure the CLI is correctly installed and CLI Biometric Unlock is enabled in the 1Password app

However if I run the op command from the same terminal it pops up a dialog to put in my system password (as expected) and then the op command works. I am wondering if there might be environment variables missing, or something else you can think of.

Thanks for your time.


1Password Version: Not Provided
Extension Version: Not Provided
OS Version: Not Provided
Browser:_ Not Provided

Comments

  • xphyr
    xphyr
    Community Member

    One thing of particular interest ... if I run my app on a Mac, it works just fine. I will build a Windows box to test there as well, but looks like this might be a Linux thing ... not 100% sure yet. Would be interested in any thoughts you might have on this.

  • Hi @xphyr , it seems that in the your undesired behaviour case, the CLI thinks that your intention is to authenticate via Biometric Unlock. This could be because you have the OP_BIOMETRIC_UNLOCK_ENABLED environment variable set to true or because your config file indicates this way, which in turn means that in your desktop application you have enabled in your Preferences that you would like the CLI to authenticate via biometric unlock.

    Let me know if this helps,
    Andi

This discussion has been closed.