# XO1103: per module report of `use go` packages and the functions that perform `go`

Reported by `xo vet` as a note, once per module. Go code can reach files and the network without a capability, so every call into Go performs the effect `go`, and agents may reach for Go idioms through the boundary out of habit (decision 0041). The note lists the Go packages the module imports and the functions that perform `go`, so the authority escape can be reviewed. See core 4.4.

## Example

```xo
use go "strings"

pub fn shout(s: Str) -> Str uses go {
  strings.to_upper(s)
}
```

## Fix

```xo
// Review each listed use. Prefer Xo std where it covers the need:
pub fn shout(s: Str) -> Str {
  s.to_upper()
}
```

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

