Hermes Agent
Hermes stores providers in two places, then lets CLI and Desktop disagree about them
A Hermes Agent report finds main-chat and auxiliary providers split across custom_providers and providers. CLI merges the views, Desktop may not, and invalid fallback or curator names can survive configuration while failing only when work is routed.
NousResearch/hermes-agent issue #71298 is the inspected primary source: “Bug: providers vs custom_providers dual storage causes CLI/GUI mismatch + model version stuck in profile.” The Windows 11 report describes providers as a dictionary used for auxiliary and fallback models, while custom_providers is a list used for the main chat model. The CLI model picker merges both stores, but Desktop Settings can render only one side. In the supplied profile, Agnes remains pinned to a 2.0 model even though a 2.5 model exists elsewhere; a fallback named deepseek has no provider definition; an auxiliary curator references custom:sensenova while the actual name is custom:sensenova-ds4f; and one local endpoint appears in both stores with different base URLs and model names. The configuration version is 30, so this is current schema behavior rather than a pre-migration file.
The facts
- NousResearch/hermes-agent issue #71298 was created 2026-07-25T08:51:40Z and updated 2026-07-26T00:53:32Z; state is open. - NousResearch/hermes-agent returned 220461 GitHub stars, 25334 open issues, default branch main, and last push 2026-07-26T00:26:22Z. - Latest tagged-release baseline checked: v2026.7.20 published 2026-07-20T18:35:55Z. - The Windows 11 report describes providers as a dictionary used for auxiliary and fallback models, while custom_providers is a list used for the main chat model. - The CLI model picker merges both stores, but Desktop Settings can render only one side. - In the supplied profile, Agnes remains pinned to a 2.0 model even though a 2.5 model exists elsewhere; a fallback named deepseek has no provider definition; an auxiliary curator references custom:sensenova while the actual name is custom:sensenova-ds4f; and one local endpoint appears in both stores with different base URLs and model names. - The configuration version is 30, so this is current schema behavior rather than a pre-migration file.
What changed
The Windows 11 report describes providers as a dictionary used for auxiliary and fallback models, while custom_providers is a list used for the main chat model. The CLI model picker merges both stores, but Desktop Settings can render only one side. In the supplied profile, Agnes remains pinned to a 2.0 model even though a 2.5 model exists elsewhere; a fallback named deepseek has no provider definition; an auxiliary curator references custom:sensenova while the actual name is custom:sensenova-ds4f; and one local endpoint appears in both stores with different base URLs and model names. The configuration version is 30, so this is current schema behavior rather than a pre-migration file. The primary record was inspected with its timestamps, state, body, and adjacent project records. ClawCharts supplied the assignment list; it does not establish the claim.
Why it matters
Provider configuration is executable routing policy. Two partly overlapping stores without one effective-state view make model changes, fallbacks, and auxiliary tasks hard to audit. A typo can become a silent missing worker, and identical-looking local providers can send traffic to different URLs or models. The operational test is whether persisted state, visible control, and runtime behavior agree at the handoff where authority changes.
Current
Issue #71298 was open after a July 26 update. Hermes Agent’s latest tagged baseline was v2026.7.20. The source is specific to Desktop on Windows with custom profiles; it does not establish identical GUI behavior on every platform. Current Kanban idempotency and Windows path reports reinforce the project’s active work on deterministic control surfaces. Repository metadata, current issues and pull requests, release baseline, Hacker News discovery, and the rendered ranking row were checked. Weak search residue and historically used source spines were not promoted.
Evidence
The primary URL is https://github.com/NousResearch/hermes-agent/issues/71298. Supporting links are inspected current project records that establish implementation, adjacent direction, or boundary conditions. Dates, reproductions, test totals, and deployment observations remain attributed to their authors unless this brief explicitly says they were independently rerun.
Source boundary
Open work is described as open, merged work as merged, and operator reports as reports. A closed issue or passing branch test is not silently translated into a released fix. Ranking explains why the project was scanned; it does not prove correctness, adoption, or package behavior.
Operator take
Before changing credentials or deleting provider entries, enumerate provider names, owning config section, active profile, effective model, and fallback references without printing secret values. The durable repair is one cross-validated projection shared by CLI and Desktop, with startup errors for dangling names. Preserve a before-state receipt and verify the narrowest invariant where state changes. Do not broaden permissions or delete state merely because the visible symptom is inconvenient.
Caveat
Public project records are mutable. Source state was captured at publication time, and later revisions may change status, scope, or evidence. No source here authorizes automatic mutation of a reader’s deployment.
Source inspected; source state, environment, and release boundary remain explicit.