# 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.
> **Short answer:** 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.
- Applies to Omarchy: 4.0.0 and later
- Status: workaround
- Last verified: 2026-09-16
- Canonical: https://omarchylinux.org/fix/quickshell-crashes-or-bar-missing/
_Unofficial community page. Not affiliated with 37signals or the Omacom Foundation. Omarchy is a registered trademark of 37signals LLC._

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](/fix/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.

1. **Rule out the hide toggle.** `SUPER + SHIFT + SPACE` hides 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:

   ```bash
   rm -f ~/.local/state/omarchy/toggles/bar-off
   omarchy restart shell
   ```

2. **Restart the shell.**

   ```bash
   omarchy restart shell
   ```

   Same 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.

3. **Read the log before guessing.** Omarchy pipes the shell into the journal:

   ```bash
   journalctl -t omarchy-shell -b --no-pager | tail -50
   ls -t ~/.cache/quickshell/crashes/ | head
   ```

   Lines 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.

4. **If the shell will not start at all, check the package.** On the edge and rc channels in August 2026, a `quickshell-git` build 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 hold `qt6-*` back in `IgnorePkg`: the 4.0.1 migration swaps `quickshell-git` for the packaged `quickshell`, which is built against the current Qt ([#8438](https://github.com/omacom/omarchy/issues/8438)). Quickshell depends on Qt's private ABI, which is why every Qt point release needs a matching quickshell build. Check it by hand:

   ```bash
   quickshell --version
   ```

   If 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](https://github.com/omacom/omarchy/issues/7596) did. Since 4.0.1 the package is `quickshell`; before that it was `quickshell-git`:

   ```bash
   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 shell
   ```

   Run 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](/releases/channels/).

5. **If you cloned or replaced the bar, reset it.**

   ```bash
   omarchy bar reset      # back to the built-in omarchy.bar
   omarchy plugin list    # see which plugins are enabled
   ```

   On 4.0.0 through 4.0.2, `omarchy plugin clone omarchy.bar` produced a bar that never rendered, and the fallback to the built-in bar was itself broken, so you got nothing at all ([#7418](https://github.com/omacom/omarchy/issues/7418), [#10792](https://github.com/omacom/omarchy/issues/10792)). Both halves changed in 4.0.3: the built-in bar's injected properties are no longer `required`, and the loader's error handler no longer references an undefined `errorString`. If you are still on 4.0.2 or earlier, update first.

6. **If a third-party plugin is the suspect**, disable it and restart:

   ```bash
   omarchy plugin disable <plugin.id>
   omarchy restart shell
   ```

7. **Last resort: reset the shell config.**

   ```bash
   omarchy refresh shell
   ```

   That restores `~/.config/omarchy/shell.json` to the shipped defaults, keeps a timestamped `.bak` copy of yours, resets the bar layout and restarts the shell.

## Verify it worked

```bash
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-audio` and plain suspend all reach it ([#6952](https://github.com/omacom/omarchy/issues/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](https://github.com/omacom/omarchy/pull/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](https://github.com/omacom/omarchy/issues/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 `hyprctl` during 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](https://github.com/omacom/omarchy/issues/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](https://github.com/omacom/omarchy/issues/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](https://github.com/omacom/omarchy/issues/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](/upgrade/rollback-with-snapper-and-limine/) and [before you update](/upgrade/before-you-update-checklist/).

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

- [Where did Waybar go](/fix/where-did-waybar-go/)
- [Plugin fails to load](/fix/plugin-fails-to-load/)
- [Walker launcher missing after the update](/fix/walker-launcher-missing-after-update/)
- [Lock screen will not unlock](/fix/lock-screen-wont-unlock/)
- [Notifications not showing](/fix/notifications-not-showing/)
- [Omarchy manual: The Top Bar](https://omarchy.org/manual/the-top-bar/) and [Shell Plugins](https://omarchy.org/manual/shell-plugins/)

## Sources

- [Issue #7596: Quickshell unable to restart after latest update on Edge branch](https://github.com/omacom/omarchy/issues/7596)
- [Issue #8438: Omarchy 4.0.1 migration installs a Qt 6.11.2-built quickshell that cannot start on the Qt 6.11.1 pin](https://github.com/omacom/omarchy/issues/8438)
- [Issue #6952: Quickshell SIGSEGV in QQuickRepeater when PipeWire removes USB audio nodes](https://github.com/omacom/omarchy/issues/6952)
- [PR #7783: Keep PwNode objects out of the audio panel's Repeater models](https://github.com/omacom/omarchy/pull/7783)
- [Issue #7380: omarchy-shell crashes and relaunches on every wake from idle lock (FALLBACK monitor removal, fatal Wayland error)](https://github.com/omacom/omarchy/issues/7380)
- [Issue #10930: omarchy-launch-shell exits silently when compositor_alive() false-negatives during output reconfiguration, leaving no bar](https://github.com/omacom/omarchy/issues/10930)
- [Issue #7418: Cloning the bar plugin blanks the bar (broken Loader.Error fallback in shell.qml)](https://github.com/omacom/omarchy/issues/7418)
- [Issue #10792: Cloning the built-in bar leaves no bar: Loader.Error handler throws ReferenceError, skipping the default-bar fallback](https://github.com/omacom/omarchy/issues/10792)
- [Issue #7106: Saving a file under ~/.config/omarchy/plugins/ while locked strands the session, and omarchy-restart-shell refuses to help](https://github.com/omacom/omarchy/issues/7106)
- [Omarchy manual: The Top Bar](https://omarchy.org/manual/the-top-bar/)
