From 83bbe9b458cc19dc7d12c5dbf4e8e68ff37659b2 Mon Sep 17 00:00:00 2001 From: Emilien Domenge Date: Fri, 24 Apr 2026 22:05:40 +0200 Subject: [PATCH] fix(delegation): pass target_model to resolve_runtime_provider in _resolve_delegation_credentials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When delegation.model differs from model.default and the provider is opencode-go or opencode-zen, the wrong api_mode is computed because resolve_runtime_provider falls back to model_cfg.get('default') — the main model — instead of the configured delegation model. For example, with model.default=minimax-m2.7 (anthropic_messages) and delegation.model=glm-5.1 (chat_completions), subagents get anthropic_messages, which strips /v1 from the base URL and causes a 404. resolve_runtime_provider already accepts target_model for exactly this purpose; _resolve_delegation_credentials just wasn't passing it. Fixes #15319 Related: #13678 --- tools/delegate_tool.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/delegate_tool.py b/tools/delegate_tool.py index 55c8ad31c4..d987385252 100644 --- a/tools/delegate_tool.py +++ b/tools/delegate_tool.py @@ -2299,7 +2299,7 @@ def _resolve_delegation_credentials(cfg: dict, parent_agent) -> dict: try: from hermes_cli.runtime_provider import resolve_runtime_provider - runtime = resolve_runtime_provider(requested=configured_provider) + runtime = resolve_runtime_provider(requested=configured_provider, target_model=configured_model) except Exception as exc: raise ValueError( f"Cannot resolve delegation provider '{configured_provider}': {exc}. "