windmill-labs/windmill · error

Migration cancelled by user

Error message

Migration cancelled by user

What it means

User-choice sentinel in the legacy git-sync migration flow: the repository still uses the pre-multi-repo settings format, the CLI explained the migration and asked for confirmation (Confirm.prompt), and the answer was no. For push the flow cannot continue (pushing to a legacy repository is unsupported), so it exits with this error after printing a skip warning; for pull the operation aborts likewise, with a note that migration can be done later via the UI. The input at fault is the interactive confirmation declining the migration.

Source

Thrown at cli/src/commands/gitsync-settings/legacySettings.ts:75

    console.log(`  Include paths: ${workspaceIncludePath.join(', ')}`);
    console.log(`  Include types: ${finalIncludeType.join(', ')}\n`);

    const confirm = await Confirm.prompt({
      message: operationName === "push"
        ? 'Do you want to migrate this repository before pushing?'
        : 'Do you want to migrate this repository?',
      default: true
    });

    if (!confirm) {
      const message = operationName === "push"
        ? '\n⚠️  Migration skipped. Cannot push to legacy repository.'
        : '\n⚠️  Migration skipped. You can migrate later via the UI.';
      console.log(colors.yellow(message));
      if (operationName === "push") {
        return null; // Signal to exit push operation
      }
      throw new Error('Migration cancelled by user');
    }

    // Perform the migration
    let migratedIncludeType = [...workspaceIncludeType];
    if (selectedRepo.exclude_types_override && selectedRepo.exclude_types_override.length > 0) {
      migratedIncludeType = migratedIncludeType.filter(
        type => !selectedRepo.exclude_types_override.includes(type)
      );
    }

    const migratedRepo = {
      ...selectedRepo,
      settings: {
        include_path: [...workspaceIncludePath],
        include_type: migratedIncludeType,
        exclude_path: [],
        extra_include_path: []
      }

View on GitHub (pinned to e474e8803c)

Solutions

  1. Re-run and answer 'y' to the migration prompt to convert the repository to the current settings format
  2. For pull, migrate later via the UI (Settings → Git Sync) and pull again
  3. Skip the CLI interaction by passing --yes (non-interactive mode auto-confirms)
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at cli/src/commands/gitsync-settings/legacySettings.ts:75 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/b74a0a54189db97a. Report an issue: GitHub.