{"record":{"id":"3f7931a49406fc4d","repo":"anomalyco/sst","slug":"there-have-been-some-minor-changes-to-the-cluster","errorCode":null,"errorMessage":"There have been some minor changes to the \"Cluster\" component that's being referenced by \"${name}\".\n\nTo update, you'll need to redeploy the stage where the cluster was created. And then redeploy this stage.","messagePattern":"There have been some minor changes to the \"Cluster\" component that's being referenced by \"(.+?)\"\\.\n\nTo update, you'll need to redeploy the stage where the cluster was created\\. And then redeploy this stage\\.","errorType":"exception","errorClass":"VisibleError","httpStatus":null,"severity":"error","filePath":"platform/src/components/aws/cluster.ts","lineNumber":249,"sourceCode":"    const vpc = normalizeVpc();\n    const cluster = createCluster();\n    createCapacityProviders();\n\n    this.cluster = output(cluster);\n    this._vpc = vpc;\n\n    function reference() {\n      const ref = args as ClusterRef;\n      const cluster = ecs.Cluster.get(`${name}Cluster`, ref.id, undefined, {\n        parent: self,\n      });\n      const clusterValidated = cluster.tagsAll.apply((tags) => {\n        const refVersion = tags?.[\"sst:ref:version\"]\n          ? parseComponentVersion(tags[\"sst:ref:version\"])\n          : undefined;\n\n        if (refVersion?.minor !== _version.minor) {\n          throw new VisibleError(\n            [\n              `There have been some minor changes to the \"Cluster\" component that's being referenced by \"${name}\".\\n`,\n              `To update, you'll need to redeploy the stage where the cluster was created. And then redeploy this stage.`,\n            ].join(\"\\n\"),\n          );\n        }\n\n        registerVersion(refVersion);\n\n        return cluster;\n      });\n\n      return { cluster: clusterValidated };\n    }\n\n    function normalizeVpc() {\n      // \"vpc\" is a Vpc.v1 component\n      if (args.vpc instanceof VpcV1) {","sourceCodeStart":231,"sourceCodeEnd":267,"githubUrl":"https://github.com/anomalyco/sst/blob/a0bd20f762883e72a35caccb4896c42ce5b3f707/platform/src/components/aws/cluster.ts#L231-L267","documentation":"SST tags referenced Cluster components with a component version (sst:ref:version). When a stage references a cluster created in another stage, the minor versions must match because cross-stage references rely on identical component output shape. A minor version mismatch means the referenced cluster was deployed with an older SST version and must be redeployed.","triggerScenarios":"Calling Cluster.reference(...) (or a component like Service that references a cluster) in stage B, pointing at a cluster deployed in stage A with a different SST minor version of the Cluster component.","commonSituations":"Upgrading SST in one app/stage but not the stage that owns the cluster; multiple repos sharing a cluster where only one repo bumped SST; stale dev stage referencing an old prod cluster.","solutions":["Upgrade SST to the same version in the stage/project that created the Cluster and redeploy that stage (sst deploy).","Then redeploy the referencing stage so both sides use matching component versions.","Pin SST to an identical version across all apps/stages sharing resources (e.g. same package.json version)."],"exampleFix":"// repo A (cluster owner)\n// package.json: \"sst\": \"3.x.y\" -> upgrade to same version as repo B, then:\n// sst deploy --stage prod\n// repo B\nconst cluster = sst.aws.Cluster.reference('MyCluster', { cluster: 'prod/my-app/MyCluster' }); // redeploy after repo A","handlingStrategy":"validation","validationCode":"// Before referencing, check the owning stage's SST version matches:\nconst SST_VERSION = require('./package.json').dependencies.sst;\nif (SST_VERSION !== OWNER_STAGE_SST_VERSION)\n  console.warn(`Redeploy the cluster owner stage: SST ${SST_VERSION} vs ${OWNER_STAGE_SST_VERSION}`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin the same SST version across all repos/stages sharing components.","Upgrade SST everywhere and redeploy owner stages first, then referencing stages.","Watch the sst:ref:version tag on the cluster when debugging."],"tags":["aws","ecs","cluster","version-mismatch","sst-version"],"backgroundTag":"sst-component-version-mismatch","analyzedSha":"a0bd20f762883e72a35caccb4896c42ce5b3f707","analyzedAt":"2026-08-30T11:26:00.383Z","schemaVersion":2},"datasetVersion":"2026-08-30T13:17:10.514Z"}