config set serializes structured values as strings

NousResearch/hermes-agent · cluster 37455 · apps/desktop

Data as of

4 open items. Fix merged in #88163. Check it covers your case.

The short answer

1open issue
3open PRs
19items grouped
Known?
Yes. 19 related items grouped here, 5 issues already closed.
Fix event
A fix was merged to main in PR #88163. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this unresolved. That is separate from the fix event.
Still open
1 issue and 3 PRs.

A recurring bug where 'hermes config set' writes JSON objects, arrays, and lists as raw strings in config.yaml instead of structured YAML, silently breaking plugin loading, fallback chains, and other list-typed config keys. Multiple fix attempts and related parsing patches are represented.

Open issues1

  • Issue#60551config.yaml: agent write guard, and 'hermes config set' writes string scalar for list keys

Open PRs3

  • PR#40546fix(cli): parse JSON object values in config set
  • PR#63569fix: parse JSON-string fallback_providers in YAML config
  • PR#64399fix(cli): hermes config set now parses YAML lists/dicts (#64323)

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #88163 fix(config): parse structured list/dict values in hermes config set (consolidates 8-PR cluster)

    merged to main

    files: hermes_cli/config.py, tests/hermes_cli/test_config_set_list_values.py, website/docs/user-guide/configuring-models.md

  • #118843 config.yaml quoted-string lists are flagged by doctor/startup and no longer written by config set; catalog stars probe re-mints its App token (#83308 #105706 #118113)

    merged to main

    files: .github/workflows/skills-index.yml, hermes_cli/config.py, tests/hermes_cli/test_config_set_list_values.py, tests/hermes_cli/test_config_validation.py, tests/website/test_fetch_plugin_stars.py, website/docs/reference/cli-commands.md, website/scripts/fetch-plugin-stars.py

8 PRs closed without merging

From the close comments: duplicate 2 · superseded by another PR 2 · done elsewhere 1 · merged via another change 1 · partial fix 1 · other 1

  • #37460 fix(config): parse bracket-delimited list values in config set · other → #88163, #59182
  • #40845 fix(cli): persist JSON object/array values as structured YAML in config set · superseded by another PR → #40546
  • #51594 fix(cli): parse JSON-string fallback_providers (#51560) · superseded by another PR → c3021af, #88163, #118843, #105706
  • #52099 fix(fallback): parse JSON-string fallback_providers written by config set · done elsewhere
  • #59182 fix(config): parse list/mapping literals in hermes config set · merged via another change → #88163, #37460
Show 3 more
  • #60558 fix(config): parse JSON list/dict values in config set · duplicate → #40546, #40545, #60551, #44226
  • #64389 fix(config): parse structured config values · partial fix → 84be320, #64323, #64389, #64399, #66439, #40546, #1, #15803, #14532, #6, #9, #374151, #4338
  • #77645 fix(config): persist JSON object/array values as structured YAML in config set (#40545) · duplicate → #40546
Closed issues · 5
  • Closed#37455config set: string value overwrites list for 'enabled' key, silently breaking plugin loading
  • Closed#40545[Bug]: Hermes config set writes JSON object values as strings in config.yaml
  • Closed#51560fallback_providers as JSON string (from 'hermes config set') silently empties the fallback chain — _iter_fallback_entries drops str
  • Closed#63383[Bug]: docker_volumes ignored in Hermes Desktop (works in CLI)
  • Closed#64323`hermes config set` silently writes list values as strings — docker `docker_volumes` mounts then silently no-op (false sense of isolation/config success)
How this cluster was grouped
  • Link evidence (partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
  • Members outside that structural core may belong to a different underlying problem.
  • Pairwise link density 0.10: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
apps/desktop
Merged PRs
#88163, #118843
Closed issues
5
Attempts
8 PRs closed without merging
Fix link checked
22 Sep 2026

For your agent

The same facts, typed.