> 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/pnpm.md).

# Configuring pnpm

pnpm reads registry configuration from `.npmrc` files, the same as npm. The configuration is identical.

## Configuration

Create or edit `.npmrc` in the project root:

```ini
registry=https://npm.sealsecurity.io/
//npm.sealsecurity.io/:username=<project-id>
//npm.sealsecurity.io/:_password=<token-base64>
//npm.sealsecurity.io/:always-auth=true
```

Replace `<project-id>` with the Seal [Project ID](/getting-started/creating-a-seal-project.md#project-id-and-project-name) as a literal value. Replace `<token-base64>` with the base64 encoding of your production token:

```bash
echo -n "$SEAL_TOKEN" | base64        # macOS
echo -n "$SEAL_TOKEN" | base64 -w0    # Linux
```

The `_password` field is base64-decoded by pnpm in the same way as npm, so encoding the token is mandatory.

## Verify

```bash
pnpm config get registry
```

The output should be `https://npm.sealsecurity.io/`. A clean `pnpm install` should resolve packages from the same host.

## Related

* [Configuring npm](/setup-apps-os/artifact-server/configuring-package-managers/npm.md): the equivalent npm setup, using the same configuration file format.
* [Editing dependency files manually](/using-platform/working-with-seal-apps/artifact-server/pnpm.md): manifest editing with `pnpm.overrides` (pnpm's transitive-override mechanism).
