usebruno/bruno · error · Error
opencollection.yml not found
Error message
opencollection.yml not found
What it means
Error "opencollection.yml not found" thrown in usebruno/bruno.
Source
Thrown at packages/bruno-electron/src/ipc/openapi-sync.js:256
.replace(/\?.*$/, '')
.replace(/{([^}]+)}/g, ':$1')
.replace(/\/+/g, '/')
.replace(/\/$/, '');
};
/**
* Load bruno config from disk. Returns { format, brunoConfig, collectionRoot }.
* collectionRoot is only set for yml format collections.
*/
const loadBrunoConfig = (collectionPath) => {
const format = getCollectionFormat(collectionPath);
let brunoConfig;
let collectionRoot;
if (format === 'yml') {
const configFilePath = path.join(collectionPath, 'opencollection.yml');
if (!fs.existsSync(configFilePath)) {
throw new Error('opencollection.yml not found');
}
const content = fs.readFileSync(configFilePath, 'utf8');
const parsed = parseCollection(content, { format });
brunoConfig = parsed.brunoConfig;
collectionRoot = parsed.collectionRoot;
} else {
const brunoJsonPath = path.join(collectionPath, 'bruno.json');
if (!fs.existsSync(brunoJsonPath)) {
throw new Error('bruno.json not found');
}
brunoConfig = JSON.parse(fs.readFileSync(brunoJsonPath, 'utf8'));
}
// Resolve relative openapi sourceUrls to absolute so all callers get consistent paths
if (Array.isArray(brunoConfig?.openapi)) {
brunoConfig.openapi = brunoConfig.openapi.map((entry) => ({
...entry,
sourceUrl: resolveSourceUrl(collectionPath, entry.sourceUrl)View on GitHub (pinned to 9bdd81c7bd)
Solutions
- Sync the collection with a remote OpenAPI spec first so opencollection.yml is created.
- Verify the collection is an OpenAPI-linked collection.
When it happens
Trigger: Thrown at packages/bruno-electron/src/ipc/openapi-sync.js:256 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/c0ed18204f6ea341.
Report an issue: GitHub.