# NousResearch/hermes-agent · Boolean string parsing bugs and fixes

## Open now

- 2 issues, 4 PRs open on GitHub.
- #36648: Quoted false still permits lazy dependency installs
- #41902: \[Bug\]: utils.py
- PR #37328: fix(deps): honor quoted false lazy-install opt-out (#36648)
- PR #41991: fix(utils): preserve env_bool defaults for unset vars
- PR #41992: \[verified\] fix: honor env defaults for missing variables
- PR #49884: fix(voice): respect false-like beep_enabled strings

Multiple bug reports and fixes addressing cases where quoted string values like "false" were not correctly interpreted as boolean false in config, voice, gateway, and dependency-install paths. One unrelated performance fix for pre-compiling regex patterns is also present.

## TL;DR

- 13 member(s): 2 open issue(s), 2 closed issue(s), 4 open PR(s), 0 merged PR(s), 5 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): 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.13`: 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.

## Open related issues

- #36648: Quoted false still permits lazy dependency installs
- #41902: \[Bug\]: utils.py

## Closed / duplicate issues

- #26721: \[Bug\] platforms.<name>.enabled: "false" (quoted) doesn't disable platform
- #49883: \[Bug\]: voice.beep_enabled treats quoted false-like config strings as enabled

## Prior & competing PRs

- **#26741: fix(gateway): coerce quoted "false" string to bool for platform enabled (#26721)**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#27261`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#32713: fix(core): pre-compile regex patterns across 5 files for performance**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `32899279a`
- **#37328: fix(deps): honor quoted false lazy-install opt-out (#36648)**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `tests/tools/test_lazy_deps.py`, `tools/lazy_deps.py`
- **#41991: fix(utils): preserve env_bool defaults for unset vars**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `tests/test_utils_truthy_values.py`, `utils.py`
- **#41992: \[verified\] fix: honor env defaults for missing variables**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#47722`, `#56418`, `#57822`
  - files: `tests/test_utils_truthy_values.py`, `utils.py`
- **#49884: fix(voice): respect false-like beep_enabled strings**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `cli.py`, `hermes_cli/voice.py`, `tests/tools/test_voice_cli_integration.py`
- **#50127: fix(config): use is_truthy_value() for config boolean parsing across 8 paths**. closed without merge
  - maintainer direction: category `silent_close`; implication `active`
- **#50257: fix: parse voice beep_enabled with truthy helper**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#49884`, `#49883`, `#49884`
- **#54419: fix(config): use is_truthy_value() for config boolean parsing**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `9be292f1e`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
