Skip to content

Bug: File keyring passphrase prompt unresponsive on headless Linux (reads /dev/tty but doesn't accept input) #389

@MasonC-402

Description

@MasonC-402

When using ⁠ gog auth keyring file ⁠ on a headless Linux server over SSH, the passphrase prompt displays but immediately exits without accepting input, making it impossible to authorize an account.

Environment:
•⁠ ⁠OS: Ubuntu Linux (headless, SSH session)
•⁠ ⁠gog version: v0.11.0
•⁠ ⁠Keyring backend: ⁠ file ⁠

Steps to reproduce:
1.⁠ ⁠On a headless Linux server, set the keyring backend to file:
⁠ gog auth keyring file ⁠
2.⁠ ⁠Run any auth command that requires keyring access:
⁠ gog auth credentials /path/to/client_secret.json ⁠
or
⁠ gog auth add user@gmail.com --manual ⁠
3.⁠ ⁠Observe the prompt:
⁠ Enter passphrase to unlock "/home/user/.config/gogcli/keyring": ⁠
4.⁠ ⁠The command exits immediately — no input is accepted

Expected behavior:
The passphrase prompt should accept keyboard input and proceed.

Actual behavior:
The prompt appears briefly and the process exits with code 1, as if the passphrase prompt is reading from ⁠ /dev/tty ⁠ but the TTY interaction fails in a non-desktop SSH environment.

Workarounds attempted:
•⁠ ⁠Setting ⁠ KEYRING_FILE_PASSPHRASE="" ⁠ env var before the command — no effect
•⁠ ⁠Running ⁠ expect ⁠ to automate sending an empty passphrase — no effect
•⁠ ⁠Unlocking via ⁠ gnome-keyring-daemon ⁠ — not installed / not applicable

Suggested fix:
Support a ⁠ GOGCLI_KEYRING_PASSPHRASE ⁠ (or similar) environment variable that bypasses the interactive prompt, allowing headless/CI usage of the file keyring backend.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions