windmill-labs/windmill · error

No ${instanceGroupsPath} file found

Error message

No ${instanceGroupsPath} file found

What it means

yamlParseFile threw on the instance groups file (default instance_groups.yaml): missing or unreadable. readInstanceGroups logs this warning and returns an empty group list, so instance-group sync proceeds against zero local groups rather than failing.

Source

Thrown at cli/src/commands/user/user.ts:451

  try {
    localUsers = (await yamlParseFile(instanceUsersPath)) as ExportedUser[];
  } catch {
    log.warn(`No ${instanceUsersPath} file found`);
  }
  return localUsers;
}

export async function readInstanceGroups(opts: InstanceSyncOptions) {
  let localGroups: InstanceGroup[] = [];

  checkInstanceGroupsPath(opts);

  try {
    localGroups = (await yamlParseFile(
      instanceGroupsPath
    )) as ExportedInstanceGroup[];
  } catch {
    log.warn(`No ${instanceGroupsPath} file found`);
  }
  return localGroups;
}

export async function pushInstanceUsers(
  opts: InstanceSyncOptions,
  preview: boolean = false
) {
  const remoteUsers = await wmill.globalUsersExport();
  const localUsers: ExportedUser[] = await readInstanceUsers(opts);

  if (preview) {
    return compareInstanceObjects(localUsers, remoteUsers, "email", "user");
  } else {
    log.info("Pushing users to instance...");
    await wmill.globalUsersOverwrite({
      requestBody: localUsers,
    });

View on GitHub (pinned to e474e8803c)

Solutions

  1. Create the instance groups YAML file if you intend to sync groups
  2. Check the path set via opts/instanceGroupsPath
  3. Restore file read permissions if it exists but can't be read
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at cli/src/commands/user/user.ts:451 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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