# rpc error: code = InvalidArgument desc = invalid enum value: 99 for field `status`

- **ID:** `go/grpc-invalid-argument-enum`
- **Domain:** go
- **Category:** data_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The client sent an integer value for a protobuf enum field that is not defined in the enum. This often happens when the client and server have different versions of the .proto definition.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.x | active | — | — |

## Workarounds

1. **** (90% success)
   ```
   Run protoc with the updated status enum definition.
   ```
2. **** (80% success)
   ```
   if status < 0 || status > 3 { return fmt.Errorf("invalid status") }
   ```

## Dead Ends

- **** — The value 99 is not a valid enum constant, so casting will not help. (80% fail)
- **** — Protobuf enums are strict by default; you would need to use a wrapper type. (70% fail)
