Skip to content

wrangler deploy: automatic resource provisioning is on by default and documented only in a changelog (--x-auto-create nowhere) #32978

Description

@oddharsh

Which page

https://developers.cloudflare.com/workers/wrangler/commands/ (the wrangler deploy section)

What's missing

Automatic resource provisioning is on by default and can create real KV namespaces, R2 buckets, and D1 databases on your account during a deploy. The reference docs for wrangler deploy don't mention it.

Right now the only place it appears is a changelog entry from 2025-10-24, Automatic resource provisioning for KV, R2, and D1, which names --no-x-provision.

A changelog is the wrong home for this. Someone reading wrangler deploy's options today has no way to learn that a binding declared without an ID will be created for them.

Two flags, and one is undocumented anywhere

Both are hidden: true in Wrangler, so --help lists neither. Read from wrangler 4.125.0's own source:

"experimental-provision": {
  describe: "Experimental: Enable automatic resource provisioning",
  type: "boolean",
  default: true,
  hidden: true,
  alias: ["x-provision"]
},
"experimental-auto-create": {
  describe: "Automatically provision draft bindings with new resources",
  type: "boolean",
  default: true,
  hidden: true,
  alias: "x-auto-create"
}

Searching the docs repo: x-provision appears once, in that changelog. experimental-provision, x-auto-create, and experimental-auto-create appear nowhere at all.

Both are accepted by wrangler deploy and wrangler versions upload. Verified by exit code, since --help won't tell you:

wrangler deploy --dry-run --x-bogus-flag        exit 1
wrangler deploy --dry-run --x-provision=false   exit 0
wrangler deploy --dry-run --x-auto-create=false exit 0
wrangler versions upload --dry-run --x-provision=false  exit 0

Why it matters

Anyone running a policy where no deploy path may create account resources has to pin both flags off, on every deploy command, including the ones configured in the Workers Builds dashboard. That's hard to get right when one flag is documented in a changelog and the other isn't documented at all.

Suggested addition

Document both flags in the wrangler deploy options, state that each defaults to true, and say which commands honour them. A note that wrangler versions upload takes them too would help, because the changelog only talks about deploy.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions