{"repo":"NousResearch/hermes-agent","public_id":"4523","display_label":"Messaging toolset registration and configurability fixes","summary":"Multiple fixes addressing 'messaging' and related toolsets (honcho, send_message) being omitted from CONFIGURABLE_TOOLSETS, silently dropped from gateway/platform sessions, or excluded from tool surfaces. Also includes a Discord-specific feature and end-to-end support fix.","subsystem":"agent","counts":{"members":11,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":3,"merged_prs":1,"attempt_prs":7},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":10114},"resolution":{"state":"partially_resolved","by":"pr-10114"},"freshness":{"state":"stale","last_verified_at":"2026-04-15T06:13:35+00:00","is_stale":true},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.1949090909090909},"fix_edges":[{"issue_number":5991,"pr_number":10114,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":8616,"pr_number":10114,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":4523,"title":"fix(honcho): honcho toolset excluded from tool surface when platform_toolsets is configured","url":null,"state":"closed"},{"kind":"issue","number":5991,"title":"Tools registered to non-CONFIGURABLE_TOOLSETS keys are silently dropped from messaging-platform sessions","url":null,"state":"closed"},{"kind":"issue","number":8616,"title":"bug(gateway): messaging toolset missing from CONFIGURABLE_TOOLSETS — send_message silently dropped for all gateway platforms","url":null,"state":"closed"},{"kind":"pr","number":4524,"title":"fix(honcho): auto-enable honcho toolset when platform_toolsets is configured","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":4553,"title":"fix(honcho): auto-enable honcho toolset when configured","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#14408","number":14408}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":6007,"title":"fix(tools): add messaging to CONFIGURABLE_TOOLSETS","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#10114","number":10114},{"kind":"pr","value":"#8934","number":8934}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":8626,"title":"fix(cli): add messaging to configurable toolsets","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"da8bab77f","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":8934,"title":"fix(cli): restore messaging toolset for gateway platforms","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#10114","number":10114},{"kind":"pr","value":"#6140","number":6140},{"kind":"pr","value":"#6007","number":6007}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":9040,"title":"fix(gateway): add messaging toolset to CONFIGURABLE_TOOLSETS","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"da8bab77f","number":0},{"kind":"commit","value":"da8bab77fb762bc554f45da3cc2eb3a823983d4b","number":0},{"kind":"pr","value":"#8616","number":8616}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":10114,"title":"fix(cli): restore messaging toolset for gateway platforms","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/tools_config.py","tests/hermes_cli/test_tools_config.py"],"fix_hunks":[{"file":"hermes_cli/tools_config.py","hunks":["@@ -63,6 +63,7 @@\n     (\"clarify\",         \"❓ Clarifying Questions\",      \"clarify\"),\n     (\"delegation\",      \"👥 Task Delegation\",           \"delegate_task\"),\n     (\"cronjob\",         \"⏰ Cron Jobs\",                 \"create/list/update/pause/resume/run, with optional attached skills\"),\n+    (\"messaging\",       \"📨 Cross-Platform Messaging\",  \"send_message\"),\n     (\"rl\",              \"🧪 RL Training\",               \"Tinker-Atropos training tools\"),\n     (\"homeassistant\",    \"🏠 Home Assistant\",           \"smart home device control\"),\n ]"]},{"file":"tests/hermes_cli/test_tools_config.py","hunks":["@@ -8,6 +8,7 @@\n     _platform_toolset_summary,\n     _save_platform_tools,\n     _toolset_has_keys,\n+    CONFIGURABLE_TOOLSETS,\n     TOOL_CATEGORIES,\n     _visible_providers,\n     tools_command,","@@ -22,6 +23,15 @@ def test_get_platform_tools_uses_default_when_platform_not_configured():\n     assert enabled\n \n \n+def test_configurable_toolsets_include_messaging():\n+    assert any(ts_key == \"messaging\" for ts_key, _, _ in CONFIGURABLE_TOOLSETS)\n+\n+def test_get_platform_tools_default_telegram_includes_messaging():\n+    enabled = _get_platform_tools({}, \"telegram\")\n+\n+    assert \"messaging\" in enabled\n+\n+\n def test_get_platform_tools_preserves_explicit_empty_selection():\n     config = {\"platform_toolsets\": {\"cli\": []}}\n \n"]}]},{"kind":"pr","number":15091,"title":"fix(discord): end-to-end Discord support — toolset loading, tool split, and context injection","url":null,"state":"closed","close_reason":{"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true}],"trust":{"default_tier":"verified","includes_suggested":false}}