WordPress thinks an update is running.
WHAT IT MEANS
A lock left behind by an interrupted update.
WordPress sets a database value while updating and removes it afterwards. An interruption leaves it set.
THE FIX
It clears itself after a period, usually fifteen minutes. Waiting is the simplest option.
TO CLEAR IT IMMEDIATELY
In phpMyAdmin, open the options table and delete the row named core_updater.lock.
Back up the database first.
WHY THE UPDATE WAS INTERRUPTED
A timeout, a memory limit, a connection drop, or a browser tab closed mid-update.
AFTER CLEARING IT
Check whether the update actually applied. Dashboard > Updates shows the current version.
If the site is in a mixed state, re-run the update.
Check for a .maintenance file as well, which a failed update also leaves behind.
PREVENTING IT
Back up before updating Raise execution time limits before large updates Do not close the browser during an update Update over a stable connection