ServiceRouter between services with different protocols

I’m trying to setup a serviceRouter on a service with protocol HTTP, setting a retry mechanism on a service which is grpc

serviceRouter hcl for http-service

Kind = "service-router"
Name = "service-http"
Routes = [
        HTTP {
            PathPrefix = "/"

    Destination {
        Service = "grpc-service"
        RequestTimeout = "10s"
        NumRetries = 5
        RetryOnConnectFailure = true

Consul returns a 500 error when trying to setup the serviceRouter as it were unsupported

Error writing config entry service-router/http-service: Unexpected response code: 500 (rpc error making call: discovery chain "http-service" uses inconsistent protocols; service "grpc-service" has "grpc" which is not "http")

I’ve looked at the documentation and haven’t found much information regarding the topic…
Am I missing something obvious? Or is this scenario unsupported?

Seems I was setting it wrong.

In order to set up a retry policy, the policy needs to be setup in the actual service, not from the consumer of the service. (in the above case, the retry policy needs to be set up in grpc-service itself).

If setting the retry policy in the grpc-service, then everything works as expected (retries are triggered when an error is received)

I guess the question is still valid. Can’t think a specific use case right now, but what if I want a specific service to retry and others don’t?