# rpc error: code = Unimplemented desc = unknown service helloworld.Greeter

- **ID:** `go/grpc-unimplemented-service-not-registered`
- **Domain:** go
- **Category:** type_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The gRPC server does not have the service registered, often because the server code did not call RegisterGreeterServer.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.0 | active | — | — |
| 1.1 | active | — | — |

## Workarounds

1. **Register the service with the gRPC server.** (95% success)
   ```
   grpcServer := grpc.NewServer()
pb.RegisterGreeterServer(grpcServer, &server{})
// Then start listening
lis, _ := net.Listen("tcp", ":8080")
grpcServer.Serve(lis)
   ```
2. **Ensure the protobuf generated code is imported and used correctly.** (90% success)
   ```
   import pb "path/to/protobuf/package"
// Then use pb.RegisterGreeterServer
   ```

## Dead Ends

- **Restart the server without registering the service.** — The server code is missing the registration; restarting doesn't add it. (100% fail)
- **Use a different client that expects a different service.** — The client is hardcoded to call a specific service; changing client may not help. (90% fail)
