From 913ea55074c698d26ab2fa69c9298b00e53d69fc Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Mon, 8 Sep 2025 16:35:29 -0300 Subject: [PATCH] fix(openrouter): fix api key validation for openrouter (#997) `/models` is accessible for everyone on OpenRouter, without the need for any authorization. The `Authorization: Bearer *` was basically always ignore by their API. Using a different private API to validate the key for OpenRouter. --- internal/config/config.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/config/config.go b/internal/config/config.go index 7fef3b11d9b08f60d1ee9554bed27fd142536f7a..4aae4b945298021f4fe899fefe0d1ee8f16089eb 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -460,7 +460,11 @@ func (c *ProviderConfig) TestConnection(resolver VariableResolver) error { if baseURL == "" { baseURL = "https://api.openai.com/v1" } - testURL = baseURL + "/models" + if c.Name == "OpenRouter" { + testURL = baseURL + "/credits" + } else { + testURL = baseURL + "/models" + } headers["Authorization"] = "Bearer " + apiKey case catwalk.TypeAnthropic: baseURL, _ := resolver.ResolveValue(c.BaseURL)