---
next_cursor: eyJzY29yZSI6MCwic2VxIjozNTUsInNpbmNlIjpudWxsLCJ0b29sIjoidmVyY2VsIiwidiI6MX0
has_more: true
next: https://sincecutoff.com/v1/changes.md?tool=vercel&score=0&cursor=eyJzY29yZSI6MCwic2VxIjozNTUsInNpbmNlIjpudWxsLCJ0b29sIjoidmVyY2VsIiwidiI6MX0
items: 10
---
# sincecutoff.com changes: vercel

## vercel upgrade command supports package manager aware upgrades (vercel, 2026-01-12)
Published 2026-10-13
- slug: vercel-upgrade-command-supports-package-manager-aware-upgrades-334a95760456
- score: 0.98

How to use it:

When upgrading Vercel CLI and you need to inspect the package-manager command first, run `vercel upgrade --dry-run`; review the proposed command, then run `vercel upgrade` to apply it. Use `--json` instead of `--dry-run` for machine-readable upgrade information; it also implies dry-run behavior.

Examples:

```
vercel upgrade --dry-run
```

```
vercel upgrade
```

```
vercel upgrade --json
```

- why_it_matters: Upgrade the Vercel CLI while checking the proposed package manager operation before applying it.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.3.0>, <https://github.com/vercel/vercel/pull/14584>, <https://github.com/vercel/vercel/blob/vercel%4050.3.0/packages/cli/src/commands/upgrade/command.ts>, <https://vercel.com/docs/cli>
- gotchas: "Version: 50.3.0"; "--dry-run: Show the upgrade command without executing it."; "--json: Output upgrade information as JSON; implies `--dry-run`."; "Prerequisite: Vercel CLI must be installed so `vercel upgrade` is available."; "The update prompt is interactive-terminal-only."

## vercel CLI reads VERCEL_TOKEN for authentication (vercel, 2026-02-05)
Published 2026-10-13
- slug: vercel-cli-reads-vercel-token-for-authentication-60b4d654f270
- score: 0.97

How to use it:

When authenticating a Vercel CLI task, set `VERCEL_TOKEN` in the environment and run the intended CLI command. If `VERCEL_TOKEN` and `--token` are both provided, `--token` takes precedence.

Examples:

```
export VERCEL_TOKEN=<token>
vercel deploy
```

- why_it_matters: When scripting a Vercel CLI task or configuring CI/CD authentication, provide the token through the environment.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.12.1>, <https://vercel.com/docs/cli/global-options>, <https://vercel.com/docs/cli>
- gotchas: "Version: 50.12.1"; "VERCEL_TOKEN: Environment variable containing the authorization token; use it as an alternative to `--token`."; "--token <token> (shorthand: -t): Pass an authorization token directly to a CLI command. Takes precedence over `VERCEL_TOKEN` if both are provided."; "Prerequisite: Install Vercel CLI (`pnpm i -g vercel` in the CLI overview). CLI authentication is required before accessing resources or performing administrative tasks."; "The `--token` flag takes precedence over `VERCEL_TOKEN` when both are provided."

## vercel integration add accepts custom resource names (vercel, 2026-02-10)
Published 2026-10-13
- slug: vercel-integration-add-accepts-custom-resource-names-4fc30444fa52
- score: 0.93

How to use it:

When adding a Marketplace resource with a custom name, run `vercel integration add <integration-slug> --name <resource-name>`. The CLI auto-generates a name if `--name` is omitted; the release note specifies `{productSlug}-{color}-{noun}`.

Examples:

```
vercel integration add <integration-slug> --name <resource-name>
```

- why_it_matters: Add an integration resource with a specified name while configuring a project.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.14.0>, <https://vercel.com/docs/cli/integration>
- gotchas: "Version: 50.14.0"; "integration-slug (required): Marketplace integration URL slug."; "--name <resource-name>: Custom name for the resource; auto-generated if omitted."

## vercel integration add supports product slash syntax (vercel, 2026-02-10)
Published 2026-10-13
- slug: vercel-integration-add-supports-product-slash-syntax-13edd743ad6a
- score: 0.95

How to use it:

For a multi-product integration, run `vercel integration add <integration>/<product>` to provision the chosen product without the product selection prompt.

Examples:

```
vercel integration add <integration>/<product>
```

- why_it_matters: Add a product from a multi-product integration without selecting it at a prompt.
- before: The product selection prompt appeared during the add flow.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.14.0>, <https://vercel.com/docs/cli/integration>
- gotchas: "Version: 50.14.0"; "<integration> (required): Integration URL slug."; "<product> (required): Product slug within the integration."; "The dynamic help listing applies to multi-product integrations."

## vercel.json function-level regions configuration (vercel, 2026-02-10)
Published 2026-10-13
- slug: vercel-json-function-level-regions-configuration-2ab01c7d493b
- score: 0.94

How to use it:

When a function needs a specific deployment region, add a `regions` array to its entry under `functions` in `vercel.json`; that entry overrides the project-level `regions` setting for the matched function.

Examples:

```
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "functions": {
    "<function-path-or-glob>": {
      "regions": ["<region-id>"]
    }
  }
}
```

- why_it_matters: Set a specific deployment region for a function in a Vercel project.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.14.1>, <https://vercel.com/docs/functions/configuring-functions/region>, <https://vercel.com/docs/project-configuration/vercel-json>, <https://vercel.com/changelog/pro-customers-can-now-configure-up-to-3-regions-for-vercel-functions>
- gotchas: "Version: 50.14.1"; "functions[<function-path-or-glob>] (required): Selects the function or functions receiving this configuration."; "functions[<function-path-or-glob>].regions (required): Array of region identifiers for the matched function; overrides the project-level `regions` setting for that function."; "Prerequisite: Use a supported region identifier. Hobby plans can select one region; Pro plans can use up to three; Enterprise plans can use multiple regions."; "Prerequisite: Redeploy the project for region configuration changes to take effect."

## vercel flags CLI manages feature flags and SDK keys (vercel, 2026-02-11)
Published 2026-10-13
- slug: vercel-flags-cli-manages-feature-flags-and-sdk-keys-4e9631637f6f
- score: 0.98

How to use it:

For a Vercel project, use `vercel flags` to list, inspect, create, archive, enable, disable, and delete feature flags; use `vercel flags sdk-keys` to list, create, and delete SDK keys. Archive a flag before deleting it.

Examples:

```
vercel flags ls
vercel flags inspect <flag>
vercel flags add <slug>
vercel flags archive <flag>
vercel flags disable <flag> --environment <production|preview|development>
vercel flags enable <flag> --environment <production|preview|development>
vercel flags rm <flag> --yes
```

```
vercel flags sdk-keys ls
vercel flags sdk-keys add --type <type> --environment <production|preview|development>
vercel flags sdk-keys rm <hash-key> --yes
```

- why_it_matters: Manage feature flags and SDK keys from the CLI for a project.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.15.0>, <https://vercel.com/docs/cli/flags>
- gotchas: "Version: 50.15.0"; "<slug> (required): Slug identifying the new feature flag."; "<flag> (required): Flag identifier used by inspect, archive, enable, disable, and rm."; "<key> / <hash-key> (required): SDK key identifier used by sdk-keys rm; the docs call it `[hash-key]`."; "--environment, -e (required): Selects production, preview, or development for enable/disable. For sdk-keys add, if omitted, the CLI prompts for an environment."; "--type (required): Sets the SDK key type when creating a key; the page's examples use `server` but do not enumerate allowed values."; "--yes, -y: Skips confirmation when archiving or deleting a flag, or deleting an SDK key."; "--kind, -k: Sets a new flag's kind: boolean, string, or number; defaults to boolean."; "--description, -d: Sets a description when creating a flag."; "--variant, -v: Sets the variant ID served when disabling a flag."; "--label, -l: Sets an optional label when creating an SDK key."; "--state, -s: Filters flag listing by active or archived; defaults to active."; "Prerequisite: Vercel CLI installed; commands operate on a project."; "Prerequisite: Enable and disable work only with boolean flags; string and number flags must be updated in the dashboard."; "A feature flag must be archived before it can be deleted."

## vercel integration discover lists installable marketplace integrations and products (vercel, 2026-02-11)
Published 2026-10-13
- slug: vercel-integration-discover-lists-installable-marketplace-integrations-and-produ-71612eb7e5cd
- score: 0.93

How to use it:

When you need to find installable Vercel Marketplace integrations or products, run `vercel integration discover`; add `--format=json` for machine-readable output.

Examples:

```
vercel integration discover
```

```
vercel integration discover --format=json
```

- why_it_matters: Discover installable marketplace integrations and products while working on a coding project.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.15.0>, <https://vercel.com/docs/cli/integration>, <https://vercel.com/docs/cli>
- gotchas: "Version: 50.15.0"; "query: Optional substring filter for integration slug, product slug, name, or description."; "--category (-c): Filter by category; repeat to match any listed category."; "--format (-F): Set output format; use `json` for machine-readable output."; "Prerequisite: Use Vercel CLI v50.15.0 or later; the command was added in v50.15.0."; "Prerequisite: Vercel CLI must be installed. The official CLI overview documents installation with `pnpm i -g vercel` (also lists Yarn, npm, and Bun options)."; "The command supports human-readable and JSON output."

## vercel usage reports billing and period breakdowns (vercel, 2026-02-12)
Published 2026-10-13
- slug: vercel-usage-reports-billing-and-period-breakdowns-f426dad30088
- score: 0.91

How to use it:

When reviewing project billing or usage, run `vercel usage` for the current billing period; add `--breakdown <daily|weekly|monthly>` to group usage by period.

Examples:

```
vercel usage
```

```
vercel usage --breakdown <daily|weekly|monthly>
```

- why_it_matters: Inspect billing and usage information while reviewing or maintaining a project.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.16.0>, <https://vercel.com/docs/cli/usage>
- gotchas: "Version: 50.16.0"; "--breakdown <daily|weekly|monthly>: Groups usage by the specified time period; allowed values are daily, weekly, or monthly."; "Prerequisite: Available to Owner, Member, Developer, Security, Billing, and Enterprise Viewer roles for the current active team."

## vercel integration list supports JSON output and project-scoped headers (vercel, 2026-02-13)
Published 2026-10-13
- slug: vercel-integration-list-supports-json-output-and-project-scoped-headers-bcdc8f02bb40
- score: 0.92

How to use it:

When you need to list installed integration resources for a project, run `vercel integration list [<project>] --format=json` to consume machine-readable results in a script. For table output, the release note says project-scoped results show the project name in the header.

Examples:

```
vercel integration list [<project>] --format=json
```

- why_it_matters: List integrations for a project and consume the results in a script or inspect the project scope in the table output.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.17.0>, <https://vercel.com/docs/cli/integration>
- gotchas: "Version: 50.17.0"; "project: Project name to filter resources; defaults to the linked project."; "--format: Output format; use `json` for machine-readable output."; "The project name appears in the table header when results are scoped to a project."

## vercel blob commands support private stores and updated blob workflows (vercel, 2026-02-19)
Published 2026-10-13
- slug: vercel-blob-commands-support-private-stores-and-updated-blob-workflows-adb9995ab90c
- score: 0.98

How to use it:

When creating, uploading, downloading, or copying blobs in a private store, run the matching `vercel blob` command with `--access private`. For conditional operations, use `--if-match` on put/del/copy or `--if-none-match` on get.

Examples:

```
vercel blob create-store my-store --access private
```

```
vercel blob put file.txt --access private
vercel blob get file.txt --access private
```

```
vercel blob copy source.txt dest.txt --access private
```

- why_it_matters: Create, upload, download, or copy blobs in a Vercel Blob store, including a private store.
- before: Old commands and options continue to work but are deprecated; the prior overwrite option was `--force`.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.20.0>, <https://vercel.com/docs/cli/blob>
- gotchas: "Version: 50.20.0"; "--access <access>: Select `private` or `public`; defaults to `public` per the release note. The current CLI docs say it is required, which conflicts with that release note."; "--if-match <etag>: Proceed only if the blob ETag matches; applies to put, del, and copy."; "--if-none-match <etag>: Return get content only if the blob ETag does not match; an unchanged blob returns 304."; "--allow-overwrite: Allow an upload to replace an existing file; use this in place of `--force` per the release note."; "Prerequisite: Authenticate through OIDC in a linked project with a connected Blob store, or provide `BLOB_READ_WRITE_TOKEN` from an env file or with `--rw-token`."; "`--access` defaults to `public` for backward compatibility."; "`blob get` works with both public and private stores."; "Old commands and options are deprecated but still work."; "Docs conflict: The current CLI docs, last updated August 13, 2026, say `--access` is required; release 50.20.0 says it defaults to `public`. The current docs are newer than the stated release version, so the release note governs behavior for this card."

Next: https://sincecutoff.com/v1/changes.md?tool=vercel&score=0&cursor=eyJzY29yZSI6MCwic2VxIjozNTUsInNpbmNlIjpudWxsLCJ0b29sIjoidmVyY2VsIiwidiI6MX0
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
