usebruno/bruno · error · Error
Migration aborted — target yml file(s) already exist: ${coll
Error message
Migration aborted — target yml file(s) already exist:
${collisions.join('\n')} What it means
Error "Migration aborted — target yml file(s) already exist: ${collisions.join('\n')}" thrown in usebruno/bruno.
Source
Thrown at packages/bruno-electron/src/ipc/yml-migration.js:151
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);
writtenYmlFiles.push(ymlPath);
emitProgress('writing', i + 1, totalWrites);
}
checkCancelled();
await writeFile(ocYmlPath, ymlCollectionContent);
writtenYmlFiles.push(ocYmlPath);
emitProgress('writing', totalWrites, totalWrites);
// Phase 3: back up the bru sources, then remove them
const originalsToRemove = [...bruFiles, brunoJsonPath];View on GitHub (pinned to 9bdd81c7bd)
Solutions
- Remove or rename the listed existing yml files, then re-run the migration.
- Back up and clean the target files before retrying.
When it happens
Trigger: Thrown at packages/bruno-electron/src/ipc/yml-migration.js:151 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13).
Data as JSON: /api/errors/7863117fc7ccd8eb.
Report an issue: GitHub.