diagnosing-secrets
Skill6 starsChanged 8 days agoMITView on GitHub
Diagnose Hermes secret and credential management issues — secret sources not resolving, vault locked, egress firewall blocking, and credential pool failures.
- Reads credentials
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- diagnosing-authSkill
- diagnosing-backupSkill
- diagnosing-bot-modeSkill
- diagnosing-browserSkill
- diagnosing-cli-tuiSkill
- diagnosing-commandsSkill
- diagnosing-configSkill
- diagnosing-cronSkill
- diagnosing-desktopSkill
- diagnosing-gatewaySkill
- diagnosing-hooksSkill
- diagnosing-host-pressureSkill
- diagnosing-mcpSkill
- diagnosing-memoriesSkill
- diagnosing-memorySkill
- diagnosing-pathSkill
- diagnosing-pluginsSkill
- diagnosing-profilesSkill
- diagnosing-providersSkill
- diagnosing-runtimeSkill
- diagnosing-sessionsSkill
- diagnosing-skillsSkill
- diagnosing-storageSkill
- diagnosing-triageSkill
- diagnosing-updateSkill
- diagnosing-voiceSkill
- hermes-configuration-guideSkill
- hermes-post-updateSkill
- installing-hermesSkill
- plugin-authoringSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 78
Cause: All credentials in the pool are rate-limited, expired, or revoked.
- Distinctive: line 121
Pass: no credential or secret-related FAIL lines in output.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Diagnosing Secrets
Goal: reduce any secret/credential problem to one concrete fix — a source resolution failure, a vault lock, or an egress rule.
1. How to inspect
hermes secrets bitwarden/hermes secrets onepassword— configure secret sourceshermes secrets bitwarden status/hermes secrets onepassword status— check source statushermes vault list— list vault credentials (locked managers are skipped)hermes vault add <name>— add vault credentialhermes vault rm <name>— remove vault credentialhermes egress status— show egress firewall statushermes egress config— view proxy config pathhermes doctor— flags credential issues
2. Common failures
Secret source not resolving
Symptom: A secret referenced as ${SECRET_NAME} in config is empty or causes "secret not found" errors.
Cause: Secret source (Bitwarden, 1Password) not configured, or secret name doesn't match.
Fix:
hermes secrets bitwarden status # check Bitwarden source
hermes secrets onepassword status # check 1Password source
# Check .env fallback:
cfg=$(hermes config path)
ls "$(dirname "$cfg")/.env" # .env should be beside configVault locked
Symptom: hermes vault list skips locked managers or reports "vault locked".
Cause: Vault password not provided, or key file corrupted. External managers (1Password, Bitwarden) are skipped when locked; unlock happens when the agent needs a login.
Fix:
hermes vault list # lists unlocked items; locked managers skipped
hermes vault sources # show detected password managers
# If local vault key is lost, recreate:
hermes vault rm <name>
hermes vault add <name> # re-add credentialsNote: hermes vault list does not trigger an unlock prompt. Unlocking happens lazily when the agent needs a credential.
Egress firewall blocking
Symptom: Tool calls or API requests fail with connection refused or timeout, but work without egress enabled.
Cause: Egress iron-proxy rules block the destination host or port.
Fix:
hermes egress status # check if egress is active
hermes egress config # view proxy config path
# Edit proxy.yaml to add allow rules, then:
hermes egress reload # hot-reload rulesCredential pool exhausted
Symptom: Provider requests fail with "no available credentials" or "pool empty".
Cause: All credentials in the pool are rate-limited, expired, or revoked.
Fix:
hermes auth status <provider> # check credential pool health
hermes auth list <provider> # list credentials with indices
# Remove expired credential by index:
hermes auth remove <provider> <index>
# Add new credential:
hermes auth add <provider>Secret leaks in logs
Symptom: API keys or tokens appear in ~/.hermes/logs/ or session output.
Cause: Secret referenced in a command argument or logged by a tool.
Fix:
# Check for potential leaks (filenames only, no values):
grep -rl "api_key\|token\|secret" ~/.hermes/logs/ 2>/dev/null | head
# Rotate leaked credentials immediately
# Use ${SECRET_NAME} references instead of inline valuesVerification
hermes vault listPass: exits 0 and lists vault items (or prints empty list); no crash or auth error.
Fail: error or "vault locked" — run hermes vault sources to check detected password managers; for key storage issues, check vault.key_storage in $HERMES_HOME/config.yaml or run hermes doctor.
hermes egress statusPass: reports egress state (active or inactive) without error; if active, rules are listed.
Fail: egress is enabled but requests are still blocked — check hermes doctor for egress errors; if the binary is missing, run hermes egress install to install it.
hermes doctorPass: no credential or secret-related FAIL lines in output. Fail: credential errors present — follow the matching failure section in §2 above.
4. Related
diagnosing-auth— GitHub auth issuesdiagnosing-providers— model provider credential issuesdiagnosing-mcp— MCP server OAuth and credential issues
Facts re-verified 2026-11-01 against upstream source at commit 40804ce4074c561220c4a766e116e07b4873b1c3 (hermes_cli/subcommands/secrets.py, hermes_cli/vault.py, hermes_cli/subcommands/auth.py). Re-verify before reuse.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

