NousResearch/hermes-agent · error · Error
[stage-native-deps] get-windows has no win32 prebuilt bindin
Error message
[stage-native-deps] get-windows has no win32 prebuilt binding under lib/binding. Recover from the checkout root with: npm install-scripts approve get-windows npm rebuild get-windows
What it means
Error "[stage-native-deps] get-windows has no win32 prebuilt binding under lib/binding. Recover from the checkout root with: npm install-scripts approve get-windows npm rebuild get-windows" thrown in NousResearch/hermes-agent.
Source
Thrown at apps/desktop/scripts/stage-native-deps.mjs:501
(dir) =>
dir.includes(`-${platform}-`) &&
existsSync(join(bindingRoot, dir, 'node-get-windows.node'))
)
: []
let bindingDirs = scanBindingDirs()
if (bindingDirs.length === 0 && typeof rebuild === 'function') {
// A plain `npm install` won't re-run an install script for a package
// that is already on disk, so every checkout that installed while
// get-windows was missing from allowScripts stays bricked even after
// the allowlist is fixed. `npm rebuild` re-runs it.
console.log(
'[stage-native-deps] get-windows has no win32 binding; running `npm rebuild get-windows`...'
)
rebuild()
bindingDirs = scanBindingDirs()
}
if (bindingDirs.length === 0) {
throw new Error(
'[stage-native-deps] get-windows has no win32 prebuilt binding under lib/binding. ' +
'Recover from the checkout root with:\n' +
' npm install-scripts approve get-windows\n' +
' npm rebuild get-windows'
)
}
for (const dir of bindingDirs) {
const dest = join(destRoot, 'lib', 'binding', dir)
mkdirSync(dest, { recursive: true })
const destFile = join(dest, 'node-get-windows.node')
cpSync(join(bindingRoot, dir, 'node-get-windows.node'), destFile)
const classified = classifyNativeBinary(destFile)
if (classified !== platform) {
throw new Error(
`[stage-native-deps] get-windows binding ${dir}/node-get-windows.node: ` +
`expected ${platform}, got ${classified ?? 'unknown'}. ` +
'Refusing to stage a binary compiled for the wrong platform.'
)View on GitHub (pinned to c896c09c42)
Solutions
- From the checkout root run `npm install-scripts approve get-windows` then `npm rebuild get-windows`.
- Verify the package's postinstall produced lib/binding for win32 before staging.
When it happens
Trigger: Thrown at apps/desktop/scripts/stage-native-deps.mjs:501 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/782036e09cd0d79b.
Report an issue: GitHub.