VercelVercel
'; user_status_content.firstChild.appendChild(avatarContainer); } else { // Placeholder for LoggedOutUserMenu let loggedOutContainer = document.createElement('div'); // if LoggedOutUserMenu fallback let userBtn = document.createElement('button'); userBtn.style.width = "33px"; userBtn.style.height = "33px"; userBtn.style.display = "flex"; userBtn.style.alignItems = "center"; userBtn.style.justifyContent = "center"; userBtn.style.color = "var(--ds-gray-900)"; userBtn.style.border = "1px solid var(--ds-gray-300)"; userBtn.style.borderRadius = "100%"; userBtn.style.cursor = "pointer"; userBtn.style.background = "transparent"; userBtn.style.padding = "0"; // user icon ( from geist) let svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('data-testid', 'geist-icon'); svg.setAttribute('height', '16'); svg.setAttribute('stroke-linejoin', 'round'); svg.setAttribute('style', 'color:currentColor'); svg.setAttribute('viewBox', '0 0 16 16'); svg.setAttribute('width', '16'); let path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('fill-rule', 'evenodd'); path.setAttribute('clip-rule', 'evenodd'); path.setAttribute('d', 'M7.75 0C5.95507 0 4.5 1.45507 4.5 3.25V3.75C4.5 5.54493 5.95507 7 7.75 7H8.25C10.0449 7 11.5 5.54493 11.5 3.75V3.25C11.5 1.45507 10.0449 0 8.25 0H7.75ZM6 3.25C6 2.2835 6.7835 1.5 7.75 1.5H8.25C9.2165 1.5 10 2.2835 10 3.25V3.75C10 4.7165 9.2165 5.5 8.25 5.5H7.75C6.7835 5.5 6 4.7165 6 3.75V3.25ZM2.5 14.5V13.1709C3.31958 11.5377 4.99308 10.5 6.82945 10.5H9.17055C11.0069 10.5 12.6804 11.5377 13.5 13.1709V14.5H2.5ZM6.82945 9C4.35483 9 2.10604 10.4388 1.06903 12.6857L1 12.8353V13V15.25V16H1.75H14.25H15V15.25V13V12.8353L14.931 12.6857C13.894 10.4388 11.6452 9 9.17055 9H6.82945Z'); path.setAttribute('fill', 'currentColor'); svg.appendChild(path); userBtn.appendChild(svg); loggedOutContainer.appendChild(userBtn); loggedOutContainer.style.display = 'flex'; loggedOutContainer.style.gap = '8px'; loggedOutContainer.style.alignItems = 'center'; user_status_content.firstChild.appendChild(loggedOutContainer); } })();
Project Configuration

Project Configuration

Last updated November 13, 2025

Vercel automatically detects your framework and sets sensible defaults for builds, deployments, and routing. Project configuration lets you override these defaults to control builds, routing rules, function behavior, scheduled tasks, image optimization, and more.

In addition to configuring your project through the dashboard, you have the following options:

Each method lets you control different aspects of your project.

File-based configuration lives in your repository and gets version-controlled with your code. You can use either for static configuration or for programmatic configuration that runs at build time. Both support the same properties, but lets you generate configuration dynamically using environment variables, API calls, or other build-time logic. You can only use one configuration file per project.

The table below shows all available configuration properties:

Propertyvercel.jsonvercel.tsDescription
$schemaViewViewEnable IDE autocomplete and validation
buildCommandViewViewOverride the build command for your project
bunVersionViewViewSpecify which Bun version to use
cleanUrlsViewViewRemove extensions from URLs
cronsViewViewSchedule functions to run at specific times
devCommandViewViewOverride the development command
fluidViewViewEnable fluid compute for functions
frameworkViewViewSpecify the framework preset
functionsViewViewConfigure function memory, duration, and runtime
headersViewViewAdd custom HTTP headers to responses
ignoreCommandViewViewSkip builds based on custom logic
imagesViewViewConfigure image optimization
installCommandViewViewOverride the package install command
outputDirectoryViewViewSpecify the build output directory
publicViewViewMake deployment logs and source publicly accessible
redirectsViewViewRedirect requests to different URLs
bulkRedirectsPathViewViewPoint to a file with bulk redirects
regionsViewViewDeploy functions to specific regions
functionFailoverRegionsViewViewSet failover regions for functions
rewritesViewViewRoute requests to different paths or external URLs
trailingSlashViewViewAdd or remove trailing slashes from URLs

Global Configuration affects how Vercel CLI behaves on your machine. These settings are stored in your user directory and apply across all projects.

For detailed information about specific configuration areas, see:

  • General Settings - Project name, Node.js version, build settings, and Vercel Toolbar
  • Project Settings - Overview of all project settings in the dashboard
  • Git Configuration - Configure Git through vercel.json and vercel.ts
  • Git Settings - Manage Git connection, LFS, and build step settings
  • Security settings - Attack Challenge Mode, logs protection, fork protection, OIDC, and retention policies

Was this helpful?

supported.