---
title: Set environment variables
sidebarTitle: Set env variables
mode: center
---

The current environment variables can be accessed via `process.env` or `Bun.env`.

```ts index.ts icon="/icons/typescript.svg"
Bun.env.API_TOKEN; // => "secret"
process.env.API_TOKEN; // => "secret"
```

---

Set these variables in a `.env` file.

Bun reads the following files automatically (listed in order of increasing precedence).

- `.env`
- `.env.production`, `.env.development`, `.env.test` (depending on value of `NODE_ENV`)
- `.env.local` (not loaded when `NODE_ENV=test`)

```ini .env icon="settings"
FOO=hello
BAR=world
```

---

Variables can also be set via the command line.

<CodeGroup>

```sh Linux/macOS icon="terminal"
FOO=helloworld bun run dev
```

```sh Windows icon="windows"
# Using CMD
set FOO=helloworld && bun run dev

# Using PowerShell
$env:FOO="helloworld"; bun run dev
```

</CodeGroup>

---

See [Docs > Runtime > Environment variables](/runtime/environment-variables) for more information on using environment variables with Bun.
