diff --git a/backend/internal/service/openai_gateway_grok_chat_bridge.go b/backend/internal/service/openai_gateway_grok_chat_bridge.go index 4d5b21f06f..0b8f0e2d83 100644 --- a/backend/internal/service/openai_gateway_grok_chat_bridge.go +++ b/backend/internal/service/openai_gateway_grok_chat_bridge.go @@ -258,7 +258,7 @@ func (s *OpenAIGatewayService) forwardGrokChatCompletionsViaResponses( // for non-composer models, so they would be silently dropped. Route them to // Responses even when no prompt-cache identity is available. hasImageInput := openAIJSONValueMayContainImageInput(gjson.GetBytes(body, "messages")) - if !grokChatResponsesRuntimeEligible(upstreamModel, cacheIdentity) && !(hasImageInput && strings.TrimSpace(upstreamModel) == "grok-4.5") { + if !grokChatResponsesRuntimeEligible(upstreamModel, cacheIdentity) && (!hasImageInput || strings.TrimSpace(upstreamModel) != "grok-4.5") { return s.forwardAsRawChatCompletions(ctx, c, account, body, defaultMappedModel) }