VercelVercel
Menu

Deploying Nx to Vercel

Last updated January 21, 2026

Nx is an extensible build system with support for monorepos, integrations, and Remote Caching on Vercel.

Read the Intro to Nx docs to learn about the benefits of using Nx to manage your monorepos.

  1. If you haven't already connected your monorepo to Nx, you can follow the Getting Started on the Nx docs to do so.

    To ensure the best experience using Nx with Vercel, use nx version 17 or later. There are also additional settings if you are using Remote Caching.

    All Nx starters and examples are preconfigured with these settings.
  2. Create a new Project on the Vercel dashboard and import your monorepo project.

    Vercel handles all aspects of configuring your monorepo, including setting build commands, the Root Directory, the correct directory for npm workspaces, and the ignored build step.

  3. Your Nx monorepo is now configured and ready to be used with Vercel!

    You can now setup Remote Caching for Nx on Vercel or configure additional deployment options, such as environment variables.

nx-ignore provides a way for you to tell Vercel if a build should continue or not. For more details and information on how to use nx-ignore, see the documentation.

Before using remote caching with Nx, ensure the NX_CACHE_DIRECTORY environment variable is set to /tmp/nx-cache.

To configure Remote Caching for your Nx project on Vercel, use the @vercel/remote-nx plugin.

@vercel/remote-nx uses the custom task runner API, which Nx deprecated in v20 and removed in v21. If you're on Nx 20+, see the Nx 20+ section below.
  1. Terminal
    pnpm i @vercel/remote-nx
  2. In your nx.json file, add the @vercel/remote-nx runner to tasksRunnerOptions:

    nx.json
    {
      "tasksRunnerOptions": {
        "default": {
          "runner": "@vercel/remote-nx",
          "options": {
            "token": "<token>",
            "teamId": "<teamId>"
          }
        }
      }
    }

    You can specify your token and teamId in your nx.json or set them as environment variables.

    ParameterDescriptionEnvironment Variable / .envnx.json
    Vercel Access TokenVercel access token with access to the provided teamNX_VERCEL_REMOTE_CACHE_TOKENtoken
    Vercel Team ID (optional)The Vercel Team ID that should share the Remote CacheNX_VERCEL_REMOTE_CACHE_TEAMteamId

    When deploying on Vercel, these variables will be automatically set for you.

  3. Clear your local cache and rebuild your project.

    Terminal
    pnpm dlx nx reset 
    Terminal
    pnpm dlx nx build 

Nx 20+ deprecated custom task runners. Remote caching now uses an HTTP-based API instead of npm packages. The @vercel/remote-nx package is not compatible with Nx 20+.

For remote caching on Nx 20+, consider the following options:

  • Turborepo: Vercel's build system with built-in remote caching support. If you're evaluating build tools, Turborepo offers the most seamless experience on Vercel.
  • Self-hosted remote cache: Build a custom cache server using the Nx OpenAPI specification (Nx 20.8+)

Was this helpful?

supported.