# NousResearch/hermes-agent · Prevent save_config from overwriting config when read returns empty

## Open now

- Nothing open on GitHub.

These issues and PRs concern a bug where save_config collapses an existing config.yaml to fewer sections when the cached or raw read returns empty. The fixes add a guard to refuse overwriting an existing config file in that scenario.

## TL;DR

- 6 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 4 PR(s) closed without merging.
- A fix was merged to main in PR #114227. Verify it addresses your case.
- **Recommended:** read PR #114227 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `resolved` · deciding PR(s): `pr-114227`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.33`: the share of member 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.

## Closed / duplicate issues

- #113301: save_config collapses a config to non-default values when the raw read returns empty (32 sections -> 7)

## Prior & competing PRs

- **#114227: save_config no longer collapses an intact config.yaml when the cached read comes back empty (#113301)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `hermes_cli/config.py`, `tests/hermes_cli/test_config.py`
- **#113321: fix(cli): keep save_config from collapsing over an existing-but-empty config.yaml**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `38870824ad`, `#114227`, `#113301`
- **#113323: fix(config): refuse to save over an existing config that reads empty**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `38870824ad`, `#114227`
- **#113332: fix(cli): refuse to save over an existing config.yaml that reads empty**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#113323`, `#113323`, `#113301`
- **#113383: fix(config): refuse to save over an existing config that reads empty (32 sections -> 7)**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#113323`, `#113301`

## Fix status

- Merged to main in PR #114227 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-17`.
