{"record":{"id":"6951ea9434c3f43d","repo":"windmill-labs/windmill","slug":"stale-apps-locks-found-you-may-want-to-update-the","errorCode":null,"errorMessage":"Stale apps locks found, you may want to update them using 'wmill generate-metadata' before pushing:","messagePattern":"Stale apps locks found, you may want to update them using 'wmill generate-metadata' before pushing:","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/sync/sync.ts","lineNumber":5209,"sourceCode":"      log.warn(\n        \"Stale flows locks found, you may want to update them using 'wmill generate-metadata' before pushing:\",\n      );\n    }\n    for (const stale of staleFlows) {\n      if (autoRegenerate) {\n        log.info(`  ${stale}`);\n      } else {\n        log.warn(stale);\n      }\n    }\n    log.info(\"\");\n  }\n\n  if (staleApps.length > 0) {\n    if (autoRegenerate) {\n      log.info(\"Auto-regenerated locks for stale apps:\");\n    } else {\n      log.warn(\n        \"Stale apps locks found, you may want to update them using 'wmill generate-metadata' before pushing:\",\n      );\n    }\n    for (const stale of staleApps) {\n      if (autoRegenerate) {\n        log.info(`  ${stale}`);\n      } else {\n        log.warn(stale);\n      }\n    }\n    log.info(\"\");\n  }\n\n  // Warn about local files for skipped types. Walks the in-memory DynFSElement tree\n  // (not a fresh disk scan), but does re-traverse it. Acceptable cost for a one-time check.\n  {\n    const skippedWarnings: string[] = [];\n    let scheduleCount = 0;","sourceCodeStart":5191,"sourceCodeEnd":5227,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/sync/sync.ts#L5191-L5227","documentation":"Post-push advisory in `wmill sync push`: app locks were detected as stale (app definition changed since its lock was generated) and autoRegenerate was off. The following lines list the affected app paths; the push itself completed.","triggerScenarios":"Thrown at cli/src/commands/sync/sync.ts:5209 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run 'wmill generate-metadata' to refresh app locks","Push again after regeneration so remotes carry current locks"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}