System environment variables
System environment variables are local environment variables that can change Wrangler's behavior. There are three ways to set system environment variables:
-
Create an
.env
file in your project directory. Set the values of your environment variables in your.env
file. This is the recommended way to set these variables, as it persists the values between Wrangler sessions. -
Inline the values in your Wrangler command. For example,
WRANGLER_LOG="debug" npx wrangler deploy
will set the value ofWRANGLER_LOG
to"debug"
for this execution of the command. -
Set the values in your shell environment. For example, if you are using Z shell, adding
export CLOUDFLARE_API_TOKEN=...
to your~/.zshrc
file will set this token as part of your shell configuration.
Wrangler supports the following environment variables:
-
CLOUDFLARE_ACCOUNT_ID
string optional- The account ID for the Workers related account.
-
CLOUDFLARE_API_TOKEN
string optional- The API token for your Cloudflare account, can be used for authentication for situations like CI/CD, and other automation.
-
CLOUDFLARE_API_KEY
string optional- The API key for your Cloudflare account, usually used for older authentication method with
CLOUDFLARE_EMAIL=
.
- The API key for your Cloudflare account, usually used for older authentication method with
-
CLOUDFLARE_EMAIL
string optional- The email address associated with your Cloudflare account, usually used for older authentication method with
CLOUDFLARE_API_KEY=
.
- The email address associated with your Cloudflare account, usually used for older authentication method with
-
WRANGLER_SEND_METRICS
string optional- Options for this are
true
andfalse
. Defaults totrue
. Controls whether Wrangler can send anonymous usage data to Cloudflare for this project. You can learn more about this in our data policy โ.
- Options for this are
-
WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>
string optional- The local connection string for your database to use in local development with Hyperdrive. For example, if the binding for your Hyperdrive is named
PROD_DB
, this would beWRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_PROD_DB="postgres://user:password@127.0.0.1:5432/testdb"
. Each Hyperdrive is uniquely distinguished by the binding name.
- The local connection string for your database to use in local development with Hyperdrive. For example, if the binding for your Hyperdrive is named
-
CLOUDFLARE_API_BASE_URL
string optional- The default value is
"https://api.cloudflare.com/client/v4"
.
- The default value is
-
WRANGLER_LOG
string optional- Options for Logging levels are
"none"
,"error"
,"warn"
,"info"
,"log"
and"debug"
. Levels are case-insensitive and default to"log"
. If an invalid level is specified, Wrangler will fallback to the default. Logs can include requests to Cloudflare's API, any usage data being collected, and more verbose error logs.
- Options for Logging levels are
-
FORCE_COLOR
string optional- By setting this to
0
, you can disable Wrangler's colorised output, which makes it easier to read with some terminal setups. For example,FORCE_COLOR=0
.
- By setting this to
The following is an example .env
file:
The following variables are deprecated. Use the new variables listed above to prevent any issues or unwanted messaging.
CF_ACCOUNT_ID
CF_API_TOKEN
CF_API_KEY
CF_EMAIL
CF_API_BASE_URL