> For the complete documentation index, see [llms.txt](https://docs.sealsecurity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sealsecurity.io/setup-apps-os/artifact-server/configuring-package-managers/go.md).

# Configuring Go

Go modules read the proxy URL from the `GOPROXY` environment variable. The Seal Artifact Server is set up as the first entry, with `direct` as the fallback so packages that Seal does not serve still resolve from their upstream sources.

## Configuration

Set `GOPROXY` before running `go mod download` or `go build`:

```bash
export GOPROXY="https://<project-id>:<token>@go.sealsecurity.io,direct"
go mod download
```

Replace `<project-id>` with the Seal [Project ID](/getting-started/creating-a-seal-project.md#project-id-and-project-name) and `<token>` with your production token. The credentials ride in the URL's userinfo block.

In CI, set `GOPROXY` once at the job level rather than per command.

## Verify

```bash
GOPROXY="https://<project-id>:<token>@go.sealsecurity.io,direct" go mod download -x
```

The `-x` flag prints each network operation; the output should show requests to `go.sealsecurity.io` for the modules Go fetches.

## Related

* [Editing dependency files manually](/using-platform/working-with-seal-apps/artifact-server/go.md): pinning sealed versions in `go.mod` and using the `replace` directive for transitive overrides.
