github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/doc/troubleshooting.md (about) 1 # Troubleshooting the `keybase` command line 2 3 This is a list of problems that people run into frequently. 4 5 ## `pinentry` doesn't work. 6 7 We use `pinentry` in situations where we need a password, but there are many 8 exciting ways for it to break. Here are a couple examples of what that looks 9 like: 10 11 ``` 12 $ keybase login 13 ▶ INFO Forking background server with pid=2409 14 How would you like to sign this install of Keybase? 15 16 (1) Use an existing device 17 (2) Use a paper key 18 (3) Use my Keybase passphrase 19 Choose a signing option: 2 20 ▶ ERROR GETPIN response didn't start with D; got "ERR 83918849 Permission denied <Pinentry>" 21 ``` 22 23 ``` 24 $ keybase decrypt -i my_encrypted_message 25 ▶ ERROR GETPIN response didn't start with D; got "ERR 83918950 Inappropriate ioctl for device <Pinentry>" 26 ``` 27 28 These errors can be an interaction of several different things: 29 30 - What version of `pinentry` you have in your `PATH`. Some of them try to 31 create a graphical window but fall back to the terminal. Some do only one of 32 those things. 33 - Interesting terminal gymnastics. Running in screen or tmux can confuse the 34 curses versions of `pinentry`. Depending on where you first started tmux, you 35 might also end up with an invalid `DISPLAY` environment variable. 36 - Curious account permissions. If you log into your desktop as `userfoo`, and 37 you run something like `sudo -u userbar keybase login`, that might prevent 38 `pinentry` from creating windows. 39 40 One workaround for these problems is to disable pinentry, so that `keybase` 41 reads your password as ordinary terminal input. Use the `--pinentry` flag to do 42 that: 43 44 ``` 45 keybase --pinentry=none login 46 ``` 47 48 To make that configuration permanent, you can run: 49 50 ``` 51 keybase config set -b pinentry.disabled true 52 ```