# XO1512: a run cache entry differs from a rebuild

`xo build`, `xo run` (XO_WHOLE_BUILD) and `xo test` reuse an unchanged program's binary from the run cache: the entry lists every file the build read, every path it looked for, and every environment variable it read, and is used only when all still match. `XO_BACKEND_CACHE=verify` builds anyway and compares the result with the entry. A difference means the entry missed an input, or the build is not reproducible; either is a bug in xo. The entry is replaced by the rebuild.

## Example

```xo
# XO_BACKEND_CACHE=verify xo build .
error XO1512: the run cache's entry for this build differs from a rebuild in the binary
```

## Fix

```xo
# report it with the program; meanwhile build without the run cache
XO_BIN_CACHE=off xo build .
```

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

