# go: invalid module version "v1.0.0.1": version must be of the form vX.Y.Z

- **ID:** `go/invalid-semver-version`
- **Domain:** go
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

A version string in go.mod or dependency does not follow semantic versioning (semver) format.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.21 | active | — | — |
| 1.22 | active | — | — |
| 1.23 | active | — | — |

## Workarounds

1. **Correct the version to a valid semver string.** (95% success)
   ```
   Change 'v1.0.0.1' to 'v1.0.1' or 'v1.0.0' as appropriate.
   ```
2. **Use a pseudo-version if the module doesn't have a tag.** (85% success)
   ```
   Use 'v0.0.0-20250520120000-abc123' format from commit hash.
   ```

## Dead Ends

- **Using a version with extra digits like v1.0.0.1-beta.** — Semver does not allow four parts; Go strictly enforces vX.Y.Z. (100% fail)
- **Removing the 'v' prefix.** — Go requires the 'v' prefix for module versions; without it, it's invalid. (90% fail)
