Skip to content

fix: hermes doctor reports Nous Portal as 'not logged in' when credentials exist in pool #5807

Description

@nikolay

Bug Description

hermes doctor (and hermes status) report Nous Portal auth as "not logged in" even when valid credentials exist and hermes auth list correctly shows them.

Root Cause

get_nous_auth_status() in hermes_cli/auth.py only checks the legacy providers section of auth.json. When credentials are added via hermes auth add (or stored directly in the credential pool), they live in the credential_pool section and are never seen by the doctor/status checks.

auth.json:
  "providers": {}                    <-- get_nous_auth_status() looks HERE (empty)
  "credential_pool": {
    "nous": [{ ...valid token... }]  <-- hermes auth list looks HERE (has credential)
  }

Steps to Reproduce

  1. Add Nous credentials via hermes auth add (or have them migrate into the credential pool)
  2. Run hermes auth list — shows the credential correctly
  3. Run hermes doctor — reports "Nous Portal auth (not logged in)"

Expected Behavior

hermes doctor should report "logged in" when valid Nous credentials exist in either the legacy provider state or the credential pool.

Fix

get_nous_auth_status() should fall back to checking the credential pool when the legacy provider state is empty — the same pattern already used by get_codex_auth_status().

Environment

  • macOS
  • Hermes Agent latest main

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existsarea/authAuthentication, OAuth, credential poolscomp/cliCLI entry point, hermes_cli/, setup wizardprovider/nousNous Research API (OAuth)type/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions