# protoc-gen-go: program not found or is not executable

- **ID:** `go/protoc-gen-go-missing-plugin`
- **Domain:** go
- **Category:** build_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

protoc cannot locate the protoc-gen-go plugin binary on PATH. It is installed via go install but $GOPATH/bin is not on PATH, or the binary name is wrong.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| google.golang.org/protobuf v1.28+ | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
export PATH="$PATH:$(go env GOPATH)/bin"
which protoc-gen-go
   ```
2. **** (90% success)
   ```
   protoc --plugin=protoc-gen-go=$(go env GOPATH)/bin/protoc-gen-go \
  --go_out=. user.proto
   ```

## Dead Ends

- **** — The error is about the Go plugin, not the protoc compiler. Reinstalling protoc does not add protoc-gen-go to PATH. (80% fail)
- **** — protoc resolves plugins by name on PATH; passing a binary path as an output directory is invalid. (75% fail)
