# rpc error: code = Unavailable desc = last resolver error: produced zero addresses

- **ID:** `go/grpc-code-unavailable-lb-policy`
- **Domain:** go
- **Category:** network_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The name resolver returned no addresses. Common with DNS-based targets (dns:///) when the hostname doesn't resolve, or with custom resolvers returning empty updates.

## Version Compatibility

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

## Workarounds

1. **** (85% success)
   ```
   Verify the target scheme and hostname resolve. Use passthrough for a literal address:
conn, _ := grpc.NewClient("passthrough:///10.0.0.5:50051", grpc.WithTransportCredentials(insecure.NewCredentials()))
Or fix DNS: `nslookup myservice.default.svc.cluster.local`
   ```
2. **** (80% success)
   ```
   Register a custom resolver that logs address updates:
resolver.Register(&myResolver{})
   ```

## Dead Ends

- **** — Bypasses load balancing and breaks TLS SNI/hostname verification. (70% fail)
- **** — No addresses will ever appear if DNS is broken; waiting longer doesn't help. (90% fail)
