This document describes different environment variables and their use cases.

## Prisma Client

### `DEBUG`

`DEBUG` is used to enable debugging output in Prisma Client.

Example setting Prisma Client level debugging output:

```terminal
# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"
```

See [Debugging](/orm/prisma-client/debugging-and-troubleshooting/debugging) for more information.

### `NO_COLOR`

`NO_COLOR` if [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) will activate the `colorless` setting for error formatting and strip colors from error messages.

See [Formatting via environment variables](/orm/prisma-client/setup-and-configuration/error-formatting#formatting-via-environment-variables) for more information.

## Prisma Studio

### `BROWSER`

`BROWSER` is for Prisma Studio to force which browser it should be open in, if not set it will open in the default browser.

```terminal
BROWSER=firefox prisma studio --port 5555
```

Alternatively you can set this when starting Studio from the CLI as well:

```terminal
prisma studio --browser firefox
```

See [Studio](/orm/reference/prisma-cli-reference#studio) documentation for more information.

## Prisma CLI

### `PRISMA_HIDE_PREVIEW_FLAG_WARNINGS`

`PRISMA_HIDE_PREVIEW_FLAG_WARNINGS` hides the warning message that states that a preview feature flag can be removed. It is a truthy value.

### `PRISMA_HIDE_UPDATE_MESSAGE`

`PRISMA_HIDE_UPDATE_MESSAGE` is used to hide the update notification message that is shown when a newer Prisma CLI version is available. It's a truthy value.

### `PRISMA_GENERATE_SKIP_AUTOINSTALL`

:::danger Prisma v7 Deprecation

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_GENERATE_SKIP_AUTOINSTALL` can be set to a truthy value to skip the auto-install of `prisma` CLI and `@prisma/client` dependencies (if they are missing), if the `prisma-client-js` generator is defined in the Prisma Schema, when using the `prisma generate` command.

### `PRISMA_SKIP_POSTINSTALL_GENERATE`

:::danger Prisma v7 deprecation

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_SKIP_POSTINSTALL_GENERATE` can be set to a truthy value to skip the auto-generation of Prisma Client when its `postinstall` hook is triggered by a package manager. The `postinstall` hook of the `@prisma/client` package is triggered when the package is installed, or its version is updated.

### `PRISMA_DISABLE_WARNINGS`

Disables all CLI warnings generated by `logger.warn`.

### `PRISMA_GENERATE_NO_ENGINE`


:::danger Prisma v7 deprecation

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

:::info

This environment variable is available since version `5.2.0`

:::

`PRISMA_GENERATE_NO_ENGINE` can be set to a truthy value to generate a Prisma Client without an included [query engine](/orm/more/under-the-hood/engines) in order to reduce deployed application size when paired with [Prisma Accelerate](/accelerate).

### `PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK`

:::info

This environment variable is available since version `5.3.0`

:::

`PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK` can be set to a truthy value to disable the [advisory locking](/orm/prisma-migrate/workflows/development-and-production#advisory-locking) used by Prisma Migrate. This might be needed, depending on the database configuration, for example, for a Percona-XtraDB-Cluster or MariaDB Galera Cluster.

## Proxy environment variables

The Prisma CLI supports custom HTTP(S) proxies to download the Prisma engines. These can be helpful to use when working behind a corporate firewall. See [Using a HTTP proxy for the CLI](/orm/reference/prisma-cli-reference#using-a-http-proxy-for-the-cli) for more information.

### `NO_PROXY`

`NO_PROXY` is a comma-separated list of hostnames or IP addresses that do not require a proxy.

```env
NO_PROXY=myhostname.com,10.11.12.0/16,172.30.0.0/16
```

### `HTTP_PROXY`

`HTTP_PROXY` is set with the hostname or IP address of a proxy server.

```env
HTTP_PROXY=http://proxy.example.com
```

### `HTTPS_PROXY`

`HTTPS_PROXY` is set with the hostname or IP address of a proxy server.

```env
HTTPS_PROXY=https://proxy.example.com
```

## Engine environment variables

### Configuring Query Engine Type

#### `PRISMA_CLI_QUERY_ENGINE_TYPE`

:::danger[Removed in Prisma v7]

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_CLI_QUERY_ENGINE_TYPE` is used to [define the query engine type Prisma CLI downloads and uses](/orm/more/under-the-hood/engines#configuring-the-query-engine). Defaults to `library`, but can be set to `binary`:

```env
PRISMA_CLI_QUERY_ENGINE_TYPE=binary
```

#### `PRISMA_CLIENT_ENGINE_TYPE`

:::danger[Removed in Prisma v7]

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_CLIENT_ENGINE_TYPE` is used to [define the query engine type Prisma Client downloads and uses](/orm/more/under-the-hood/engines#configuring-the-query-engine). Defaults to `library`, but can be set to `binary`:

```env
PRISMA_CLIENT_ENGINE_TYPE=binary
```

Note: You need to generate your Prisma Client after setting this variable for the configuration to take effect and the libraries to be downloaded. Otherwise, Prisma Client will be missing the appropriate query engine library and you will _have to_ define their location using [`PRISMA_QUERY_ENGINE_LIBRARY`](#prisma_query_engine_library).

It is the environment variable equivalent for the [`engineType` property of the `generator` block](/orm/more/under-the-hood/engines#configuring-the-query-engine) which enables you to define the same setting in your Prisma Schema.

### Downloading Engines

#### `PRISMA_ENGINES_MIRROR`

`PRISMA_ENGINES_MIRROR` can be used to specify a custom CDN (or server) endpoint to download the engines files for the CLI/Client. The default value is `https://binaries.prisma.sh`, where Prisma hosts the engine files.

```env
PRISMA_ENGINES_MIRROR=https://example.org/custom-engines/
```

See [Prisma engines](/orm/more/under-the-hood/engines#hosting-engines) for a conceptual overview of how to use this environment variable.

Note: This environment variable used to be available as `PRISMA_BINARIES_MIRROR`, which was deprecated in Prisma ORM 3.0.1. It is discouraged to use anymore and will be removed in the future.

#### `PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING`

:::info

This environment variable is available since version `4.16.0`

:::

`PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING` can be set to a truthy value to ignore problems around downloading & verifying the integrity (via a checksum file) of the Prisma ORM engines.
This is particularly useful when deploying to an offline system environment where the checksum file cannot be downloaded.

```env
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1
```

Note: we might change the overall download behavior in a future release in a way that this environment variable will not be needed anymore in a offline environment case.

### Custom engine file locations

By default, all engine files are downloaded when you install Prisma CLI, copied when generating Prisma Client, and put into known locations. There are however situations where you may want to use a custom engine file from custom locations:

#### `PRISMA_QUERY_ENGINE_BINARY`

:::danger Prisma v7 Deprecation

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_QUERY_ENGINE_BINARY` is used to set a custom location for your own query engine binary.

```env
PRISMA_QUERY_ENGINE_BINARY=custom/query-engine-<target>
# Example: ./prisma/binaries/query-engine-linux-arm64-openssl-1.0.x
```

For Prisma CLI it allows you to define the query engine file to be used.  
For Prisma Client, on build time (during `prisma generate`), it defines where the query engine file will be copied from into Prisma Client. At run time (when using the generated Client) it can be used to define the specific query engine file to be used instead of the included one.

Note: This can only have an effect if the engine type of CLI or Client are set to `binary`. If the engine type is `library` (the default), use PRISMA_QUERY_ENGINE_LIBRARY instead.

#### `PRISMA_QUERY_ENGINE_LIBRARY`

:::danger Prisma v7 Deprecation

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_QUERY_ENGINE_LIBRARY` is used to set a custom location for your own query engine library.

```env
PRISMA_QUERY_ENGINE_LIBRARY=custom/libquery_engine-<target>.so.node
# Example: ./prisma/binaries/libquery_engine-linux-arm64-openssl-1.0.x.so.node
```

For Prisma CLI it allows you to define the query engine file to be used.  
For Prisma Client, on build time (during `prisma generate`), it defines where the query engine file will be copied from into Prisma Client. At run time (when using the generated Client) it can be used to define the specific query engine file to be used instead of the included one.

Note: This can only have an effect if the engine type of CLI or Client are set to `library` (the default)

#### `PRISMA_SCHEMA_ENGINE_BINARY`

`PRISMA_SCHEMA_ENGINE_BINARY` is used to set a custom location for your Schema engine binary.

```env
PRISMA_SCHEMA_ENGINE_BINARY=custom/my-schema-engine-unix
```

#### `PRISMA_MIGRATION_ENGINE_BINARY`

:::warning

**Deprecated**: `PRISMA_MIGRATION_ENGINE_BINARY` variable is deprecated in [5.0.0](https://github.com/prisma/prisma/releases/tag/5.0.0) because Migration engine was renamed to Schema Engine.

:::

`PRISMA_MIGRATION_ENGINE_BINARY` is used to set a custom location for your own migration engine binary.

```env
PRISMA_MIGRATION_ENGINE_BINARY=custom/my-migration-engine-unix
```

#### `PRISMA_INTROSPECTION_ENGINE_BINARY`

:::danger[Removed in Prisma v7]

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_INTROSPECTION_ENGINE_BINARY` is used to set a custom location for your own introspection engine binary.

```env
PRISMA_INTROSPECTION_ENGINE_BINARY=custom/my-introspection-engine-unix
```

:::warning

The Introspection Engine is served by the Migration Engine from [4.9.0](https://github.com/prisma/prisma/releases/tag/4.9.0). Therefore, the `PRISMA_INTROSPECTION_ENGINE` environment variable will not be used.

:::

#### `PRISMA_FMT_BINARY`

:::danger

This functionality has been removed in Prisma CLI version 4.10.0. It only works in earlier versions.

:::

`PRISMA_FMT_BINARY` is used to set a custom location for your own format engine binary.

```env
PRISMA_FMT_BINARY=custom/my-custom-format-engine-unix
```

:::warning

The `PRISMA_FMT_BINARY` variable is used in versions [4.2.0](https://github.com/prisma/prisma/releases/tag/4.2.0) or lower.

:::

### CLI Binary Targets

#### `PRISMA_CLI_BINARY_TARGETS`

:::danger Prisma v7 Deprecation

This environment variable is only supported in Prisma 6.19 and earlier. It will not work in Prisma v7.

:::

`PRISMA_CLI_BINARY_TARGETS` can be used to specify one or more binary targets that Prisma CLI will download during installation (so it must be provided during `npm install` of Prisma CLI and does not affect runtime of Prisma CLI or Prisma Client).

Use `PRISMA_CLI_BINARY_TARGETS` if you 1) deploy to a specific platform via an upload of a local project that includes dependencies, and 2) your local environment is different from the target (e.g. AWS Lambda with Node.js 20+ is `rhel-openssl-3.0.x`, and your local environment might be macOS arm64 `darwin-arm64`). Using the `PRISMA_CLI_BINARY_TARGETS` environment variable ensures that the target engine files are also downloaded.

```terminal
PRISMA_CLI_BINARY_TARGETS=darwin-arm64,rhel-openssl-3.0.x npm install
```

This is the Prisma CLI equivalent for the [`binaryTargets` property of the `generator` block](/orm/prisma-schema/overview/generators#binary-targets), which enables you to define the same setting for Prisma Client.

:::info[Note]

For Node.js versions earlier than 20, the openssl version was 1.0.x instead of 3.0.x. This is most obvious in AWS Lambda deployments, where the binary target would be `rhel-openssl-1.0.x` instead of `rhel-openssl-3.0.x`.

:::

---


import {Redirect} from '@docusaurus/router';

<Redirect to="/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/orm/prisma-migrate/workflows/baselining" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/orm/overview/databases/planetscale#how-to-use-branches-and-deploy-requests" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/docs/orm/overview/databases/planetscale#option-1-emulate-relations-in-prisma-client" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/docs/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues#you-cannot-automatically-switch-database-providers" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/docs/orm/prisma-migrate/workflows/patching-and-hotfixing#failed-migration" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/orm/prisma-migrate/understanding-prisma-migrate/overview" />


---


import {Redirect} from '@docusaurus/router';

<Redirect to="/docs/orm/overview/databases/mongodb#how-to-use-mongodb-replica-sets" />


---

# Prisma Config reference