# Scopes and registries (/pm/scopes-registries)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 239 · updated: 2026-07-28 -->
Related: [bunx](/pm/bunx.md), [Workspaces](/pm/workspaces.md), [Catalogs](/pm/catalogs.md), [bun --filter](/pm/filter.md), [Global cache](/pm/global-cache.md), [Global virtual store](/pm/global-store.md)

The default registry is `registry.npmjs.org`. To change it globally, set it in `bunfig.toml`:

```toml icon="settings" title="bunfig.toml"
[install]
# set default registry as a string
registry = "https://registry.npmjs.org"
# set a token
registry = { url = "https://registry.npmjs.org", token = "123456" }
# set a username/password
registry = "https://username:password@registry.npmjs.org"
```

To configure a private registry scoped to a particular organization:

```toml icon="settings" title="bunfig.toml"
[install.scopes]
# registry as string
"@myorg1" = "https://username:password@registry.myorg.com/"

# registry with username/password
# you can reference environment variables
"@myorg2" = { username = "myusername", password = "$NPM_PASS", url = "https://registry.myorg.com/" }

# registry with token
"@myorg3" = { token = "$npm_token", url = "https://registry.myorg.com/" }
```

### `.npmrc` [#npmrc]

Bun also reads [`.npmrc`](/pm/npmrc) files.
