Linux Desktop app fails to launch — Failed to load image iconTemplate.png
Description: On Pop!_OS 24.04 (Omakub setup), the latest .deb package for Goose Desktop installs successfully but crashes immediately on launch with the following error:
Unhandled Rejection: Error: Failed to load image from path '/usr/local/lib/node_modules/electron/dist/resources/images/iconTemplate.png'
at Tg (/home/<username>/goose-unpacked/…/main.js:285:940)
at /home/<username>/goose-unpacked/…/main.js:301:11916
Replacing iconTemplate.png manually does not resolve the issue, suggesting the bug lies in main.js or packaging scripts.
Steps to Reproduce:
- Download latest .deb from Goose releases.
- Install on Pop!_OS 24.04:
sudo dpkg -i goose_*.deb
sudo apt --fix-broken install
- Attempt to launch via:
/usr/lib/goose/goose - Observe crash with missing iconTemplate.png error.
Expected Behavior: The app should launch into the Goose Desktop GUI without requiring manual patching of assets.
Actual Behavior: App fails to start due to missing image resource in Electron.
Environment:
OS: Pop!_OS 24.04 (Ubuntu Noble base)
Installation method: .deb package
Goose version: 1.3.0
Architecture: x86_64
Additional Notes:
Tested copying existing PNG assets into the missing path — same error persists.
CLI (goose session) works fine after goose configure.
Issue may be specific to Linux builds — possibly a packaging bug in the .asar extraction or icon handling code.
looks like this will fix it: https://github.com/block/goose/pull/4045 (or may) - @fcrooks if you are able to give that a try
@fcrooks Does it launch after running the following in a terminal (probably with sudo): sed -i "s|^Icon=.*|Icon=/usr/share/pixmaps/goose.png|" /usr/share/applications/goose.desktop
If this is not fixed by #4045 then I also have a branch that passes a desktopTemplate to each maker in electron forge, and it spits them out unchanged. Maybe this is actually preferable?
It's the only config method I found that resulted in an actual icon path in the desktop file instead of 'Icon=goose' etc.
Despite it being called a 'template' I haven't been able to get the maker to substitute any tokens for values from the maker-deb config, so, it's just flat.
Hey thanks for the help, I got it working!
I was able to get Goose Desktop to launch by bypassing the missing iconTemplate.png issue entirely. Instead of trying to patch the Electron resources manually, I ran the goose configure command from the CLI after install. This let the CLI version run fine, and from there I created a custom .desktop launcher pointing directly to the working binary. In short: the GUI launch path was broken due to a missing Electron asset, but the underlying binary worked — so launching it directly avoided the crash.
Glad it works. Do you mind sharing the 'Icon=' line in your custom .desktop file? @fcrooks
Icon=/usr/share/pixmaps/goose.png
The app icon itself still does not display in the system menu though. The PNG exists at the specified path and permissions are correct, but the icon fails to load regardless. I also tested alternative icon paths and file names with no change. But at least I'm able to open and use the desktop version now.
is this working now?