usebruno/bruno · error · Error

Migration aborted — ${parseErrors.length} file(s) failed to

Error message

Migration aborted — ${parseErrors.length} file(s) failed to parse:
${parseErrors.join('\n')}

What it means

Error "Migration aborted — ${parseErrors.length} file(s) failed to parse: ${parseErrors.join('\n')}" thrown in usebruno/bruno.

Source

Thrown at packages/bruno-electron/src/ipc/yml-migration.js:141

          const requestData = await parseRequestViaWorker(bruContent, { format: 'bru' });
          ymlPath = bruFilePath.replace(/\.bru$/, '.yml');
          ymlContent = await stringifyRequestViaWorker(requestData, { format: 'yml' });
        }

        checkCancelled();
        conversionPlan.push({ ymlPath, ymlContent });
        tabPathMap[bruFilePath] = ymlPath;
      } catch (parseError) {
        if (parseError?.message === MIGRATION_CANCELLED_MESSAGE) {
          throw parseError;
        }
        parseErrors.push(`${bruFilePath}: ${parseError.message}`);
      }
      emitProgress('parsing', i + 1, bruFiles.length);
    }

    if (parseErrors.length > 0) {
      throw new Error(`Migration aborted — ${parseErrors.length} file(s) failed to parse:\n${parseErrors.join('\n')}`);
    }

    const collisions = conversionPlan
      .map(({ ymlPath }) => ymlPath)
      .filter((ymlPath) => fs.existsSync(ymlPath));
    if (fs.existsSync(ocYmlPath)) {
      collisions.push(ocYmlPath);
    }
    if (collisions.length > 0) {
      throw new Error(`Migration aborted — target yml file(s) already exist:\n${collisions.join('\n')}`);
    }

    // Phase 2: write the converted yml files
    const totalWrites = conversionPlan.length + 1;
    for (let i = 0; i < conversionPlan.length; i++) {
      checkCancelled();
      const { ymlPath, ymlContent } = conversionPlan[i];
      await writeFile(ymlPath, ymlContent);

View on GitHub (pinned to 9bdd81c7bd)

Solutions

  1. Fix the listed files' syntax so they parse, then re-run the migration.
  2. Exclude or repair malformed bru files before migrating.

When it happens

Trigger: Thrown at packages/bruno-electron/src/ipc/yml-migration.js:141 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13). Data as JSON: /api/errors/1ef7071c9b7d3d53. Report an issue: GitHub.