Unofficial community reference. Not affiliated with 37signals or the Omacom Foundation. Download Omarchy only from omarchy.org.
omarchylinux.org Unofficial field manual

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.

Workaround available Applies to Omarchy 4.0.0 and later Last verified 2026-09-16 on 4.0.4
Short answer

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.

On this page
  1. The fix
  2. Verify it worked
  3. Why it happens
  4. If that did not work
  5. Related

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

  1. Read the transcript. omarchy update re-executes itself under script(1), so the whole session lands in /tmp/omarchy-update.log. Open it with less -R /tmp/omarchy-update.log and 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.

  2. 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 prints Error: Initramfs generation may have failed. Review logs before restart. If you see that, do not reboot yet. Fix the initramfs first, or roll back.

  3. 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-update or under a migration calling omarchy-theme-set points at a custom or plugin-installed hook. Move ~/.config/omarchy/hooks/ aside and retry.

  4. Rerun the update. omarchy update is safe to repeat: pacman either committed the transaction or did not, and omarchy-migrate records each finished migration as a marker file under ~/.local/state/omarchy/migrations/, so completed migrations are skipped.

  5. 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 with pgrep -af omarchy-update and 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.

  6. If the log ends in You need at least 10 GiB free to safely update Omarchy., free space on / and retry. sudo paccache -rk1 and 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 update bypasses the check, which is a bad idea mid-kernel-upgrade.

  7. If the log ends in error: unresolvable package conflicts detected, run the update interactively, without -y. Omarchy reruns pacman without --noconfirm in that case so you can answer the replace question yourself, and it refuses to do so under -y or without a terminal.

  8. If a single migration failed, fix the cause and run omarchy-migrate on 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 --pending lists 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
  9. 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-hook runs every file in a hook directory with bash, ignoring the shebang and the executable bit. A Python hook gets half-interpreted, and a line starting with import runs ImageMagick’s import, 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 1787515927 failed 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 filesystem lines. 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.

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.

IssueStateCommentsOpened
#3899 Chromium GPU/Ozone errors after update to 3.2.3 · fixed by #27 closed832025-12-16
#3877 omarchy failed everything when yay not working after a failed update, dead lockclosed462025-12-15
#4023 Hyprland config errors after Omarchy update (invalid options and window rules) · fixed by #4032 closed362025-12-30
#4589 The chromium.desktop file became corrupted after the latest stable updateclosed182026-02-12
#1571 Can't become sudo sometimes, password not acceptedclosed292025-09-10
#2089 Super + Space and Omarchy Menu button stops working randomly after upgrading to v3.0.2closed282025-09-29
#3231 Kernel panic after updateclosed252025-11-07
#3154 3.1.5 update this morning bricked my machineclosed292025-11-04
#2307 Complete System Brick after Omarchy Updateclosed232025-10-08
#4115 Hyprland config errors in v3.3.0 after updateclosed262026-01-07

Accepted answers upstream

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.

Unofficial. Verify against the official manual for your version. Improve this page Markdown version Sources