Display stuck after a Moonraker update (fixed)
This is fixed. A machine still showing it has not been updated yet.
Symptoms
Section titled “Symptoms”- The display shows
Error getting Moonraker server info: Unauthorized - It retries forever and never reaches the interface
- Mainsail in a browser works normally, which is what makes this confusing — the printer itself is healthy
- Printing from the web interface still works; only the screen is unusable
The fix
Section titled “The fix”-
Update every component. In the Update Manager, press UPDATE ALL COMPONENTS — see Updating the printer
-
Let it finish and restart. The printer performs a firmware restart on its own; reboot it from the dashboard afterwards
-
Flash the Octopus. The host has moved and the main board has not, so it now reports itself out of date. Put the current
firmware.binon a microSD card and let the board take it — the full procedure is Flashing the control boards -
Check the screen. It should reach the interface within a few seconds of the restart
What was actually wrong
Section titled “What was actually wrong”KlipperScreen’s shipped example configuration carried the line
moonraker_api_key = False. KlipperScreen read that as a key and sent the
literal string False — a value that looks like a credential and is not one.
Moonraker used to ignore it and fall through to trusting anything connecting from the machine itself. Moonraker 0.11 stopped ignoring it: a change on 2026-08-17 made credential checking strict, so an invalid key is refused outright instead of being passed over.
Reproduced on a G1 on 2026-08-30, the two logs side by side read:
KlipperScreen: {'code': -32602, 'message': 'Unauthorized'}Moonraker: 101 GET /websocket?token= (127.0.0.1) [_TRUSTED_USER_] JSON-RPC Request Error - printer.objects.subscribe, Unauthorized JSON-RPC Request Error - server.files.list, UnauthorizedThe connection is accepted as a trusted local client, and then every request through it is refused. The bogus key is validated, fails, and the failure revokes the trust the connection already had.
Neither side was broken as such — KlipperScreen relied on Moonraker being lenient, and it stopped being. It was fixed upstream on 4 September 2026, and Ginger’s KlipperScreen was brought onto that code on 9 September. Neither builds that token parameter any more.
Related notes
Section titled “Related notes”- Updating the printer — the update itself
- Flashing the control boards — the second half
- Mainsail dashboard basics
- G1OS software stack — why KlipperScreen and Moonraker are separate services
- Display screen