NousResearch/hermes-agent · error · Error
icon not found: ${icon}
Error message
icon not found: ${icon} What it means
Error "icon not found: ${icon}" thrown in NousResearch/hermes-agent.
Source
Thrown at apps/desktop/scripts/set-exe-identity.mjs:56
import { resolve, join } from 'node:path'
import { existsSync } from 'node:fs'
import { rcedit } from 'rcedit'
import { isMain } from './utils.mjs'
// Stamp the Hermes icon + identity onto `exe`. Resolves on success, throws on
// failure. `desktopRoot` defaults to this script's package root so the icon and
// the rcedit dependency resolve regardless of cwd.
async function stampExeIdentity(exe, desktopRoot = resolve(import.meta.dirname, '..')) {
if (!exe || !existsSync(exe)) {
throw new Error(`target exe not found: ${exe}`)
}
// Icon lives at apps/desktop/assets/icon.ico
const icon = join(desktopRoot, 'assets', 'icon.ico')
if (!existsSync(icon)) {
throw new Error(`icon not found: ${icon}`)
}
console.log(`[set-exe-identity] stamping ${exe}`)
console.log(`[set-exe-identity] icon: ${icon}`)
await rcedit(exe, {
icon,
'version-string': {
ProductName: 'Hermes',
FileDescription: 'Hermes',
CompanyName: 'Nous Research',
LegalCopyright: 'Copyright (c) 2026 Nous Research'
}
})
console.log('[set-exe-identity] done — Hermes icon + identity stamped')
}
View on GitHub (pinned to c896c09c42)
Solutions
- Provide an icon file at the expected path or pass the correct icon path.
- Regenerate the app icons before running the identity script.
When it happens
Trigger: Thrown at apps/desktop/scripts/set-exe-identity.mjs:56 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/082988d4402953ba.
Report an issue: GitHub.