Vercel CLI Release Notes
Release notes for Vercel CLI and its related packages. Each release lists its changes grouped by semantic versioning impact:
- Major changes: Breaking changes that may require you to update your usage.
- Minor changes: New features and improvements that are backwards compatible.
- Patch changes: Bug fixes and small improvements.
To update to the latest version, see updating Vercel CLI or run vercel upgrade.
Published 2026-08-29
1758dcc: Run multi-service builds in parallel behindVERCEL_EXPERIMENTAL_BUILD_CONCURRENCY. The default of 1 preserves fully-sequential behavior; values above 1 (an integer, a percentage of available parallelism, orauto) run fork-eligible service builds concurrently, grouped by install scope so package-manager installs never race.
b107e95: Addvercel connect contacts addto register phone contacts for Connect connectors.5434ad6: Accept ISO 8601 date/time input invercel flags rulesand segment rules for Timestamp attributes. Input needs a full date and time; without a timezone, the machine's timezone applies.9f6868e: Addflags use-targetingto enable rules, keeping the current fallthrough unless--default-variantreplaces it.0d356fa: Centralize CLI version and install context sovc versiondescribes installer, native, and package-manager installs with the same language. When the package manager is unknown,vc versionsays npm is assumed.vc upgrade --disable-binarynow fails on the native CLI instead of writing a no-op config change.
Published 2026-08-27
aad9541: Run on-disk JavaScript workers with a lazily resolved system Node.js executable in native CLI installations, and install the matching Build Utils preview tarball for dynamically installed Builders.be09801: Added the Vercel Connect guide tovercel connect --helpand its subcommands.
Published 2026-08-26
f42a78a: Serve a shared Runtime Cache fromvercel dev. Every service, sidecar, function, and framework dev command is pointed at one in-memory store owned by the dev server, so a value written by one process is readable by the others the way it is in a deployment. Previously each process fell back to its own in-process cache and cross-service reads always missed. ARUNTIME_CACHE_ENDPOINTyou set yourself still takes precedence.b9339d3: Derive monorepo-aware default build commands for services Projects that defineservicesinvercel.jsontook a build path that bypassed monorepo default settings entirely, so a service in a Turborepo/Nx workspace fell through to its leafpackage.jsonbuildscript instead of running through the monorepo task graph and build cache — unlike the equivalent non-services project. Each configured service without an explicitbuildCommandnow gets a default derived from its ownroot(e.g.turbo run build). Explicitservices.<name>.buildCommandvalues, service roots with avercel-buildscript, services on a non-JavaScript runtime (Python, Go, Rust, Ruby, container), and repos without a detected monorepo manager are all left untouched. Gated behindVERCEL_BUILD_MONOREPO_SUPPORT.
b612eaa:connect create <server-url>auto-picks the connection method the API resolved for that URL instead of re-asking through the target and method choosers.
Published 2026-08-26
7ab8f26: Split flag evaluation bucket variants intovariantIdandvariantValue, and label evaluations that used the code default asDefault in Code.44be84d: Defaultmiddleware.[jt]sto the Node.js runtime for projects created on or after 2026-09-01, and warn that the edge runtime is deprecated. Outside ofvercel devthe new default also requiresVERCEL_MIDDLEWARE_DEFAULT_RUNTIME_NODEJS=1, which the platform sets during rollout. An explicitexport const config = { runtime: 'edge' }keeps the edge runtime.1240946: Recovervcr loginfrom a stale macOS keychain entry ("The specified item already exists in the keychain. (-25299)") by logging out of the registry and retrying the login once.
Published 2026-08-22
4b50862: Addvercel traces config ls, which lists the trace sampling rules for a project as a table of environment, path prefix, and percentage rate, along with the count against the ten-rule limit. A project with no rules prints an empty state and the command that adds one.--jsonprints the bare rows in the same vocabulary the command line uses, and non-interactive runs print an agent envelope with the project, a message, and suggested next commands. A barevercel traces configprints the group help. The project comes from the linked directory, or from--projectlooked up in the scope--scopeselects; both are resolved to ids before the request, so a team slug cannot silently read a same-named project in the personal account. A--scopethat disagrees with the linked project is reported instead of applied. When the API refuses the request, a non-interactive run reports it on stdout with a machine-readable reason.5ee0eac: Addvercel traces config rm <environment> [requestPath], which removes trace sampling rules. A path prefix removes the one rule that carries it,--defaultremoves only the rule that covers all paths, and neither removes every rule for that environment.rm anyremoves only the rules that apply to every environment, not every rule in the project. The command lists every rule it is about to remove and asks once to confirm. That answer is the only consent it takes: no flag stands in for it, so a session that cannot prompt —--non-interactive, an agent, or a caller with no TTY — is refused rather than left waiting. It fails without writing and reports which rules were at risk, along with the command to run by hand. The path prefix in that command is quoted, so a prefix carrying shell metacharacters cannot run as a second command when it is pasted into a shell. When nothing matches, the command fails and makes no write. Drain domains and ignore paths are read and written back untouched.d65e137: Addvercel traces config set <environment> <rate> [requestPath], which adds or replaces one trace sampling rule without a confirmation prompt. The environment isany,preview, orproduction, and the rate is a whole percentage from 1 to 100; both are checked before the command calls the API. A rule is identified by its environment and path prefix, so runningsetagain on the same pair replaces the rate and the success line reports the old rate, the new rate, and the rule count. Drain domains and ignore paths are read and written back untouched, as is every rule the command was not asked to change: only the rule being written is rebuilt from the command line, so a rate the CLI cannot spell — the API accepts any fraction, the command line whole percentages — is not rounded by an edit to a different rule. An eleventh rule is refused with an error that names the ten-rule limit.
b83c139: Remove the beta wording fromvercel connectahead of general availability.f8add0a: ReplaceprerenderClassificationonPrerenderwithinitialMetadata. The platform consumes only the request-time compute mode and the HTML shell size, so the flattened four-field taxonomy (routeType,response,compute,htmlSize) is reduced to a single grouped field: ``ts initialMetadata?: { compute: 'blocking' | 'resuming' | 'static'; htmlSize?: number; }The group is namedinitialMetadatabecause the values describe the deployment as it was built: revalidation can regenerate a route's output over the deployment's lifetime, so readers must treat them as initial values, not live state.@vercel/nextreadscomputeandhtmlSizeoff the v4 prerender-manifest taxonomy and deliberately ignoresrouteTypeandresponse; the values are still carried unvalidated so a compute mode added by a future framework release cannot hard-fail a deploy, and they are still set only on the primary output of each prerender group.htmlSize: 0is a real size (a shell that postponed everything);htmlSizeis absent when there is no HTML shell to measure (route handlers, Pages Router). Absence of the whole group remains legitimate (notFoundRoutes, Pages Routerfallback: false`, older frameworks).803da2a: Restrict anonymous deployment credentials to the current user.
Published 2026-08-22
ef9297e: Remove--yesfromvercel blob delete-store. Deleting a Blob store cannot be undone, so it now always requires interactive confirmation and can no longer be run non-interactively (CI, scripts, or agents).c016930: Add SRV record support tovercel dns updatevia--srv-priority,--srv-weight,--srv-port, and--srv-targetddd4e85: Add project-level sandbox region support.vercel project updateaccepts--sandbox-regionand--sandbox-failover-regions, andvercel project inspectprints a Sandbox section with the configured regions.6eb5539: Addvercel project resumeto restore production traffic for a paused project
0cefeea: Accept npm-selected Builders when a tarball (preview pack) pin fails to install. The fallback install already reported the version drift as allowed, but the tarball-pin check ignored that and failed the build withpreview-pack-mismatch, so a recoverable install error became fatal.f31661a: Detect frameworks for unlinked zero-config projects when runningvercel dev --local.0b08df6: Canonicalized internal service contract ownership.19c9259: Moved service topology detection to a private internal package. Service APIs previously exported by@vercel/fs-detectorsare no longer available.bddd317: Fix thevercel devfile watcher ignoring anchored ignore patterns. Absolute paths from the watcher were passed to a filter that expects paths relative to the project root, so any pattern with a leading slash never matched. This left the default/targetrule inert for Cargo projects, causingvercel devto recursively watch the entire build directory, and silently ignored anchored entries such as/distin a.vercelignore.814e456: Add family-level--helpexamples for recently added commands:dns updateanddns inspectinvercel dns --help,domains renewanddomains auto-renewinvercel domains --help, andproject pause,project resume,project members add/remove,project observability,project web-analytics, andproject speed-insightsinvercel project --helpeea89b5:vercel dns updatenow confirms before overwriting a record and handles non-interactive/agent mode. Interactive runs prompt for confirmation (no--yesflag); when a prompt isn't possible (non-interactive, agent, or no TTY) the command refuses to act and emits a structuredagent-outputpayload (interactive_confirmation_required) telling the caller a human must re-run it in a terminal. Local validation errors are likewise surfaced as parseable JSON in non-interactive mode instead of stderr-only text.96448a9: Addvercel domains auto-renew <domain> on|offfor registrar-managed domains, with structured JSON output (--json/--format) and structured errors when run in non-interactive/agentic modefbc9a07: Addvercel domains renew <domain>for registrar-managed domains8b48533: Addvercel project members addto add a member to a project by email, username, or user id with a role. The add requires interactive confirmation and is refused for agents and non-TTY pipes with a structuredconfirmation_requiredpayload. Invalid team/project role combinations are translated into actionable guidance listing which project roles each team role can hold.91d676b: Addvercel project members removeto remove a member from a project (resolves email/username/uid via the project members listing, with--yesto skip confirmation)f1a8015: Addvercel project observability enableandvercel project observability disableto toggle Observability Plus for a project. Both actions ask for confirmation first and emit anaction_requiredpayload in non-interactive or agent contexts.3e60cd4: Always send config/secretvisibilityfromvercel env addandvercel env update. Remove theVERCEL_ENV_VAR_CONFIG_SECRET_UIopt-in. Allow secrets in Development.b923215: Moved service-aware builder coordination to the internal CLI builder integration package.f57bde1: Addvercel project speed-insights disableto turn off Speed Insights. Disabling asks for confirmation and emits anaction_requiredpayload in non-interactive or agent contexts.3946cae: Addvercel project web-analytics disableto turn off Web Analytics for a project. Enabling now asks for confirmation first; in non-interactive or agent contexts it emits anaction_requiredpayload instead of enabling silently. On Hobby the confirmation explains that Web Analytics is free with the limits documented at https://vercel.com/docs/analytics/limits-and-pricing, while Pro and Enterprise keep the paid-feature charges warning. Disabling also asks for confirmation and emits anaction_requiredpayload in non-interactive or agent contexts.
Published 2026-08-20
ebc8fa4: Add--bypass-all-settingstovercel ai-gateway api-keys create. When passed, the key is created with thebypassAllmetadata fact exempting it from all of the team's restrictions (ZDR-only models, the provider/model allowlist, and the HIPAA and disallow-prompt-training filters); the API only accepts it from team owners. Adds telemetry tracking for the new flag and surfaces it inapi-keys inspect.404207d: Add commands to view and search the Vercel changelog.
aa64b5c: Fix domain order error code mapping: the registrar order API returns hyphenated error codes (payment-failed/unexpected-error), but the CLI compared underscored literals, making the "Your card was declined." branch unreachable fordomains buyanddomains transfer-in
Published 2026-08-17
b8d7cd8: Fixvercel commentscrashing in the native binary when rendering comment previews.
Published 2026-08-15
69955f8: Accept the npm-selected Builder version when a CLI-pinned version is unavailable.
Published 2026-08-13
d7760a7: Removed CLI purchase support for the deprecated SIEM add-on.
d87479d: Advertise kebab-case names for the Custom Environment and Observability Plus add-ons while continuing to accept their camelCase aliases.a44c461: Add support for purchasing Observability Plus withvercel buy addon observabilityPlus.
466716e: Remove duplicate Blob command tests.466716e: Remove duplicate and mutation-insensitive CLI command tests.466716e: Remove ineffective and obsolete CLI integration test code.9980fab: Remove duplicate CLI utility test equivalence classes.
Published 2026-08-13
299d5cd:vercel deploywithout credentials can create a temporary anonymous project and deploy prebuilt output to it, runningvercel buildlocally first when needed. Interactive users confirm before the first deployment, while--yesskips the prompt and non-interactive use requires it until.vercel/anonymous.jsonrecords the temporary project. The anonymous credential is reused until it expires, and each deploy prints a claim URL to keep the deployment by signing in. When anonymous deployments are unavailable, the previous login behavior applies.9daa87d: Addvc security checkfor reading the team security report from the terminal.
65ba1e0: Start linked deployments before project lookups finish without sending the repository root marker as the Root Directory.1b8d228: Fix duplicated route tables for services built through the Build Output API.
Published 2026-08-12
3df8e01: Addvercel blob put-image <file-or-url>. The command runs an image through Vercel Image Optimization and stores only the optimized output in the Blob store, printing the resulting blob URL (or the full result with--json). It accepts a local file or a public http(s) URL as the source, with--width(required),--quality(default 75), and--format(jpeg/png/webp/avif, original preserved when omitted) controlling the transformation and--pathname(required) setting where the result is stored. The command warns when the optimizer kept the original image because the optimized output would have been larger. Requires OIDC credentials (--oidc-token+--store-id, orVERCEL_OIDC_TOKEN+BLOB_STORE_ID). Uses the newputImagemethod from@vercel/blob2.8.0; the stored content type always comes from the optimizer output, so there is no--content-typeflag.da6b94c: Support multiple middlewares in vc dev.
e570d3c: Remove duplicate Blob command tests.cb76527: Remove ineffective and obsolete CLI integration test code.7d1c33b:vercel ai-gateway coding-agents setupno longer treats Cline, Cursor, Hermes, Kilo Code, and OpenClaw as experimental. They now appear in the interactive agent picker, are pre-selected when detected, and are included by--alland by the detected-agents default, alongside Claude Code, Codex, OpenCode, and Pi. Selecting them explicitly with--agent <id>already worked and is unchanged.4cc87f8: Emitconnectas the telemetry command name forvercel connect, and track the previously-missingcreateservice argument,--nameand--format, plus alltokenarguments and options.59d5225: The Cursor guidance inai-gateway coding-agents setuppoints at the dedicated/cursor/v1gateway endpoint. Cursor's request format is rejected by the generic/coding-agent/v1surface; the dedicated endpoint normalizes it.
Published 2026-08-12
28a2dd0: Expose the resolved rewrite destination as the request path observed by containers, and warn affected container projects about the behavior change.2fa7e02: Revert the linked deploy optimization that can send an invalid root directory.
Published 2026-08-11
a7fc7e8: Expose the resolved rewrite destination as the request path observed by standalone Go servers, and warn affected Go projects about the behavior change.22ce405: Do not prompt for a Git remote while gathering project link suggestions; offer "Switch Git remote" in the project picker instead when multiple remotes exist. Ask about connecting a detected Git repository before creating the project (default No).
Published 2026-08-11
4b22527: Improvedvercel upgradefor native binary installs: the suggested update command now targets the correct install method instead of assuming a package manager, and self-updates are resilient to/tmpbeing on a different filesystem than the install directory.e62af7f: Point native binary installer and PR binary downloads at the production domain (api-frameworks.vercel.sh) instead of a branch preview URL.
Published 2026-08-11
33cdc9e: Remove CLI tests that do not execute production behavior.b971158: Materialize the Next.jsvc devWebSocket preload shim to~/.vercel/runtime/<version>/so child Node processes can--requireit (including native SEA installs whose/snapshotpaths are not visible to external Node).
Published 2026-08-10
73b3efd: Support app principal tokens in scope resolution via token introspectionce81015: Document and regression-test horizontal option uniformity across the Vercel CLI.337f9ed:vercel ai-gateway coding-agents setupnow points Cursor, Hermes, Kilo Code, and OpenClaw at the gateway's generic coding-agent surface,https://ai-gateway.vercel.sh/coding-agent/v1, instead of the generic/v1base URL. Claude Code and Codex keep their dedicated compatibility endpoints, and Cline, OpenCode, and Pi are unaffected because they use their native gateway providers rather than a base URL. This also fixes Cursor, whose previous base URLhttps://ai-gateway.vercel.sh/v1/cursoris not a route the gateway serves and returned a 404.03b264b: Migrate domains REST API calls off/v4/domainsto the current documented versions:GET /v5/domains/:domain(get domain),GET /v5/domains/:domain/records(list DNS records),POST /v7/domains(add domain), andGET /v6/domains/:domain/config(domain config).vercel domains addnow sendszone: trueexplicitly, preserving the DNS-zone creation that the API only defaults on for v4 and below.
Published 2026-08-08
f4c7bc0: Preserve existing Claude Desktop sessions when configuring the Vercel AI Gateway.9508026: Preserve existing Codex Desktop sessions when configuring the Vercel AI Gateway.
6989e14: Add an experimental Cline agent tovercel ai-gateway coding-agents setup. Writes Cline's first-partyvercel-ai-gatewayprovider entry in~/.cline/data/settings/providers.json(the same 0600 filecline authmanages), preserving any existing schema version and provider entries. Select it explicitly with--agent cline.a29784e: Add the Codex Desktop session-migration engine: a deterministic, atomic copy of Codex rollout sessions into the Vercel AI Gateway provider (UUIDv5 destinations, no-clobber writes, originals never modified). This is the internal capability; it is wired intoai-gateway coding-agents setupin a follow-up.20629d5: Add experimental Cursor support tovercel ai-gateway coding-agents setup. Cursor stores its BYOK settings in its own account-synced store, so setup provisions the AI Gateway key into the shell environment and walks through the manual steps in Cursor's Models settings (base URL override, adding gateway model ids), instead of writing config files. Select it explicitly with--agent cursor.823940c: Stage the UUID dependency in native binaries and validate binaries after CLI source changes.eaf633f: Add an experimental Hermes agent tovercel ai-gateway coding-agents setup. Writes a gateway provider to~/.hermes/config.yamlusingkey_env(the key stays in the shell environment) with model auto-discovery enabled. Select it explicitly with--agent hermes.4e93b80: Add an experimental Kilo Code agent tovercel ai-gateway coding-agents setup. Writes anopenai-compatibleprovider to~/.config/kilo/kilo.jsonusing Kilo's{env:AI_GATEWAY_API_KEY}substitution so the key never lands in the file; the model picker auto-populates from the gateway's/v1/models. Select it explicitly with--agent kilo.edd4e56: Add an experimental OpenClaw agent tovercel ai-gateway coding-agents setup. Writes amodels.providersentry to~/.openclaw/openclaw.jsonwith a${AI_GATEWAY_API_KEY}reference OpenClaw resolves itself, plus a starter model list. Select it explicitly with--agent openclaw.9508026:vercel ai-gateway coding-agents setupno longer drops env exports that other agents previously wrote into the managed shell block. A codex-only rerun used to rewrite the block with just its own exports, wiping claude-code'sANTHROPIC_AUTH_TOKEN— which silently disabled gateway model discovery in Claude Code.
Published 2026-08-08
Published 2026-08-08
Published 2026-08-08
Published 2026-08-08
Published 2026-08-08
Published 2026-08-07
fa93c8f: Add--trigger-project,--trigger-path,--trigger-branch, and--trigger-environmenttovercel connect createso trigger-enabled connectors can atomically register full destination routing, defaulting to the linked project.c5caaf8: Addvercel vcr config <repository> --public <true|false>to configure a container registry repository's visibility.
19c6a71: Skip owner and project lookups before deploying a linked project.b7ec19b: Scope the pre-compilation install'sVERCEL_INSTALL_COMPLETEDmarker to thepackage.jsonit installed. Previously, avercel.toml/vercel.tsconfig causedvc buildto install at the repo root and then silently skip every later default install, so services whose install root is a different workspace (its ownpackage.json/lockfile) built without dependencies.
Published 2026-08-05
e089b31: Suppress version/beta banner and deploy-subdirectory warnings forvercel apiand--json/--format jsonso agents can parse machine-readable output.
Published 2026-08-05
f054187: Add--team-levelflag tovercel firewallrules, ip-blocks, diff, publish, and discard commands for managing the team-level firewall configuration, which applies to every project in the team. Requires an Enterprise plan and team owner role; no linked project is needed.
Published 2026-07-27
843bb99: Support attaching Connect connectors to project custom environments by slug or stable ID.d277bd9: Add custom-environment targeting for Connex trigger destinations.4502520: Support Node.js Routing Middleware entrypoints throughproxy.entrypoint, with optional path matching throughproxy.matcher. The matcher may be configured in the entrypoint source orvercel.json, but not both.506487b: Removed theVERCEL_TOML_CONFIG_ENABLEDfeature flag.vercel.tomlconfiguration file support is now always enabled.
c71e6f9: Recover interactive commands from stale stored login sessions by starting a fresh device login, and retry Environment Variable reads after legacy authentication challenges.
Was this helpful?