From 6d9cadea3afbce9d8c0f24dddd16cb147b4e7cfc Mon Sep 17 00:00:00 2001 From: graydeon Date: Wed, 29 Apr 2026 13:11:54 -0500 Subject: [PATCH] Lowercase tool names after unwrapping to prevent auto-repair noise --- anthropic_billing_bypass.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/anthropic_billing_bypass.py b/anthropic_billing_bypass.py index 70c4d4f..2e5f2d9 100644 --- a/anthropic_billing_bypass.py +++ b/anthropic_billing_bypass.py @@ -32,8 +32,13 @@ def _wrap_tool_name_as_mcp_hermes(name: str) -> str: return _MCP_HERMES_NAMESPACE + name def _unwrap_mcp_hermes_name(name: Any) -> Any: - if isinstance(name, str) and name.startswith(_MCP_HERMES_NAMESPACE): - return name[len(_MCP_HERMES_NAMESPACE) :] + if not isinstance(name, str): return name + if name.startswith(_MCP_HERMES_NAMESPACE): + return name[len(_MCP_HERMES_NAMESPACE):] + # Handle case where mcp_ was already stripped by native Hermes code + hermes_stripped_prefix = _MCP_HERMES_NAMESPACE[len(_MCP_PREFIX):] # "_hermes__" + if name.startswith(hermes_stripped_prefix): + return name[len(hermes_stripped_prefix):] return name def _normalize_tool_name(name: str) -> str: