{"record":{"id":"17d6b926eb465b0d","repo":"windmill-labs/windmill","slug":"this-command-is-deprecated-use-wmill-generate-me","errorCode":null,"errorMessage":"This command is deprecated. Use \"wmill generate-metadata\" instead.","messagePattern":"This command is deprecated\\. Use \"wmill generate-metadata\" instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"cli/src/commands/app/app.ts","lineNumber":458,"sourceCode":"  .command(\"bundle\", bundleCommand)\n  .command(\"new\", newCommand)\n  .command(\"generate-agents\", generateAgentsCommand)\n  .command(\n    \"generate-locks\",\n    'DEPRECATED: re-generate app lockfiles. Use \"wmill generate-metadata\" instead.'\n  )\n  // Deprecated compatibility command. Keep it working for older repos, but\n  // exclude it from generated system prompt docs.\n  // @deprecated use `wmill generate-metadata`\n  .arguments(\"[app_folder:string]\")\n  .option(\"--yes\", \"Skip confirmation prompt\")\n  .option(\"--dry-run\", \"Perform a dry run without making changes\")\n  .option(\n    \"--default-ts <runtime:string>\",\n    \"Default TypeScript runtime (bun or deno)\"\n  )\n  .action(async (opts: any, appFolder: string | undefined) => {\n    log.warn(\n      colors.yellow('This command is deprecated. Use \"wmill generate-metadata\" instead.')\n    );\n    const { generateLocksCommand } = await import(\"./app_metadata.ts\");\n    await generateLocksCommand(opts, appFolder);\n  })\n  .command(\n    \"set-permissioned-as\",\n    \"Set the on_behalf_of_email for an app (requires admin or wm_deployers group)\"\n  )\n  .arguments(\"<path:string> <email:string>\")\n  .action((async (opts: any, appPath: string, email: string) => {\n    const workspace = await resolveWorkspace(opts);\n    await requireLogin(opts);\n\n    const { lookupUsernameByEmail } = await import(\"../../core/permissioned_as.ts\");\n    const cache = new Map<string, { username: string; email: string }>();\n    const username = await lookupUsernameByEmail(workspace.workspaceId, email, cache);\n","sourceCodeStart":440,"sourceCodeEnd":476,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/app/app.ts#L440-L476","documentation":"The `wmill app generate-locks` command is deprecated. Running it logs this warning and transparently delegates to the unified `generateLocksCommand` implementation, which is now exposed as `wmill generate-metadata`. Behavior is unchanged; only the command name moved.","triggerScenarios":"Invoking `wmill app generate-locks [folder] [--dry-run] [--default-ts bun|deno]` (or any script/CI still using the old subcommand) on a current CLI version.","commonSituations":"CI pipelines or docs written against older CLI versions; muscle memory from pre-unification workflow; copy-pasted scripts from older repositories.","solutions":["Replace the command with `wmill generate-metadata` (same options).","Update CI pipelines and docs to the new command name.","The warning is harmless — the command still works via delegation — but switch before the deprecated alias is removed."],"exampleFix":"// before\nwmill app generate-locks --default-ts bun\n// after\nwmill generate-metadata --default-ts bun","handlingStrategy":"validation","validationCode":"#!/bin/bash\n# fail CI if the deprecated alias is used\ngrep -RInE 'wmill +app +generate-locks' .github/ scripts/ && { echo 'use: wmill generate-metadata'; exit 1; } || true","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Replace `wmill app generate-locks` with `wmill generate-metadata` in scripts and docs.","Add a repo lint/grep check banning the deprecated command.","Pin CLI versions and read changelogs when upgrading CI images.","Treat the warning as a migration signal — the alias may be removed in future releases."],"tags":["cli","deprecation","app-metadata"],"backgroundTag":"deprecated-command","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"}