Files
hermes-agent/cron
Austin Pickett b4969d8e2d fix(tools): explicit empty toolset allowlist must fail closed, not open
An explicitly-set empty allowlist meant 'nothing allowed' everywhere in
prose, but every boundary normalized it away:

- tui_gateway _load_enabled_toolsets converted an empty resolved set to
  None (= no restriction), so platform_toolsets.cli: [] handed the
  session every default toolset (#82010).
- cron create/update normalized enabled_toolsets=[] to null, and the
  dispatch resolver treated a stored [] as absent (falsy), falling back
  to platform_toolsets.cron.

Distinguish unset (None = no restriction, unchanged) from explicit
empty ([] = zero toolsets) end to end: the gateway returns [] bare (no
client-surface fold-in), cron persists and reloads [] verbatim, and
dispatch resolves [] to zero toolsets with no MCP merge. Absent keys
keep today's defaults.
2026-10-06 14:51:26 -04:00
..