# XO1320: `xo mod tidy` cannot record a pinned Go module's hashes yet

xo.lock records the go.sum hashes of every pinned Go module from the binding workspace (.xo/gobind/_mod, or $XO_GOBIND_DIR), which `xo check`, `build`, `run` and `test` create when they bind the package with Go. In a fresh clone the workspace does not exist (it is not committed), so tidy has nothing to copy; rather than write an xo.lock without the module's lines and succeed, it stops. Run `xo check` once, then `xo mod tidy` again. See decision 0356.

## Example

```xo
# a fresh clone: xo.mod has the pin, no .xo/ yet
require go github.com/google/uuid v1.6.0
```

## Fix

```xo
xo check .
xo mod tidy
```

Run `xo explain XO1320` for this text in a terminal, or see
[section 10.6 of the specification](../../spec/core/#106-diagnostic-codes).

