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

## wrangler auth token retrieves configured credentials (wrangler, 2026-01-07)
Published 2026-10-13
- slug: wrangler-auth-token-retrieves-configured-credentials-5121d6f66092
- score: 0.96

How to use it:

When a script needs Wrangler’s configured credentials, run `wrangler auth token`; add `--json` for structured output with token type, including API key/email credentials.

Examples:

```
wrangler auth token
```

```
wrangler auth token --json
```

- why_it_matters: When a script needs Wrangler’s currently configured authentication credential, retrieve it for the integration.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.57.0>, <https://developers.cloudflare.com/workers/wrangler/commands/general/>
- gotchas: "Version: 4.57.0"; "--json: Returns JSON with token type; required to retrieve API key/email credentials."; "Prerequisite: An authentication method must be available: `CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_API_KEY` plus `CLOUDFLARE_EMAIL` (with `--json`), or an OAuth token from `wrangler login`."; "Returns whichever authentication method is currently configured."

## wrangler dev generates worker configuration types (wrangler, 2026-01-07)
Published 2026-10-13
- slug: wrangler-dev-generates-worker-configuration-types-a0569a8053e7
- score: 0.97

How to use it:

When starting a Worker’s local development server, enable automatic configuration type generation with `wrangler dev --types` or set `dev.generate_types` to `true` in Wrangler configuration.

Examples:

```
wrangler dev --types
```

```
{
  "dev": {
    "generate_types": true
  }
}
```

- why_it_matters: When starting local development for a Worker, generate its configuration types automatically.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.57.0>, <https://developers.cloudflare.com/workers/wrangler/commands/workers/>, <https://developers.cloudflare.com/workers/wrangler/configuration/>
- gotchas: "Version: 4.57.0"; "--types: Boolean flag; generate types from Worker configuration. Defaults to false."; "dev.generate_types: Boolean configuration option; generate types from Worker configuration. Defaults to false."; "Types are generated when the local Wrangler development server starts."

## wrangler types --check verifies generated types (wrangler, 2026-01-13)
Published 2026-10-13
- slug: wrangler-types-check-verifies-generated-types-7660f8508501
- score: 0.98

How to use it:

When you need to verify generated Worker types in CI or a pre-commit hook, run `wrangler types --check`; it checks the configured output path without regenerating types and exits 0 when current or 1 when out of date. Use `wrangler types <path>.d.ts --check` to check a custom output path.

Examples:

```
wrangler types --check
```

```
wrangler types <path>.d.ts --check
```

- why_it_matters: In CI or a pre-commit hook, verify that the repository’s generated Worker types are current.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.59.0>, <https://developers.cloudflare.com/workers/wrangler/commands/workers/>
- gotchas: "Version: 4.59.0"; "PATH: Output path for Worker types; defaults to `./worker-configuration.d.ts` and must have a `.d.ts` extension."; "--check: Check whether types at the specified path are up to date without regenerating them; exits 0 if current or 1 if out of date."

## Wrangler configuration supports the `subrequests` limit (wrangler, 2026-02-03)
Published 2026-10-13
- slug: wrangler-configuration-supports-the-subrequests-limit-e18c3f6d7b8b
- score: 0.94

How to use it:

When a Worker invocation needs a request-count cap, set `limits.subrequests` in its Wrangler config. `limits` and `subrequests` are optional; the limit applies at runtime on Cloudflare’s network, not in local development.

Examples:

```
{
  "limits": {
    "cpu_ms": 1000,
    "subrequests": 150
  }
}
```

- why_it_matters: Limit the number of fetch requests a Worker's invocation can make by configuring the Worker limits.
- before: Before this change, only `cpu_ms` was supported in Wrangler’s `limits` field.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.62.0>, <https://developers.cloudflare.com/workers/wrangler/configuration/>
- gotchas: "Version: 4.62.0"; "limits: Configures limits imposed on Worker execution at runtime."; "limits.subrequests: Maximum subrequests allowed per invocation."; "limits.cpu_ms: Maximum CPU time allowed per invocation, in milliseconds."; "Prerequisite: Limits are supported for the Standard Usage Model and are enforced only on Cloudflare’s network, not during local development."; "Docs conflict: The current configuration docs say the maximum is 50 for free accounts and 10,000,000 for paid accounts. The release-note example uses 150 without specifying a plan; the current docs’ free-account maximum conflicts with using 150 on a free account. https://developers.cloudflare.com/workers/wrangler/configuration/"

## wrangler r2 bucket local-uploads manages local uploads (wrangler, 2026-02-03)
Published 2026-10-13
- slug: wrangler-r2-bucket-local-uploads-manages-local-uploads-68838c9d74c8
- score: 0.95

How to use it:

When managing local uploads for an R2 bucket, run `npx wrangler r2 bucket local-uploads get <BUCKET_NAME>` to check status, `enable <BUCKET_NAME>` to enable with confirmation, `enable <BUCKET_NAME> --force` to skip confirmation, or `disable <BUCKET_NAME>` to turn it off. With local uploads enabled, data is written near the client and asynchronously replicated to the bucket.

Examples:

```
npx wrangler r2 bucket local-uploads get <BUCKET_NAME>
```

```
npx wrangler r2 bucket local-uploads enable <BUCKET_NAME> --force
```

```
npx wrangler r2 bucket local-uploads disable <BUCKET_NAME>
```

- why_it_matters: Enable or disable local uploads for an R2 bucket from the command line.
- before: Without local uploads, object data travels from the client to the bucket's storage infrastructure.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.62.0>, <https://developers.cloudflare.com/r2/buckets/local-uploads/>, <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler@4.62.0>
- gotchas: "Version: 4.62.0"; "<BUCKET_NAME> (required): Name of the R2 bucket to manage."; "--force: Enable local uploads without a confirmation prompt."; "Enabling without `--force` prompts for confirmation."

## wrangler custom build commands receive WRANGLER_COMMAND (wrangler, 2026-02-10)
Published 2026-10-13
- slug: wrangler-custom-build-commands-receive-wrangler-command-e3e6c955da77
- score: 0.93

How to use it:

When Wrangler runs a configured custom build command, branch on `WRANGLER_COMMAND` to select the build behavior for `dev`, `deploy`, `versions upload`, or `types`.

Examples:

```
[build]
command = "./build.sh"
```

```
if [ "$WRANGLER_COMMAND" = "dev" ]; then
  echo "Building for development..."
else
  echo "Building for production..."
fi
```

- why_it_matters: Branch a custom build script on whether Wrangler invoked it for development, deployment, versions upload, or types.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.64.0>, <https://developers.cloudflare.com/workers/wrangler/custom-builds/>
- gotchas: "Version: 4.64.0"; "build.command: Command used to build the Worker; it runs as part of Wrangler commands that trigger the custom build."; "WRANGLER_COMMAND: Environment variable set for the custom build; values documented are `dev`, `deploy`, `versions upload`, and `types`."; "Prerequisite: Configure a custom build command in the Wrangler configuration file."; "The variable applies when using a custom build command in `wrangler.toml`."

## wrangler pages deployment delete command (wrangler, 2026-02-10)
Published 2026-10-13
- slug: wrangler-pages-deployment-delete-command-2e7786fae32f
- score: 0.98

How to use it:

When deleting a Pages deployment, run the delete command with its deployment ID and project name; add `--force` (or `-f`) to skip confirmation in CI/CD.

Examples:

```
npx wrangler pages deployment delete <DEPLOYMENT-ID> --project-name <PROJECT-NAME>
```

```
npx wrangler pages deployment delete <DEPLOYMENT-ID> --project-name <PROJECT-NAME> --force
```

- why_it_matters: Delete a Pages deployment from a project, including from a CI/CD workflow when confirmation should be skipped.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.64.0>, <https://developers.cloudflare.com/pages/platform/known-issues/>, <https://developers.cloudflare.com/workers/wrangler/commands/pages/>
- gotchas: "Version: 4.64.0"; "<DEPLOYMENT-ID> (required): ID of the deployment to delete."; "--project-name <PROJECT-NAME>: Name of the project the deployment belongs to."; "--force / -f: Release note says it skips confirmation; current command docs say it deletes even if the deployment has an active alias. The docs do not say these effects are mutually exclusive."; "Docs conflict: Current docs additionally describe --force as allowing deletion of deployments with active aliases; this behavior is not stated in the Wrangler 4.64.0 release note."

## wrangler pages project list supports --json (wrangler, 2026-02-10)
Published 2026-10-13
- slug: wrangler-pages-project-list-supports-json-08fd6afea07e
- score: 0.98

How to use it:

To process Cloudflare Pages project listings as JSON, run `wrangler pages project list --json`.

Examples:

```
npx wrangler pages project list --json
```

- why_it_matters: Process Pages project listings in a script as JSON.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.64.0>, <https://developers.cloudflare.com/workers/wrangler/commands/pages/>
- gotchas: "Version: 4.64.0"; "--json: Boolean flag (default false); return output as JSON."

## wrangler kv namespace delete accepts a namespace name (wrangler, 2026-02-12)
Published 2026-10-13
- slug: wrangler-kv-namespace-delete-accepts-a-namespace-name-893a7da5590d
- score: 0.98

How to use it:

When deleting a KV namespace by name, run `wrangler kv namespace delete <NAMESPACE>` with the namespace name as the positional argument.

Examples:

```
npx wrangler kv namespace delete <NAMESPACE>
```

- why_it_matters: Delete a KV namespace by its name from a coding workflow.
- before: Delete the namespace using `--namespace-id` or `--binding`.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.65.0>, <https://developers.cloudflare.com/workers/wrangler/commands/kv/>
- gotchas: "Version: 4.65.0"; "[NAMESPACE]: Name of the namespace to delete."; "--binding <string>: Binding name for the namespace to delete."; "--namespace-id <string>: ID of the namespace to delete."; "--skip-confirmation: Skip confirmation; alias `--y`, default false."; "The existing `--namespace-id` and `--binding` flags continue to work as before."

## wrangler pages dev injects Pages environment variables (wrangler, 2026-02-12)
Published 2026-10-13
- slug: wrangler-pages-dev-injects-pages-environment-variables-3e223a67db5d
- score: 0.97

How to use it:

When running a Pages project locally, use `wrangler pages dev` and check the startup bindings table to verify the Pages environment, branch, and commit values.

Examples:

```
npx wrangler pages dev [<DIRECTORY>]
```

```
npx wrangler pages dev --binding=CF_PAGES_BRANCH=<branch>
```

- why_it_matters: Run a Pages project locally and verify that its framework detects the Pages environment and current branch or commit.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.65.0>, <https://developers.cloudflare.com/workers/wrangler/commands/pages/>, <https://developers.cloudflare.com/pages/functions/bindings/>, <https://github.com/cloudflare/workers-sdk/blob/b900c5adc18c12d500e0fb8c58c2295843518695/packages/wrangler/src/pages/dev.ts>
- gotchas: "Version: 4.65.0"; "[DIRECTORY]: Directory of static assets to serve."; "--binding=<KEY>=<VALUE>: Binds a variable or secret; use the Pages variable name and desired value to override it."; "CF_PAGES: Injected as `1` to indicate the Pages environment."; "CF_PAGES_BRANCH: Injected from the current Git branch, or `local` when Git branch detection is unavailable."; "CF_PAGES_COMMIT_SHA: Injected from the current Git commit SHA, or a zero SHA placeholder when Git commit detection is unavailable."; "CF_PAGES_URL: Injected as `https://<short-sha>.<project-name>.pages.dev`."; "`CF_PAGES_BRANCH` defaults to the current git branch, or `\"local\"` when not in a git repository."; "`CF_PAGES_COMMIT_SHA` defaults to the current git commit SHA, or a placeholder when not in a git repository."; "`CF_PAGES_URL` is a simulated commit preview URL."

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