hermes - ✅(Solved) Fix [Bug]: WEB tools not being disabled even after disabling. [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#17309Fetched 2026-04-30 06:48:30
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
labeled ×3cross-referenced ×1

Error Message

Additional Logs / Traceback (optional)

Root Cause

Root Cause Analysis (optional)

Fix Action

Fixed

PR fix notes

PR #17343: Enforce subtractive toolset filtration in tool resolution logic

Description (problem / solution / changelog)

Problem

Composite toolsets (like browser or hermes-cli) were able to bypass the disabled_toolsets filter because the resolution logic used a mutually exclusive if/elif check. If an enabled toolset added a tool (e.g., web_search), the "disabled" logic was never triggered for that session. Additionally, the disabled_toolsets setting in config.yaml was not being correctly propagated to the agent.

Solution

  • Strict Subtraction: Refactored model_tools._compute_tool_definitions to use a two-phase resolution process. It now gathers all tools from enabled sets first, and then strictly performs a difference_update using all tools from the disabled sets. This ensures that "disabled" always beats "enabled".

  • Config Bridge: Updated HermesCLI to read disabled_toolsets from the global config and pass them to the AIAgent during initialization.

  • Schema Support: Added the disabled_toolsets key to the default configuration schema to ensure persistence.

Verification Results

  • Verified that with agent.disabled_toolsets: ["web"], the web_search tool is strictly absent from the final tool list, even when the browser toolset is active.

verified with hermes chat --verbose

fix #17309

Changed files

  • cli.py (modified, +4/-1)
  • hermes_cli/config.py (modified, +1/-0)
  • model_tools.py (modified, +9/-6)

Code Example

Report       https://paste.rs/MwdAU
agent.log    https://paste.rs/i1QkR
gateway.log  https://paste.rs/tM2Hg

---
RAW_BUFFERClick to expand / collapse

Bug Description

Hi, I have disabled the web browser tools and some other tools but they are not being disabled for some reason.

Steps to Reproduce

  1. Run Latest Hermes.
  2. Disable web browser tools.
  3. Ask AI to tell what tools it has and it says it has the browser management tools plus others but focusing on web browser tools here. I dont know if this happens with other tools as well.

Expected Behavior

Tools should not be seeable by the LLM and completely disabled.

Actual Behavior

Tools still visible by LLM even though tools list shows they are disabled

Affected Component

Tools (terminal, file ops, web, code execution, etc.)

Messaging Platform (if gateway-related)

No response

Debug Report

Report       https://paste.rs/MwdAU
agent.log    https://paste.rs/i1QkR
gateway.log  https://paste.rs/tM2Hg

Operating System

Mac OS

Python Version

3.11.15

Hermes Version

2.32.0

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

extent analysis

TL;DR

The issue may be resolved by re-examining the tool disabling process in Hermes, ensuring that the tools are correctly disabled and not just hidden from the tools list.

Guidance

  • Review the agent.log and gateway.log files to check for any errors or warnings related to tool disabling.
  • Verify that the tool disabling process is correctly implemented in the Hermes code, specifically checking if the tools are being removed from the LLM's accessible tools list.
  • Check the Report from the debug report to see if it provides any insights into why the tools are still visible to the LLM.
  • Test disabling other tools to see if the issue is specific to web browser tools or a more general problem.

Example

No code snippet is provided as the issue lacks specific code details.

Notes

The issue may be related to a bug in the Hermes tool disabling process, and further investigation is needed to determine the root cause.

Recommendation

Apply workaround: Re-examine and potentially modify the tool disabling process in Hermes to ensure correct functionality, as the current implementation may not be correctly removing tools from the LLM's accessible tools list.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix [Bug]: WEB tools not being disabled even after disabling. [1 pull requests, 1 participants]