headroomlabs-ai/headroom · error · Error
headroom-openclaw default.register must match registerHeadro
Error message
headroom-openclaw default.register must match registerHeadroomPlugin
What it means
Error "headroom-openclaw default.register must match registerHeadroomPlugin" thrown in headroomlabs-ai/headroom.
Source
Thrown at scripts/verify_npm_release_assets.mjs:92
}
return spawnSync("npm", args, {
cwd,
encoding: "utf8",
});
}
function assertOpenClawExtensionContract(cwd) {
const smoke = `
const mod = await import("headroom-openclaw");
if (typeof mod.default?.register !== "function") {
throw new Error("headroom-openclaw default export must expose register(api)");
}
if (typeof mod.registerHeadroomPlugin !== "function") {
throw new Error("headroom-openclaw must export registerHeadroomPlugin(api)");
}
if (mod.default.register !== mod.registerHeadroomPlugin) {
throw new Error("headroom-openclaw default.register must match registerHeadroomPlugin");
}
`;
const result = spawnSync(process.execPath, ["--input-type=module", "-e", smoke], {
cwd,
encoding: "utf8",
});
if (result.status !== 0) {
throw new Error(
`headroom-openclaw import smoke failed: ${
result.error?.message || result.stderr || result.stdout || "unknown error"
}`,
);
}
}
for (const expected of packages) {
const tarballPath = path.join(assetsDir, expected.tarball);
tarballPaths.set(expected.name, tarballPath);View on GitHub (pinned to 322425c43b)
Solutions
- Make the default export's register property reference the same function as the named registerHeadroomPlugin export
- Check for duplicate/mismatched definitions introduced during bundling
When it happens
Trigger: Raised by the npm release verifier when default.register and the named registerHeadroomPlugin export are different functions, indicating a packaging inconsistency.
Common situations: See trigger scenarios.
AI-assisted analysis of headroomlabs-ai/headroom@322425c43b (2026-08-15).
Data as JSON: /api/errors/9e10e8b32704127f.
Report an issue: GitHub.