Skip to main content
After successfully installing a Go version, igo runs go install <pkg>@latest for a curated set of developer tools. These are installed into the new version’s bin/ directory.

Default packages

The following packages are installed by default with every igo -i:
BinaryModule path
genwordpassgithub.com/ProjectApario/genwordpass
summarizegithub.com/andreimerlescu/summarize
countergithub.com/andreimerlescu/counter
bumpgithub.com/andreimerlescu/bump
goinigithub.com/andreimerlescu/goini
goenvgithub.com/andreimerlescu/goenv
govulncheckgolang.org/x/vuln/cmd/govulncheck
go-generate-passwordgithub.com/m1/go-generate-password/cmd/go-generate-password
cli-gematriagithub.com/andreimerlescu/cli-gematria
The bump tool is used by the shim to normalize two-part go.mod versions (e.g. go 1.231.23.4). Installing it is recommended for correct shim behavior.

Disabling extra package installation

Pass -extras=false to skip the extra package install step:
igo -i 1.23.4 -extras=false

How installation works

Each package is installed using the versioned Go binary for the newly installed version:
<workspace>/versions/<version>/go/bin/go.<version> install <module>@latest
The environment used for installation sets GOROOT, GOPATH, GOBIN, GOOS, and GOARCH to the new version’s directories, keeping the installs isolated from other versions. If any package fails to install, or its binary is not found at GOBIN/<pkg> afterward, the entire installation fails with an error.

Verifying installed tools

After igo -i, list the binaries in the version’s bin directory:
ls ~/go/versions/1.23.4/go/bin/
You should see the versioned Go binary (go.1.23.4), gofmt.1.23.4, and all the extra package binaries.

Build docs developers (and LLMs) love