Quickshell crashes or the Omarchy bar is missing
The Omarchy 4 Quickshell bar vanished or omarchy-shell keeps crashing. Restart the shell, read its journal, reset a broken bar, fix a Qt ABI mismatch.
Run `omarchy restart shell` from a terminal. If it reports that the shell did not become ready, check `journalctl -t omarchy-shell -b | tail -50`. A blank bar after cloning or setting a custom bar is fixed with `omarchy bar reset`. A shell that will not start at all after an update on the edge or rc channel is usually a quickshell and Qt version mismatch.
On Omarchy 4 the bar, the menu, notifications, OSD popups, the lock screen and the polkit agent are all plugins inside one Quickshell process called omarchy-shell. When that process dies you lose all of them at once, which is why a missing bar and a dead SUPER + SPACE menu are the same bug. On 3.x the bar was Waybar in its own process, so none of this applies there. See where did Waybar go.
The fix
Work through these in order. You need a terminal: SUPER + RETURN still works while the shell is down, because Hyprland is a separate process.
-
Rule out the hide toggle.
SUPER + SHIFT + SPACEhides the bar without killing the shell. If the menu and notifications still work, you probably hid it. Press it again (or use Trigger > Toggle > Menu Bar), or delete the flag file directly:rm -f ~/.local/state/omarchy/toggles/bar-off omarchy restart shell -
Restart the shell.
omarchy restart shellSame thing from the menu under Update > Process > Shell. The script kills every running instance, respawns it through Hyprland so it inherits the session environment, and waits for it to answer. It refuses while the session is genuinely locked and secure. If the lock client died and you are stuck on Hyprland’s failsafe screen, run it from a TTY (
CTRL + ALT + F2) and it will restart the shell and re-secure the lock so you can type your password again. -
Read the log before guessing. Omarchy pipes the shell into the journal:
journalctl -t omarchy-shell -b --no-pager | tail -50 ls -t ~/.cache/quickshell/crashes/ | headLines like
Omarchy shell exited with status 255; relaunching.mean it crashed and came back.Giving up on the Omarchy shell after 6 relaunches in under a minute.means the supervisor stopped trying. -
If the shell will not start at all, check the package. On the edge and rc channels in August 2026, a
quickshell-gitbuild compiled against Qt 6.11.2 was installed next to Qt 6.11.1, and the shell died instantly with a symbol lookup error and exit status 127. The same thing happens on stable if you holdqt6-*back inIgnorePkg: the 4.0.1 migration swapsquickshell-gitfor the packagedquickshell, which is built against the current Qt (#8438). Quickshell depends on Qt’s private ABI, which is why every Qt point release needs a matching quickshell build. Check it by hand:quickshell --versionIf that prints
symbol lookup error, update so Qt and quickshell come from the same sync, or roll back to the cached package that matches your installed Qt, as people in #7596 did. Since 4.0.1 the package isquickshell; before that it wasquickshell-git:ls -t /var/cache/pacman/pkg/quickshell* sudo pacman -U /var/cache/pacman/pkg/quickshell<version-that-matches-your-qt>.pkg.tar.zst omarchy restart shellRun that from a TTY if the shell is down, because the polkit agent lives inside the shell. Moving back to the stable channel also cleared it for several people in that thread, and the maintainer later confirmed the repos were fixed. See releases and channels.
-
If you cloned or replaced the bar, reset it.
omarchy bar reset # back to the built-in omarchy.bar omarchy plugin list # see which plugins are enabledOn 4.0.0 through 4.0.2,
omarchy plugin clone omarchy.barproduced a bar that never rendered, and the fallback to the built-in bar was itself broken, so you got nothing at all (#7418, #10792). Both halves changed in 4.0.3: the built-in bar’s injected properties are no longerrequired, and the loader’s error handler no longer references an undefinederrorString. If you are still on 4.0.2 or earlier, update first. -
If a third-party plugin is the suspect, disable it and restart:
omarchy plugin disable <plugin.id> omarchy restart shell -
Last resort: reset the shell config.
omarchy refresh shellThat restores
~/.config/omarchy/shell.jsonto the shipped defaults, keeps a timestamped.bakcopy of yours, resets the bar layout and restarts the shell.
Verify it worked
omarchy-shell shell ping
hyprctl layers -j | jq '[.[].levels[][].namespace]'
hyprctl monitors -j | jq '.[].reserved'
journalctl -t omarchy-shell -b --no-pager | tail -20
ping should answer, the layer list should contain omarchy-bar, and each monitor should reserve space for the bar rather than reporting zeros on every edge. The last command should show no new relaunch lines after your fix.
Why it happens
Quickshell is one long-lived QML process. omarchy-launch-shell supervises it, because Qt can leave through _exit() on a fatal Wayland error without raising a signal, so there is no core dump and nothing to relaunch it otherwise. The supervisor allows five relaunches in sixty seconds before giving up.
The crashes reported most often on 4.0.x fall into a few families:
- Audio graph churn. The audio panel’s refresh timer rebuilds a Repeater from a list that still contains PipeWire node objects, and Qt segfaults when one of them has already been destroyed. Unplugging USB audio, a Bluetooth reconnect,
omarchy-restart-audioand plain suspend all reach it (#6952). The project’s omarchybot collaborator account reproduced it ten times out of ten in a VM and confirmed the Qt 6.11.2 point release does not fix it. The proposed fix, PR #7783, was still open on 2026-09-16, and the 4.0.4 audio panel still carries the old code. - Output changes. On wake from an idle lock, or during a dock or HDMI reconfiguration, Hyprland reports the removal of a monitor the shell never tracked, the Wayland connection fails, and the shell exits with status 255 and relaunches (#7380). Users have reported this on NVIDIA, on Intel-only laptops, and on displays that drop their connector in standby.
- The supervisor giving up quietly. If the compositor is too busy to answer
hyprctlduring a display bring-up, the liveness check false-negatives and the supervisor exits without logging anything, leaving a running session with no bar and no explanation (#10930). - Plugin reloads during a lock. Editing or syncing a file under
~/.config/omarchy/plugins/while the session is locked can abort the shell with a fatal lock-surface error, sometimes long after the edit (#7106). - Bar plugin load failures, covered in step 5 above.
If that did not work
Avoid the audio panel crash while it is unfixed: close the panel before you unplug a USB interface, switch a Bluetooth profile or restart audio, because the refresh path returns immediately when the panel is closed. One reporter in #6952 also found that keeping Bluetooth headphones on an SBC profile rather than AAC made the crash stop.
If the shell crashes in a loop from boot, roll back to the snapshot before your last update and try again on a later release. See rollback with snapper and Limine and before you update.
Collect omarchy-debug output and the journal excerpt before filing anything. Many of the open reports above are already detailed; adding your hardware, channel, quickshell --version and the exact log lines to the matching issue is more useful than a new one.
Related
Upstream threads about this error
717 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.
| Issue | State | Comments | Opened |
|---|---|---|---|
| #6952 Quickshell SIGSEGV in QQuickRepeater when PipeWire removes USB audio nodes · fixed by #7783 | closed | 41 | 2026-08-15 |
| #6475 [Quattro] D-Bus idle inhibits are silently dropped since hypridle was replaced — screensaver fires during video playback (reproduced with Zen browser) | open | 10 | 2026-08-01 |
| #7106 Saving a file under ~/.config/omarchy/plugins/ while locked strands the session, and omarchy-restart-shell refuses to help | closed | 24 | 2026-08-16 |
| #7220 Screensaver/idle triggers during Firefox video playback — portal Inhibit falls back to unowned org.freedesktop.ScreenSaver | closed | 3 | 2026-08-17 |
| #7284 Feature request: add an i18n/localization system for Omarchy | open | 9 | 2026-08-17 |
| #7380 omarchy-shell crashes and relaunches on every wake from idle lock (FALLBACK monitor removal, fatal Wayland error) | closed | 19 | 2026-08-18 |
| #6888 Stranded-lock recovery never completes: requestSessionLock() early-returns on sessionLock.secure, so the session stays on "lockscreen app died" forever · fixed by #1 | open | 17 | 2026-08-14 |
| #7229 Fingerprint reader fails after suspend: fprintd reports "Cannot run while suspended" · fixed by #7158 | closed | 17 | 2026-08-17 |
| #6628 Lock shell dies during normal idle->lock; session permanently locked, reboot required · fixed by #6630 | open | 17 | 2026-08-08 |
| #6956 Bluetooth widget disappears from shell when turned off | closed | 14 | 2026-08-15 |
Accepted answers upstream
- Add facial login authentication support for Omarchy · answered by felipecsl
- Quattro lock screen: support FIDO2/YubiKey unlock · answered by wmauz677
- Quattro bar: named bar profiles assigned per screen (`bars` + `screens`) · answered by elMestre
- Add UsbGuard support · answered by dimitrieh
Questions people ask
- Is it safe to kill quickshell while the screen is locked?
- No. Killing the shell while the lock is held strands the session behind Hyprland's failsafe screen, which has no password box. omarchy-restart-shell refuses on purpose when the lock reports itself secure, and recovers the session only when the locker is already dead.
- Does restarting the shell lose anything?
- Open panels and on-screen notification popups are redrawn, and clipboard history and reminders live outside the process, so they survive. A restart does not touch your windows: Hyprland keeps running the whole time.
- Where are the crash logs?
- Quickshell writes crash reports under ~/.cache/quickshell/crashes/, and Omarchy pipes the shell's own output into the journal under the omarchy-shell tag, so journalctl -t omarchy-shell survives a reboot.
Sources and credit
Fixes on this page were worked out by robouk (Traced the dead shell on the edge channel to a quickshell build against a newer Qt than the one installed), mouadse (Confirmed the downgrade to the cached quickshell package restores the shell on rc), aml360 (Found that the audio panel crash is far more frequent on Bluetooth AAC profiles than on SBC), matti-lamppu (Showed that the shell supervisor can give up silently during a dock hotplug, leaving no bar and no journal line). Text here is our own paraphrase; follow the links for the original threads.
- issueIssue #7596: Quickshell unable to restart after latest update on Edge branch · agworkgit · 2026-08-20
- issueIssue #8438: Omarchy 4.0.1 migration installs a Qt 6.11.2-built quickshell that cannot start on the Qt 6.11.1 pin · greencubator1 · 2026-08-26
- issueIssue #6952: Quickshell SIGSEGV in QQuickRepeater when PipeWire removes USB audio nodes · sanjyay · 2026-08-15
- prPR #7783: Keep PwNode objects out of the audio panel's Repeater models · omarchybot · 2026-08-22
- issueIssue #7380: omarchy-shell crashes and relaunches on every wake from idle lock (FALLBACK monitor removal, fatal Wayland error) · mcjansen · 2026-08-18
- issueIssue #10930: omarchy-launch-shell exits silently when compositor_alive() false-negatives during output reconfiguration, leaving no bar · matti-lamppu · 2026-09-09
- issueIssue #7418: Cloning the bar plugin blanks the bar (broken Loader.Error fallback in shell.qml) · kesavsabari · 2026-08-18
- issueIssue #10792: Cloning the built-in bar leaves no bar: Loader.Error handler throws ReferenceError, skipping the default-bar fallback · james-engelbrecht · 2026-09-08
- issueIssue #7106: Saving a file under ~/.config/omarchy/plugins/ while locked strands the session, and omarchy-restart-shell refuses to help · omarchybot · 2026-08-16
- manualOmarchy manual: The Top Bar · 2026-08-14