# grpc::UNIMPLEMENTED: Method not found: /service/MethodName

- **ID:** `communication/grpc-unimplemented-method`
- **Domain:** communication
- **Category:** protocol_error
- **Error Code:** `12`
- **Verification:** ai_generated
- **Fix Rate:** 85%

## Root Cause

gRPC client calls a method that the server does not register in its service definition, often due to mismatched proto files or server binary not rebuilt after proto change.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| gRPC 1.62 | active | — | — |
| protobuf 3.25 | active | — | — |
| Go 1.22 | active | — | — |
| C++ gRPC 1.60 | active | — | — |

## Workarounds

1. **Regenerate both client and server stubs from the same .proto file, then rebuild and redeploy the server. Verify the server logs show the registered service at startup.** (90% success)
   ```
   Regenerate both client and server stubs from the same .proto file, then rebuild and redeploy the server. Verify the server logs show the registered service at startup.
   ```
2. **Use gRPC reflection to list available methods on the server and compare with the client call. If the method is missing, the proto file on the server side is outdated.** (85% success)
   ```
   Use gRPC reflection to list available methods on the server and compare with the client call. If the method is missing, the proto file on the server side is outdated.
   ```

## Dead Ends

- **Restart the gRPC server without recompiling** — The server binary still contains the old service definition; a restart does not add the missing method (95% fail)
- **Change the client to use a different method name with the same payload** — The method name must match the server's registered service exactly; arbitrary renaming causes a different UNIMPLEMENTED error (90% fail)
- **Increase the gRPC timeout on the client** — Timeout does not affect method availability; the error is immediate at the server's method lookup stage (100% fail)
