gRPC status 12: UNIMPLEMENTED

UNIMPLEMENTED is gRPC status code 12. The server does not implement this method, or does not know the service at all.

Updated

Usual causes

  • A typo in the package, service or method name. The full name is package.Service/Method and is case-sensitive.
  • The server runs an older build that does not have the method yet.
  • The call reached a different server than expected, through the wrong port or a proxy route.
  • Server reflection was called on a server with reflection switched off.
  • The client sent a compression the server does not support.

What to check

  1. The full method name against the .proto: the package, the service and the method.
  2. Which service the server actually registers; grpcurl <host> list asks reflection for them.
  3. The server's version, and that the port belongs to the server you meant.

Not to be confused with

An existing method that has no data for your request returns NOT_FOUND.

What it looks like

A typical error, as a Go client prints it: rpc error: code = Unimplemented desc = unknown service helloworld.Greeter

Retry, and the HTTP equivalent

UNIMPLEMENTED
Code12
NameUNIMPLEMENTED
In istek's status barunimplemented
RetryNo; the method will not appear by itself.
HTTP status501

istek names the status of every call it makes, unimplemented included, and explains transport failures in plain words. See istek.

istek, $29 once

macOS 14.0+ · Apple Silicon · no account, no telemetry

Buy istek · $29