Skip to main content
The -f flag scans the workspace for missing symlinks and recreates any that are absent, pointing them at the correct locations within the specified version’s directory.

Syntax

igo -f <version>
version
string
required
The Go version to repair in X.Y.Z format (e.g. 1.23.4). The version must already be installed in your workspace.

Examples

# Fix the installation of Go 1.23.4
igo -f 1.23.4

# Fix with verbose output
igo -f 1.23.4 -verbose

What it does

1

Scan the workspace for symlinks

igo reads the workspace directory and finds all existing symlinks. If no versions are installed, the command exits.
2

Read the active version

igo reads ~/go/version to determine which version is currently active.
3

Check for missing symlinks

igo checks whether the bin, path, and root symlinks are present in the workspace and maps them to their corresponding environment variables:
Workspace symlinkEnvironment variableExpected target
~/go/binGOBIN~/go/versions/<version>/go/bin
~/go/pathGOPATH~/go/versions/<version>
~/go/rootGOROOT~/go/versions/<version>/go
4

Recreate missing symlinks

For each missing symlink, igo creates it pointing at the correct path within the version directory. Existing entries that are already present are left unchanged.
5

Report the result

If any symlinks were recreated, igo prints Fixed go <version>!. If everything was already in order, it prints Nothing to fix!.

When to use it

  • After a failed igo -i run left the workspace in a partial state.
  • After manually moving or deleting files inside the workspace.
  • After a disk-full error interrupted an installation.
  • When igo -e shows next to a symlink.

Build docs developers (and LLMs) love