WFB Sideload

watch face → GARMIN/APPS, nothing to install
…or drop a .zip, .prg or .set here
3  Watch
No watch selected.
Log
Preview
EMPTY
LOAD A URL
OR A FILE
 
How this works, and what to do when it doesn't

Writing to the watch uses the File System Access API — Chrome, Edge, Brave and Opera on the desktop, over https:// or localhost. Firefox and Safari don't have it: there, use Save file… and copy the file into GARMIN/APPS yourself.

The watch has to show up as a folder. The Instinct 2 connects over MTP on Linux. Opened in Nautilus the path looks like /run/user/1000/gvfs/mtp:host=…/Internal storage; jmtpfs ~/garmin is steadier. On Windows pick the device folder under This PC. Pick the watch root or the GARMIN folder — the rest is found for you, and the choice is remembered for next time.

Watch out for the double GARMIN. Over MTP the watch volume is itself called GARMIN, so the real path is GARMIN/GARMIN/APPS. Files dropped in the outer GARMIN/APPS are simply ignored — no error, the watch face just never appears. This page picks the folder holding GarminDevice.xml and tells you if stray .prg files are sitting in the wrong one.

The .prg vanished from the watch after replugging — that's normal. The firmware moves it internally. Find it on the watch: hold MENU → Watch Face → scroll to the end.

Nothing shows up, or you get "IQ!" — the build is almost always for the wrong model. instinct2, instinct2s, instinct2x and instinctcrossover are four different devices and a .prg can't be shared between them. Also check GARMIN/APPS/LOGS/CIQ_LOG.YML, read out below whenever you pick a watch — an Out Of Memory entry means the design is too heavy for the device.

Called as PROXY + encodeURIComponent(url). Note that a proxy can't pass the Turnstile either — it only helps for pages that aren't gated. The Worker source is in the README.