Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Allow silencing the keyring-unavailable warning on headless machines

Open
#522 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go
Domain
cli, security

Research direction

Start by locating the code that emits the “system keyring unavailable” warning, then trace how credential-store selection and the --json and --quiet paths handle warnings. Before changing behavior, resolve which requested option is intended; done should cover deliberate file-store selection, appropriate warning behavior for interactive and structured-output runs, and regression coverage.

Written by the indexing model from the issue text.

Description

Context

On a headless Linux server with no Secret Service or keyring, every hey invocation prints:

warning: system keyring unavailable, credentials stored in plaintext at ~/.config/hey-cli/credentials.json

It prints on every call, including --json and --quiet runs. Scripts that capture stdout and stderr together, or that treat any stderr output as a problem, have to filter it out each time, and the line gets into logs and error messages. In our case the real error in a failure report was hidden behind this warning.

The plaintext file fallback is fine for this kind of machine, which runs as a dedicated user with 0600 permissions. The problem is only that the warning can't be turned off.

No account-specific details below.

Ask

  • A way to choose the file store deliberately and silence the warning: hey config set credential_store file, or an env var such as HEY_CREDENTIAL_STORE=file.
  • With --json, put the warning in the JSON (for example a warnings array) instead of writing it to stderr, or print it at most once per machine.
  • Keep showing it by default for interactive first-time setups, where it's useful.

Related (closed): #352, #453 (keyring behaviour on Linux).

Dominant language
Go
Stars
393
Forks
47
Avg merge
1d 1h
Merged PRs (30d)
77

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from basecamp/hey-cli

All issues in basecamp/hey-cli

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.