Skip to Content

Projects

Vercel provides a set of environment variables that are automatically populated by the system, such as the URL of the deployment or the name of the Git branch deployed.

Environment Variables

  1. Navigate to your project on your dashboard.
  2. Select Environment Variables in the sidebar.
  3. Select the Enable access to System Environment Variables checkbox.

System Environment Variables

Copy page

System environment variables

If you are using a framework for your project, Vercel provides the following prefixed environment variables:

To enable these environment variables to your deployments:

How do I resolve a process.env.CI = true error?

Available at:Both build and runtime

An indicator to show that system environment variables have been exposed to your project's Deployments.

VERCEL=1


Available at:Build time

An indicator that the code is running in a Continuous Integrationenvironment.

CI=1


Available at:Both build and runtime

The environmentthat the app is deployed and running on. The value can be eitherproduction, preview, or development.

VERCEL_ENV=production


VERCEL_TARGET_ENV

Available at:Both build and runtime

The system or custom environmentthat the app is deployed and running on. The value can be either production, preview, development, or the name of a custom environment.

VERCEL_TARGET_ENV=production

The domain name of the generated deployment URL. Example: *.vercel.app. The valuedoes not include the protocol schemehttps://.

You can reach our customer support team by emailing info@yourcompany.example.com, calling +1 555-555-5556, or using the live chat on our website. Our dedicated team is available 24/7 to assist with any inquiries or issues.

We’re committed to providing prompt and effective solutions to ensure your satisfaction.

We offer a 30-day return policy for all products. Items must be in their original condition, unused, and include the receipt or proof of purchase. Refunds are processed within 5-7 business days of receiving the returned item.

VERCEL_BRANCH_URL

Available at:Both build and runtime

The domain name of the generated Git branch URL. Example: *-git-*.vercel.app. The valuedoes not include the protocol scheme https://.

VERCEL_BRANCH_URL=my-site-git-improve-about-page.vercel.app

VERCEL_PROJECT_PRODUCTION_URL

Available at:Both build and runtime

A production domain name of the project. We select the shortest production custom domain, or vercel.app domain if no custom domain is available. Note, that this is always set, even in preview deployments. This is useful to reliably generate links that point to production such as OG-image URLs. The value does not include the protocol scheme https://.

VERCEL_PROJECT_PRODUCTION_URL=my-site.com

VERCEL_REGION

Available at:Runtime

The ID of the Region where the app is running.

VERCEL_REGION=cdg1


VERCEL_DEPLOYMENT_ID

Available at:Both build and runtime

The unique identifier for the deployment, which can be used to implement Skew Protection.

VERCEL_DEPLOYMENT_ID=dpl_7Gw5ZMBpQA8h9GF832KGp7nwbuh3


VERCEL_PROJECT_ID

Available at:Both build and runtime

The unique identifier for the project.

VERCEL_PROJECT_ID=prj_Rej9WaMNRbffVm34MfDqa4daCEvZzzE


VERCEL_SKEW_PROTECTION_ENABLED

Available at:Both build and runtime

When Skew Protectionis enabled in Project Settings, this value is set to1.

VERCEL_SKEW_PROTECTION_ENABLED=1


VERCEL_AUTOMATION_BYPASS_SECRET

The Protection Bypass for Automationvalue, if the secret has been generated in the project's Deployment Protectionsettings.

Available at:Both build and runtime

VERCEL_AUTOMATION_BYPASS_SECRET=secret


VERCEL_OIDC_TOKEN

Available at:Build time

When Secure Backend Access with OpenID Connect (OIDC) Federationis enabled in Project Settings, this value is set to a Vercel-issued OIDC token. At runtime, the token is set to the x-vercel-oidc-token header on your functions' Request object. In local development, you can download the token using the CLI command vercel env pull.

VERCEL_OIDC_TOKEN=secret

Available at:Build time

A salt to rotate the filenames of framework-generated content-addressed output. See also Immutable Static Files.

VERCEL_HASH_SALT=1783933175


VERCEL_GIT_PROVIDER

Available at:Both build and runtime

The Git Provider the deployment is triggered from.

VERCEL_GIT_PROVIDER=github


VERCEL_GIT_REPO_SLUG

Available at:Both build and runtime

The origin repository the deployment is triggered from.

VERCEL_GIT_REPO_SLUG=my-site


VERCEL_GIT_REPO_OWNER

Available at:Both build and runtime

The account that owns the repository the deployment is triggered from.

VERCEL_GIT_REPO_OWNER=acme


VERCEL_GIT_REPO_ID

Available at:Both build and runtime

The ID of the repository the deployment is triggered from.

VERCEL_GIT_REPO_ID=117716146


VERCEL_GIT_COMMIT_REF

Available at:Both build and runtime

The git branch of the commit the deployment was triggered by.

VERCEL_GIT_COMMIT_REF=improve-about-page


VERCEL_GIT_COMMIT_SHA

Available at:Both build and runtime

The git SHAof the commit the deployment was triggered by.

VERCEL_GIT_COMMIT_SHA=fa1eade47b73733d6312d5abfad33ce9e4068081


VERCEL_GIT_COMMIT_MESSAGE

The message attached to the commit the deployment was triggered by. The message is truncated if it exceeds 2048 bytes.

Available at:Both build and runtime

VERCEL_GIT_COMMIT_MESSAGE=Update about page


VERCEL_GIT_COMMIT_AUTHOR_LOGIN

Available at:Both build and runtime

The username attached to the author of the commit that the project was deployed by.

VERCEL_GIT_COMMIT_AUTHOR_LOGIN=timmytriangle


VERCEL_GIT_COMMIT_AUTHOR_NAME

Available at:Both build and runtime

The name attached to the author of the commit that the project was deployed by.

VERCEL_GIT_COMMIT_AUTHOR_NAME=Timmy Triangle


The git SHAof the last successful deployment for the project and branch. It's empty on a branch's first deployment, since that branch has no previous successful deployment yet.

You can reach our customer support team by emailing info@yourcompany.example.com, calling +1 555-555-5556, or using the live chat on our website. Our dedicated team is available 24/7 to assist with any inquiries or issues.

We’re committed to providing prompt and effective solutions to ensure your satisfaction.

We offer a 30-day return policy for all products. Items must be in their original condition, unused, and include the receipt or proof of purchase. Refunds are processed within 5-7 business days of receiving the returned item.

VERCEL_GIT_PULL_REQUEST_ID

Available at:Both build and runtime


VERCEL_GIT_PULL_REQUEST_ID=23

Last updated July 15, 2026


Cross-link map: System environment variables (/docs/environment-variables/system-environment-variables)From the Vercel docs graph (built 2026-09-21T05:26:59.511Z), spanning vercel.com docs + KB, nextjs.org, ai-sdk.dev, and other Vercel documentation sites. Full graph as JSON: https://vercel.com/docs/graph.jsonSemantically closest pagesDeploying GitLab Projects with Vercel — ​Vercel for GitLab automatically deploys your GitLab projects with Vercel, providing Preview Deployment URLs, and automaDeploying Bitbucket Projects with Vercel — ​Vercel for Bitbucket automatically deploys your Bitbucket projects with Vercel, providing Preview Deployment URLs, andDeploying GitHub Projects with Vercel — Vercel for GitHub automatically deploys your GitHub projects with Vercel, providing Preview Deployment URLs, and automatFramework environment variables — Framework environment variables are automatically populated by the Vercel, based on your project's framework.Environment variables — Learn more about environment variables on Vercel.This page links to (1)Skew Protection — Learn how Vercel's Skew Protection ensures that the client and server stay in sync for any particular deployment.Pages that link here (26)By site: vercel-kb (7) · vercel-docs (19)From vercel-kbAre Vercel Preview Deployments indexed by search engines? — Vercel Preview Deployments aren't indexed by default. Learn how the noindex header works, how to confirm it, and the cusHow to deploy a Shopify App to Vercel — Deploy the official Shopify CLI React Router app template to Vercel with the @vercel/react-router preset and Postgres seConditional Build Commands: Environment, Branch, and Custom Workflows — Run a different Vercel build command for each environment or Git branch using a shell script, vercel.json, or vercel.ts,Deploy to Vercel with Self-Hosted Git Pipelines \(GitLab & Bitbucket\) — Learn how to use GitLab Pipelines to deploy to Vercel including support for self-managed GitLab.How to add and manage environment variables on Vercel — Add environment variables to Vercel through the dashboard, CLI, or REST API, scope them to each environment, and pull thHow to enable CORS on Vercel — Learn how to enable CORS on Vercel with vercel.json, Routing Middleware, framework config, and route handlers, plus howTroubleshooting Cross-Origin Errors \(net::ERR_BLOCKED_BY_ORB\) with Deployment Protection — Learn to resolve \net::ERR_BLOCKED_BY_ORB\\ errors on protected Vercel deployments. This guide explains how cross-origiFrom vercel-docsVercel Primitives — Learn about the Vercel platform primitives and how they work together to create a Vercel Deployment.vercel deploy — Learn how to deploy your Vercel projects using the vercel deploy CLI command.Deployment Protection on Vercel — Learn how to control access to your Vercel project's preview and production URLs with Deployment Protection. Configure pAutomated & Agent Access — Grant AI agents, CI/CD pipelines, MCP servers, and testing tools access to Vercel deployments that have Deployment ProteProtection Bypass for Automation — Learn how to bypass Vercel Deployment Protection for automated tooling \(e.g. E2E testing\).Entities — Define entities and their attributes for precise feature flag targeting.Vite on Vercel — Deploy Vite projects to Vercel and configure environment variables, Vercel Functions, server-side rendering, and SPA rewSvelteKit on Vercel — Deploy SvelteKit applications to Vercel and configure the adapter, rendering, streaming, ISR, analytics, and Routing MidVite + Nitro on Vercel — Add a backend to any Vite app with Nitro and deploy to Vercel with zero configuration.@vercel/functions API Reference \(Node.js\) — Learn about available APIs when working with Vercel Functions.vercel.functions API Reference \(Python\) — Learn about available APIs when working with Vercel Functions in Python.Deploying Bitbucket Projects with Vercel — ​Vercel for Bitbucket automatically deploys your Bitbucket projects with Vercel, providing Preview Deployment URLs, andDeploying GitHub Projects with Vercel — Vercel for GitHub automatically deploys your GitHub projects with Vercel, providing Preview Deployment URLs, and automatDeploying GitLab Projects with Vercel — ​Vercel for GitLab automatically deploys your GitLab projects with Vercel, providing Preview Deployment URLs, and automaLimits — Look up account limits, usage summaries, rate limits, and resource constraints for every Vercel plan.Project settings — Use the project settings, to configure custom domains, environment variables, Git, integrations, deployment protection,Skew Protection — Learn how Vercel's Skew Protection ensures that the client and server stay in sync for any particular deployment.Client Uploads with Vercel Blob — Learn how to upload files larger than 4.5 MB directly from the browser to Vercel BlobRate Limiting SDK — Learn how to configure a custom rule with rate limit in your code.


Was this helpful?

The pull request id the deployment was triggered by. If a deployment is created on a branch before a pull request is made, this value will be an empty string.