{"record":{"id":"c06d6c9213f5e05f","repo":"windmill-labs/windmill","slug":"no-instancegroupspath-file-found","errorCode":null,"errorMessage":"No ${instanceGroupsPath} file found","messagePattern":"No (.+?) file found","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/user/user.ts","lineNumber":451,"sourceCode":"  try {\n    localUsers = (await yamlParseFile(instanceUsersPath)) as ExportedUser[];\n  } catch {\n    log.warn(`No ${instanceUsersPath} file found`);\n  }\n  return localUsers;\n}\n\nexport async function readInstanceGroups(opts: InstanceSyncOptions) {\n  let localGroups: InstanceGroup[] = [];\n\n  checkInstanceGroupsPath(opts);\n\n  try {\n    localGroups = (await yamlParseFile(\n      instanceGroupsPath\n    )) as ExportedInstanceGroup[];\n  } catch {\n    log.warn(`No ${instanceGroupsPath} file found`);\n  }\n  return localGroups;\n}\n\nexport async function pushInstanceUsers(\n  opts: InstanceSyncOptions,\n  preview: boolean = false\n) {\n  const remoteUsers = await wmill.globalUsersExport();\n  const localUsers: ExportedUser[] = await readInstanceUsers(opts);\n\n  if (preview) {\n    return compareInstanceObjects(localUsers, remoteUsers, \"email\", \"user\");\n  } else {\n    log.info(\"Pushing users to instance...\");\n    await wmill.globalUsersOverwrite({\n      requestBody: localUsers,\n    });","sourceCodeStart":433,"sourceCodeEnd":469,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/user/user.ts#L433-L469","documentation":"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.","triggerScenarios":"Thrown at cli/src/commands/user/user.ts:451 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the instance groups YAML file if you intend to sync groups","Check the path set via opts/instanceGroupsPath","Restore file read permissions if it exists but can't be read"],"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-08T15:18:49.778Z"}