omarchy update fails or hangs part way through
Read the omarchy update log, find the stage that died, rerun safely, replay a failed migration, and decide when to roll back on Omarchy 4.0.x.
Open /tmp/omarchy-update.log and find the last green stage heading, then run omarchy-update-analyze-logs before you reboot. Rerunning omarchy update is safe: the pacman transaction is idempotent and finished migrations are skipped by their per-user markers. Every silent hang we could trace was a custom or plugin hook, since omarchy-hook runs every hook under bash.
An Omarchy update that stops part way is almost always recoverable. The update is a pipeline of small scripts, and the transcript tells you which one died. Start there before you reboot or roll back.
The fix
-
Read the transcript.
omarchy updatere-executes itself underscript(1), so the whole session lands in/tmp/omarchy-update.log. Open it withless -R /tmp/omarchy-update.logand jump to the end. Each stage prints a green heading (Update system packages,Update Arch signing keys,Running migration (...)), so the last heading is the stage that failed. The log lives in/tmp, so copy it somewhere before you reboot. -
Run the built-in check:
omarchy-update-analyze-logs. On 4.0.4 it scans that same log for one high-value condition, a failed initramfs rebuild, and printsError: Initramfs generation may have failed. Review logs before restart.If you see that, do not reboot yet. Fix the initramfs first, or roll back. -
If it hung instead of failing, find the child process before you kill anything:
pstree -aps $(pgrep -f 'omarchy-update' | head -1)A hang under
omarchy-hook post-updateor under a migration callingomarchy-theme-setpoints at a custom or plugin-installed hook. Move~/.config/omarchy/hooks/aside and retry. -
Rerun the update.
omarchy updateis safe to repeat: pacman either committed the transaction or did not, andomarchy-migraterecords each finished migration as a marker file under~/.local/state/omarchy/migrations/, so completed migrations are skipped. -
If you get
An Omarchy update is already running., a real process still holds a flock on$XDG_RUNTIME_DIR/omarchy-update.lock. Find it withpgrep -af omarchy-updateand end it. The lock is held on an open file descriptor, so it releases the moment the process is gone. The file itself stays on disk and is harmless; deleting it does not unblock anything. -
If the log ends in
You need at least 10 GiB free to safely update Omarchy., free space on/and retry.sudo paccache -rk1and pruning Snapper snapshots are the usual wins. The update’s own cache prune (paccache -rk2) runs after this check, so it cannot rescue you here.OMARCHY_UPDATE_FORCE=1 omarchy updatebypasses the check, which is a bad idea mid-kernel-upgrade. -
If the log ends in
error: unresolvable package conflicts detected, run the update interactively, without-y. Omarchy reruns pacman without--noconfirmin that case so you can answer the replace question yourself, and it refuses to do so under-yor without a terminal. -
If a single migration failed, fix the cause and run
omarchy-migrateon its own. A migration only gets its marker after it succeeds, so the failed one is still pending and runs again; the ones that finished are skipped.omarchy-migrate --pendinglists what is still outstanding. To force a migration that already completed to run again, remove its marker first:rm ~/.local/state/omarchy/migrations/<migration>.sh omarchy-migrate -
If the machine will not boot, or the failure hit the kernel or bootloader, pick the pre-update snapshot in the Limine menu instead. See /upgrade/rollback-with-snapper-and-limine/.
Verify it worked
Run omarchy update once more. A clean run ends with the restart prompt and no red
trap message. Then confirm nothing is left pending:
omarchy-migrate --pending # prints nothing and exits non-zero when clean
pacman -Qu # no pending upgrades
omarchy-version
If omarchy-update-analyze-logs is quiet after a fresh run, either the initramfs
rebuilt or no kernel package was touched. The check only fires when the log contains
an Updating linux initcpios line without a matching success line.
Why it happens
On 4.x the update is package-backed. omarchy-update takes a lock, checks for 10 GiB
free, prunes the package cache, takes a Snapper snapshot, updates the keyrings, runs
pacman -Syu, then runs migrations, post-update hooks, AUR and mise updates, and the
log analyzer. Any step that exits non-zero trips a shell trap that prints
Something went wrong during the update! followed by
Please review the output above carefully, correct the error, and retry the update.
That message is generic on purpose. The real cause is in the lines above it.
Four causes account for most reports we could verify:
-
A hook that is not a bash script.
omarchy-hookruns every file in a hook directory withbash, ignoring the shebang and the executable bit. A Python hook gets half-interpreted, and a line starting withimportruns ImageMagick’simport, which waits forever for a click. Reported independently in #8492, #9294 and #9845, all still open as of 4.0.4. A plugin can install such a hook without you knowing. -
A migration that hits an environment it did not expect. Migration
1787515927failed for users on Bash 5.3 (#8832); ryanrhughes fixed it in PR #8835, and the 4.0.2 release notes list a fix for migration failures on Bash 5.3. -
Unowned files pacman refuses to overwrite. Omarchy clears leftovers it recognises as its own, but files outside that set stop the transaction. In #9142 a kernel downgrade plus kernel-modules-hook left the running kernel’s module tree owned by nobody, and every later update failed with 6,454
exists in filesystemlines. PR #9285 proposes handling it and is still open. Rebooting into the installed kernel first, then updating, clears it. -
A DKMS module that fails to build. In #12044 the 4.0.4 kernel migration reported
module not found: 'nvidia', but a commenter showed the real failure was the NVIDIA DKMS build being killed by the OOM killer during a parallel compile. The initramfs error is downstream of that.
3.x differs. On 3.8.4 and earlier the update was a git pull into ~/.local/share/omarchy
plus omarchy-update-perform. There was no update lock, no free-space check and no
package cache prune, and a failed snapshot aborted the update instead of warning and
carrying on. /tmp/omarchy-update.log and omarchy-update-analyze-logs already
existed, so step 1 and step 2 work on 3.x too.
If that did not work
Collect the evidence rather than guessing. omarchy-debug writes a diagnostic dump to
/tmp/omarchy-debug.log (--print sends it to the terminal instead), and
omarchy-upload-log this-boot pushes the current boot journal to logs.omarchy.org with a
24 hour expiry so you can paste one URL into an issue or the Discord. Include the last
green stage heading from /tmp/omarchy-update.log.
If the update keeps failing at the same package transaction, check whether your real problem is a mirror or signature issue rather than the updater. See /fix/failed-to-retrieve-some-files-pacman/ and /fix/signature-is-unknown-trust-keyring/.
As a last resort the manual points at omarchy reinstall, which reinstalls the default
packages, puts you back on stable and resets the Omarchy config files. It overwrites your
customisations of those defaults, so back up ~/.config/hypr/ and ~/.config/omarchy/
first.
Related
Upstream threads about this error
453 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.
| Issue | State | Comments | Opened |
|---|---|---|---|
| #3899 Chromium GPU/Ozone errors after update to 3.2.3 · fixed by #27 | closed | 83 | 2025-12-16 |
| #3877 omarchy failed everything when yay not working after a failed update, dead lock | closed | 46 | 2025-12-15 |
| #4023 Hyprland config errors after Omarchy update (invalid options and window rules) · fixed by #4032 | closed | 36 | 2025-12-30 |
| #4589 The chromium.desktop file became corrupted after the latest stable update | closed | 18 | 2026-02-12 |
| #1571 Can't become sudo sometimes, password not accepted | closed | 29 | 2025-09-10 |
| #2089 Super + Space and Omarchy Menu button stops working randomly after upgrading to v3.0.2 | closed | 28 | 2025-09-29 |
| #3231 Kernel panic after update | closed | 25 | 2025-11-07 |
| #3154 3.1.5 update this morning bricked my machine | closed | 29 | 2025-11-04 |
| #2307 Complete System Brick after Omarchy Update | closed | 23 | 2025-10-08 |
| #4115 Hyprland config errors in v3.3.0 after update | closed | 26 | 2026-01-07 |
Accepted answers upstream
- Support Multiple Users · answered by andrewib
- GPU Passthrough + Windows VM with Looking Glass · answered by slawomir-andreasik
- Chromium/Brave/Browser issues with recent drivers/kernels · answered by scossar
- "Error command not found xdg-terminal-exec " After updating omarchy to v3.1.5 when opening any TUI · answered by ryanrhughes
Questions people ask
- Is it safe to rerun omarchy update after it failed?
- Yes, in almost every case. The pacman transaction either committed or did not, and migrations are tracked per user by marker files in ~/.local/state/omarchy/migrations/, so the ones that already succeeded are skipped.
- Where is the update log?
- /tmp/omarchy-update.log. omarchy update re-executes itself under script(1) so the whole session is captured, including pacman and yay output. It is in /tmp, so a reboot erases it.
- Can I just run pacman -Syu instead?
- No. Omarchy 4 installs an ALPM pre-transaction guard that aborts a direct system upgrade, because you would skip the snapshot, the migrations and the post-update hooks.
Sources and credit
Fixes on this page were worked out by hbabb (Traced a silent update hang to a Python plugin hook being parsed by bash), lvkz-okcapsule (Posted the process tree that identifies a hung post-update hook), DrakeMorrison (Diagnosed the unowned kernel modules tree that wedges pacman), ryanrhughes (Fixed the Bash 5.3 migration failure carried in 4.0.2). Text here is our own paraphrase; follow the links for the original threads.
- manualOmarchy manual chapter 30, Updates · 2026-09-15
- issueIssue #8492: omarchy-hook runs every hook via bash, ignoring the shebang, silently hangs on non-bash hooks that collide with a real binary name · hbabb · 2026-08-27
- issueIssue #9294: omarchy-hook runs hooks with bash, ignoring shebang and executable bit, non-bash hook silently hung omarchy-update · lvkz-okcapsule · 2026-08-31
- issueIssue #9845: omarchy-hook always runs .d hook scripts with bash, breaking non-bash hooks despite correct shebang + exec bit · DookyShooz · 2026-09-02
- issueIssue #8832: Migration 1787515927 failed · neheb · 2026-08-28
- prPR #8835: Fix migration 1787515927 failing on Bash 5.3 · ryanrhughes · 2026-08-28
- issueIssue #9142: omarchy update wedged by unowned kernel-modules-hook leftovers after release-migration kernel downgrade · DrakeMorrison · 2026-08-30
- prPR #9285: Clear unowned running-kernel modules leftovers during update · fresh3nough · 2026-08-31
- issueIssue #12044: Migration failed due to missing nvidia modules on linux-omarchy · xiyeming · 2026-09-16