windmill-labs/windmill · warning

This command is deprecated. Use "wmill generate-metadata" in

Error message

This command is deprecated. Use "wmill generate-metadata" instead.

What it means

The legacy flow metadata command (flow sync-style metadata generation) has been superseded by `wmill generate-metadata`. The CLI still executes the operation but prints a deprecation warning pointing users to the new command.

Source

Thrown at cli/src/commands/flow/flow.ts:947

      } else if (v.type === "branchall") {
        for (const b of v.branches ?? []) walkModules(b.modules ?? []);
      }
    }
  };
  if (flowValue?.preprocessor_module?.id) ids.push(flowValue.preprocessor_module.id);
  if (flowValue?.failure_module?.id) ids.push(flowValue.failure_module.id);
  walkModules(flowValue?.modules ?? []);
  return ids;
}

export async function generateLocks(
  opts: GlobalOptions & {
    yes?: boolean;
    dryRun?: boolean;
  } & SyncOptions,
  folder: string | undefined
) {
  log.warn(
    colors.yellow('This command is deprecated. Use "wmill generate-metadata" instead.')
  );
  const workspace = await resolveWorkspace(opts);
  await requireLogin(opts);
  opts = await mergeConfigWithConfigFile(opts);
  if (folder) {
    // read script metadata file
    await generateFlowLockInternal(
      folder,
      false,
      workspace,
      opts
    );
  } else {
    const ignore = await ignoreF(opts);
    const elems = Object.keys(
      await elementsToMap(
        await FSFSElement(process.cwd(), [], true),

View on GitHub (pinned to e474e8803c)

Solutions

  1. Replace the call with `wmill generate-metadata`.
  2. Update CI pipelines / scripts to use the new command name.
  3. Review the new command's flags (`--yes`, `--dry-run`, sync options) since equivalents are supported there.

Example fix

// before
wmill flow generate-metadata u/scripts --folder my-folder
// after
wmill generate-metadata u/scripts --folder my-folder
Defensive patterns

Strategy: validation

Validate before calling

// in scripts/CI, assert the modern command exists before calling
wmill generate-metadata --help >/dev/null 2>&1 || { echo 'upgrade wmill CLI'; exit 1; }

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: Invoking the deprecated flow metadata subcommand (e.g. in CI scripts or old docs) with optional `--yes`/`--dry-run` and sync options; any scripted call that was written before `generate-metadata` existed.

Common situations: Old CI pipelines and Makefiles carrying legacy commands; following outdated blog posts or internal docs; muscle memory from previous CLI versions.

Related errors


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/5818d3d0eec5384d. Report an issue: GitHub.