From 2bbacacca3c523eb1d5705ab881b6a0ceaa1b4f8 Mon Sep 17 00:00:00 2001 From: marcusquinn <6428977+marcusquinn@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:28:51 +0000 Subject: [PATCH] fix: is_model_available returns failure for unknown providers PR #2366 review feedback (issue #3210): the unknown-provider branch previously returned 0 (success), allowing resolve_chain to emit a model string with no credential or health verification. This produces silent runtime failures when the routing table is extended beyond the known providers (anthropic/openai/google). Change: return 1 with a warning for unknown providers, consistent with the existing behaviour for known providers with missing API keys. The model-availability-helper.sh delegation path is unaffected. --- .agents/scripts/fallback-chain-helper.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.agents/scripts/fallback-chain-helper.sh b/.agents/scripts/fallback-chain-helper.sh index e386a4e96..3e5255a4f 100755 --- a/.agents/scripts/fallback-chain-helper.sh +++ b/.agents/scripts/fallback-chain-helper.sh @@ -109,8 +109,10 @@ is_model_available() { return 1 fi - # Unknown provider — assume available (AI will handle errors) - return 0 + # Unknown provider — fail explicitly so resolve_chain skips to the next model + # rather than emitting a model string with no credential/health verification. + [[ "$quiet" != "true" ]] && print_warning "Unknown provider: $provider (no availability check available)" >&2 + return 1 } # Walk the tier's model list and return the first available model.