Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
omarchy-update restart leaves no shell: new instance hits "already running" while old still exiting
Reported by TomFaulkner · filed Oct 6, 2026Closed upstream on 2026-10-06 by TomFaulkner; the closing comment says it was fixed by PR #11015. GitHub close reason: completed.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
What happened
After omarchy-update today (Oct 06 ~14:29-14:32 CDT), the shell was gone: no quickshell / omarchy-shell process, empty bar, and /tmp/omarchy-update.log ends with:
Restarting shell
All plugins have been reloaded
Omarchy shell did not become ready after restart.Journal shows a restart race:
Oct 06 14:32:38 omarchy-shell[1140323]: INFO: Exiting due to IPC request.
Oct 06 14:32:39 omarchy-shell[1928489]: An instance of this configuration is already running.
Oct 06 14:32:40 omarchy-shell[1140323]: WARN scene: ... DownloadRow.qml ... (old instance still logging)then silence. pgrep -af quickshell empty. Manual omarchy-restart-shell recovered it (ping ok).
What was expected
omarchy-restart-shell kills the old shell, dispatches a replacement via Hyprland, and waits for shell ping. Update should never leave the session without a shell or its launcher supervisor.
Steps to reproduce
- Have shell running (Hyprland session).
- Run
omarchy-update(or justomarchy-restart-shell) — intermittently the new instance starts before the old releases its instance lock. - Observe
An instance of this configuration is already running+did not become ready after restart, then no shell process remains.
Not reliably reproducible on demand; hit once today after a routine update.
System details
omarchy version: 4.0.4-1, channel stablequickshell 0.3.1-1,qt6-base 6.11.2-3,qt6-declarative 6.11.2-1hyprland 0.56.2-2(Hyprland 0.56.2), kernel7.2.5-3-omarchy- Note:
omarchy debug --no-sudo --printdoes not exist on this install (Unknown Omarchy command), so manual versions substituted.
Diagnostics
- Update upgraded: aether 4.30.0-1 -> 4.31.1-1, brave-origin-bin, flea, mise-bin, new layer-shell-qt 6.7.4-2, omakade, zen-browser-bin, omarchy-flux 0.10.0 -> 0.14.0, hyprmoncfg, naps2-bin (pacman.log Oct 06 14:30).
- No coredump / SIGSEGV today — clean IPC exit, so not the known quickshell worker crashes (e.g. Oct 03 PIDs 519140/524575, which self-healed via in-process restart).
- Memory fine (58G total, 36G free), no OOM.
- Root cause hypothesis:
omarchy-restart-shell:66comment claimswhile timeout 5 quickshell kill ...returns only once fully exited so the launch can't race, but evidence contradicts it — new instance's duplicate guard fired while old PID still logging. Old launcher then exits 0 on clean status (omarchy-launch-shell:74), new instance is already dead, nobody retries; the 20x0.1s ping loop is too short to cover a retry.
Happy to test a retry/wait-for-release fix.
Filed by muse-spark via opencode.
View raw text
## What happened After `omarchy-update` today (Oct 06 ~14:29-14:32 CDT), the shell was gone: no `quickshell` / `omarchy-shell` process, empty bar, and `/tmp/omarchy-update.log` ends with: ``` Restarting shell All plugins have been reloaded Omarchy shell did not become ready after restart. ``` Journal shows a restart race: ``` Oct 06 14:32:38 omarchy-shell[1140323]: INFO: Exiting due to IPC request. Oct 06 14:32:39 omarchy-shell[1928489]: An instance of this configuration is already running. Oct 06 14:32:40 omarchy-shell[1140323]: WARN scene: ... DownloadRow.qml ... (old instance still logging) ``` then silence. `pgrep -af quickshell` empty. Manual `omarchy-restart-shell` recovered it (ping ok). ## What was expected `omarchy-restart-shell` kills the old shell, dispatches a replacement via Hyprland, and waits for `shell ping`. Update should never leave the session without a shell or its launcher supervisor. ## Steps to reproduce 1. Have shell running (Hyprland session). 2. Run `omarchy-update` (or just `omarchy-restart-shell`) — intermittently the new instance starts before the old releases its instance lock. 3. Observe `An instance of this configuration is already running` + `did not become ready after restart`, then no shell process remains. Not reliably reproducible on demand; hit once today after a routine update. ## System details - `omarchy version`: 4.0.4-1, channel stable - `quickshell 0.3.1-1`, `qt6-base 6.11.2-3`, `qt6-declarative 6.11.2-1` - `hyprland 0.56.2-2` (Hyprland 0.56.2), kernel `7.2.5-3-omarchy` - Note: `omarchy debug --no-sudo --print` does not exist on this install (`Unknown Omarchy command`), so manual versions substituted. ## Diagnostics - Update upgraded: aether 4.30.0-1 -> 4.31.1-1, brave-origin-bin, flea, mise-bin, new layer-shell-qt 6.7.4-2, omakade, zen-browser-bin, omarchy-flux 0.10.0 -> 0.14.0, hyprmoncfg, naps2-bin (pacman.log Oct 06 14:30). - No coredump / SIGSEGV today — clean IPC exit, so not the known quickshell worker crashes (e.g. Oct 03 PIDs 519140/524575, which self-healed via in-process restart). - Memory fine (58G total, 36G free), no OOM. - Root cause hypothesis: `omarchy-restart-shell:66` comment claims `while timeout 5 quickshell kill ...` returns only once fully exited so the launch can't race, but evidence contradicts it — new instance's duplicate guard fired while old PID still logging. Old launcher then exits 0 on clean status (`omarchy-launch-shell:74`), new instance is already dead, nobody retries; the 20x0.1s ping loop is too short to cover a retry. Happy to test a retry/wait-for-release fix. > Filed by muse-spark via opencode.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.