# rpc error: code = Unimplemented desc = unknown service pb.UserService

- **ID:** `go/grpc-unimplemented-unknown-service`
- **Domain:** go
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The client called a service that the server has not registered. Usually a stale generated client, a typo in the fully-qualified service name, or a server that forgot to call RegisterUserServiceServer.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.45+ | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   s := grpc.NewServer()
pb.RegisterUserServiceServer(s, &userServer{})
reflection.Register(s) // enables grpcurl discovery
log.Fatal(s.Serve(lis))
   ```
2. **** (90% success)
   ```
   // protoc --go_out=. --go-grpc_out=. user.proto
// then confirm: grpcurl -plaintext localhost:50051 list
   ```

## Dead Ends

- **** — Unimplemented is a routing error on the server, not a TLS issue; disabling TLS does nothing for service lookup. (95% fail)
- **** — The server will never learn the service; retries return Unimplemented deterministically. (90% fail)
