Skip to content
Latchkey

gRPC "UNIMPLEMENTED: Method not found" in CI

gRPC status 12 UNIMPLEMENTED means the server received the call but has no implementation registered for that fully-qualified method. The connection works; the service or method path does not match what the server serves.

What this error means

A call fails with "12 UNIMPLEMENTED: Method not found: package.Service/Method" or "The server does not implement the method ...", while the connection itself succeeds.

gRPC
Error: 12 UNIMPLEMENTED: Method not found:
users.v1.UserService/GetUser

Common causes

Client and server built from different protos

The client calls a service/method path that the server's generated code does not register, because the two were generated from different .proto versions or package names.

The service was never registered on the server

The handler exists but addService/registerService was not called, so the server does not route that method.

How to fix it

Generate client and server from one proto

  1. Confirm the package name and method match between client and server stubs.
  2. Regenerate both from the same .proto in CI so paths align.
  3. Verify the server actually registers the service implementation.
JavaScript
server.addService(UserService.service, { getUser });

List the served methods with reflection

Ask the server which methods it exposes to see the exact paths it serves.

Terminal
grpcurl -plaintext localhost:50051 list users.v1.UserService

How to prevent it

  • Generate client and server stubs from a single shared proto in CI.
  • Keep proto package names stable across client and server.
  • Assert every intended service is registered at startup.

Frequently asked questions

What causes ""UNIMPLEMENTED: Method not found""?
The client calls a service/method path that the server's generated code does not register, because the two were generated from different .proto versions or package names.
How do I fix "UNIMPLEMENTED: Method not found"?
Generate client and server from one proto

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card