Skip to content

Containers: instance_type phantom diff on every deploy (standard vs standard-1 alias) #13458

@alexminza

Description

@alexminza

What versions & operating system are you using?

wrangler 4.81.0
Node v24.x
macOS 15.4 (Darwin 25.4.0) / also reproduces from Linux (DigitalOcean App Platform container)
@cloudflare/sandbox 0.7.21

Please provide a link to a minimal reproduction

No standalone repo needed — reproduces with any Worker that has a containers block with "instance_type": "standard-1". See reproduction steps in description.

Describe the Bug

Every wrangler deploy for a Worker with a containers configuration block produces a container-application EDIT diff for instance_type, even when no actual change was made:

╭ Deploy a container application deploy changes to your application
│
│ Container application changes
│
├ EDIT my-app-sandbox
│
│           "instance_type": "standard",
│ +         "instance_type": "standard-1",
│
│  SUCCESS  Modified application my-app-sandbox
│
╰ Applied changes

This diff appears on every deploy, including back-to-back deploys with zero config changes.

Root cause

The wrangler config specifies "instance_type": "standard-1" (the canonical name per the Limits and Instance Types docs), but the Containers API returns "standard" (the legacy alias) when reading the stored configuration. Wrangler diffs the local config against the API response, always sees a mismatch, and emits an EDIT.

This is the same pattern as #13315 (configuration.observability phantom diff), where the API normalized a field on write but returned the un-normalized form on read. That was fixed by stripping the deprecated field before computing the diff.

Impact

  • Cosmeticstandard and standard-1 resolve to the same resources (1/2 vCPU, 4 GiB, 8 GB). The EDIT does not force a container recreate.
  • Noise — makes it harder to spot real configuration changes in deploy logs.
  • The same behavior likely applies to the devlite legacy alias, though I've only tested standardstandard-1.

Steps to reproduce

  1. Create a Worker with a containers block specifying "instance_type": "standard-1".
  2. Run wrangler deploy.
  3. Run wrangler deploy again immediately with no changes.
  4. Observe the EDIT ... instance_type diff in the output on both deploys.

Expected behavior

No EDIT block when the effective instance type hasn't changed. Either:

Please provide any relevant error logs

Two consecutive wrangler deploy runs with identical config, both showing the phantom diff:

Uploaded my-app (4.69 sec)
╭ Deploy a container application deploy changes to your application
│
│ Container application changes
│
├ EDIT my-app-sandbox
│
│           "durable_object_offset_instances": 4,
│           "entrypoint": [],
│           "image": "registry.cloudflare.com/ACCOUNT_ID/my-image:20260411-072055",
│ -         "instance_type": "standard",
│ +         "instance_type": "standard-1",
│           "network": {
│             "assign_ipv4": "none",
│             "assign_ipv6": "none",
│
│
│  SUCCESS  Modified application my-app-sandbox (Application ID: a03799de-...)
│
╰ Applied changes

Observed on wrangler 4.81.0, reproduced consistently across 5+ deploys over 2026-04-11 to 2026-04-13.

Metadata

Metadata

Type

No fields configured for Bug.

Projects

Status

Other

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions