> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanoss.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> scanoss-cli is a Go command-line tool and SDK for scanning source code and querying the SCANOSS platform. It fingerprints a project, uploads the fingerprints to the SCANOSS v3 API, and decorates the results with vulnerability, licence, cryptography, geoprovenance, copyright, and dependency data.

[scanoss.go](https://github.com/scanoss/scanoss.go) is SCANOSS's Go CLI and SDK. It is the CLI we
recommend from now on for customers who integrate SCANOSS into their pipelines. It installs as the
`scanoss-cli` binary, named after its Go package directory. The name also avoids a clash on your
`PATH` with the SCANOSS scan engine, which is called `scanoss`.

<Note>
  `scanoss-cli` talks to the SCANOSS v3 API and is not compatible with OSSKB.org. If you
  depend on OSSKB.org, use [SCANOSS-PY](/en/latest/cli/scanoss-py/installation) instead.
</Note>

## Prerequisites

* [Go 1.25+](https://go.dev/dl/). You need it only if you install with `go install` or build
  from source.

## Installation

### go install

```bash theme={null}
go install github.com/scanoss/scanoss.go/cmd/scanoss-cli@latest
```

### Prebuilt binary

Download the archive for your platform from the
[releases page](https://github.com/scanoss/scanoss.go/releases), extract it, and move the
`scanoss-cli` binary onto your `PATH`:

```bash theme={null}
# Linux (amd64) — adjust the archive name for your OS/arch
tar xzf scanoss-cli-linux-amd64.tar.gz
sudo mv scanoss-cli /usr/local/bin/
```

On Windows, unzip the archive and add the folder to your `PATH`. On macOS, Gatekeeper may
quarantine an unsigned direct download. To clear the quarantine, run:

```bash theme={null}
xattr -d com.apple.quarantine ./scanoss-cli
```

Verify a download against the published checksums:

```bash theme={null}
sha256sum -c --ignore-missing checksums.txt
```

### Docker

Every release publishes multi-arch images for `linux/amd64` and `linux/arm64` to GitHub Container
Registry:

```bash theme={null}
docker run --rm -v "$PWD:/src" ghcr.io/scanoss/scanoss:latest \
  scan /src --api-key "$SCANOSS_API_KEY" > results.json
```

Use `:latest` or a specific version tag such as `:0.9.0`.
[Using Docker](/en/latest/cli/scanoss-go/using-docker) explains a permission issue with writing
output and has more examples.

### Build from source

```bash theme={null}
git clone https://github.com/scanoss/scanoss.go.git
cd scanoss.go
make build          # or: go build -o scanoss-cli ./cmd/scanoss-cli
```

### Go SDK

The same repository is also a Go SDK, `github.com/scanoss/scanoss.go/pkg/scanoss`. It provides
scanning, a parallel decoration pipeline over PURLs, and a client for each service. See the
[repository README](https://github.com/scanoss/scanoss.go#go-sdk--decoration-pipeline) for usage.

## Verify installation

```bash theme={null}
scanoss-cli --version
scanoss-cli --help
```

## What's next

* Scan a project in one command with the [quick start](/en/latest/cli/scanoss-go/quick-start).
* Store your API key once instead of passing it on every command. See
  [Configuration](/en/latest/cli/scanoss-go/configuration).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.