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
.envfile in your project directory. Set the values of your environment variables in your.envfile. 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 deploywill set the value ofWRANGLER_LOGto"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~/.zshrcfile will set this token as part of your shell configuration.
Wrangler supports the following environment variables:
-
CLOUDFLARE_ACCOUNT_IDstring optional- The account ID for the Workers related account.
-
CLOUDFLARE_API_TOKENstring optional- The API token for your Cloudflare account, can be used for authentication for situations like CI/CD, and other automation.
-
CLOUDFLARE_API_KEYstring 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_EMAILstring 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_METRICSstring optional- Options for this are
trueandfalse. 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_URLstring optional- The default value is
"https://api.cloudflare.com/client/v4".
- The default value is
-
WRANGLER_LOGstring 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_COLORstring 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:
CLOUDFLARE_ACCOUNT_ID=<YOUR_ACCOUNT_ID_VALUE>CLOUDFLARE_API_TOKEN=<YOUR_API_TOKEN_VALUE>CLOUDFLARE_EMAIL=<YOUR_EMAIL>WRANGLER_SEND_METRICS=trueCLOUDFLARE_API_BASE_URL=https://api.cloudflare.com/client/v4WRANGLER_LOG=debugThe following variables are deprecated. Use the new variables listed above to prevent any issues or unwanted messaging.
CF_ACCOUNT_IDCF_API_TOKENCF_API_KEYCF_EMAILCF_API_BASE_URL
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark