go-version
| Field | Value |
|---|---|
| Probe ID | go-version |
| Category | runtime |
| Severity | error |
| Inferred from | go.mod (go directive), .tool-versions, mise.toml |
What it means
The repo’s go.mod declares go X.Y (or stricter) and your local go version is lower. Building will produce inscrutable errors about syntax or stdlib symbols introduced in a later release.
How it’s detected
- Parse the
godirective fromgo.mod. Translatego 1.22into a>=1.22constraint (Go’s “newer is fine” semantics). go versionis exec’d, thego1.X.Ytoken is extracted.- Mismatch produces one finding.
If go.mod is absent the probe is silent.
Common causes
- Apple Silicon
/usr/local/gofrom a year-old binary tarball. miseorasdfconfigured to pin Go for the repo but not yetmise install-ed.- Linux distro packages (
apt install golang) lagging months behind upstream.
Recipes
The probe selects one fix based on the tools available on your machine. See the YAML source for the full Fix definitions.
| Fix | Class | When | Fallback |
|---|---|---|---|
mise-install-go | safe | has_tool=mise | |
asdf-install-go | safe | has_tool=asdf | |
brew-install-go | shared | has_tool=brew | yes |