Skip to content

hermes: HINDSIGHT_BANK_ID is ignored when config.json exists #5600

Closed

Description

@nicoloboschi

The README says HINDSIGHT_BANK_ID sets the bank. That only works when there is no config.json.

  • With no config file, _load_config() builds the config from env vars and reads HINDSIGHT_BANK_ID.
  • With a config.json (which setup writes), _apply_connection_settings uses bank_id, then banks.hermes.bankId, then "hermes". It never reads HINDSIGHT_BANK_ID, even when the file has no bank id.

So a user who sets HINDSIGHT_BANK_ID in their profile .env silently writes to and reads from the hermes bank. The same applies to the other env fallbacks in _load_config (HINDSIGHT_MODE, HINDSIGHT_API_KEY, HINDSIGHT_BUDGET...).

Decision needed: what wins, config.json or env? Suggested: an explicit value in config.json wins, and env fills any key the file leaves out. Then update the README to match.

Reported in the Hermes repo by @mkslzk (NousResearch/hermes-agent#51375, issue #51166) and @westkite1201 (NousResearch/hermes-agent#51173). Split out of #4662.

Activity

  1. nicoloboschi commented on Oct 22, 2026

    @nicoloboschi
    CollaboratorAuthor

    Fixed in #5538 (10b14dd): HINDSIGHT_BANK_ID now wins over config.json. Other env vars are ignored when config.json exists, by design; the README now documents this (#5521).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions