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.
Cloned omarchy.menu shows empty Apps launcher (appLibrary null) on 4.0.3
Reported by profemzy · filed Sep 9, 2026Closed upstream on 2026-09-09 by its own reporter profemzy, as a duplicate of #10908 (R-4970). GitHub close reason: duplicate.
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 upgrading to Omarchy 4.0.3, the Apps launcher (SUPER + ALT + SPACE, i.e. omarchy-menu toggle apps) shows "Nothing here yet" instead of the installed applications.
The applications themselves are still installed and launchable; only the menu listing is empty.
What was expected
The Apps submenu lists all visible desktop entries, as it did before the upgrade.
Steps to reproduce
- Clone the stock menu:
omarchy plugin clone omarchy.menu(createsprofemzy.menuand switches the bar to it). - Press
SUPER + ALT + SPACE, or runomarchy-shell shell summon omarchy.menu '{"menu":"apps"}'. - The Apps submenu opens but is empty ("Nothing here yet").
Root cause (verified)
The cloned menu plugin's scoped shell has appLibrary: null, so mergeAppRows() in Menu.qml returns early and zero app rows are ever merged.
I confirmed this by adding a temporary appDebug() IPC method to the clone reporting DesktopEntries.applications.values.length, root.appLibrary null-ness, and sortedEntries("").length:
- Stock
omarchy.menu: apps listed correctly (screenshot proof). - Original clone
profemzy.menu(from August):total=69 lib-null sorted=-1. - Fresh clone created during diagnosis via the official
omarchy plugin clone omarchy.menu(itsMenu.qmlbyte-identical to stock):total=69 lib-null sorted=-1, and its Apps menu is also empty (screenshot proof).
So this is not stale clone files.
A brand-new clone fails identically, which points at the stock shell: first-party omarchy.menu bypasses the gate (pluginShellFor returns shell directly when manifest.__isFirstParty), while third-party clones go through createScopedPluginShell, where appLibrary is only provided when manifestHasKind(manifest, "menu") is true.
The clone's manifest does declare "kinds": ["menu", "bar-widget"] (confirmed via omarchy-shell shell listPlugins and the plugin's own root.manifest), yet the scoped shell object delivered to the panel carries appLibrary: null.
Restarting the shell does not fix it.
Workaround
Switch the bar back to the stock menu (omarchy.menu in ~/.config/omarchy/shell.json, remove it from disabledPlugins) and restart the shell.
The launcher works again.
Do not re-enable the clone until this is fixed.
System details
- Omarchy: 4.0.3-1 (channel: stable, last upgraded 2026-09-08).
- Quickshell: 0.3.1 (Arch Linux).
- CPU: 12th Gen Intel i7-1250U, GPU: Intel Alder Lake-UP4 GT2 (Iris Xe).
- Note:
omarchy debug --no-sudo --printdoes not exist on this version ("Unknown Omarchy command"), so no debug log is attached.
Captures
Screenshots saved locally (gh cannot upload media, attaching via web form): empty Apps menu with the clone, populated Apps menu with stock.
Paths: /tmp/apps-menu.png (original clone, empty), /tmp/apps-freshclone.png (fresh clone, empty), /tmp/apps-verify-final.png (stock menu, populated).
View raw text
## What happened
After upgrading to Omarchy 4.0.3, the Apps launcher (`SUPER + ALT + SPACE`, i.e. `omarchy-menu toggle apps`) shows "Nothing here yet" instead of the installed applications.
The applications themselves are still installed and launchable; only the menu listing is empty.
## What was expected
The Apps submenu lists all visible desktop entries, as it did before the upgrade.
## Steps to reproduce
1. Clone the stock menu: `omarchy plugin clone omarchy.menu` (creates `profemzy.menu` and switches the bar to it).
2. Press `SUPER + ALT + SPACE`, or run `omarchy-shell shell summon omarchy.menu '{"menu":"apps"}'`.
3. The Apps submenu opens but is empty ("Nothing here yet").
## Root cause (verified)
The cloned menu plugin's scoped shell has `appLibrary: null`, so `mergeAppRows()` in `Menu.qml` returns early and zero app rows are ever merged.
I confirmed this by adding a temporary `appDebug()` IPC method to the clone reporting `DesktopEntries.applications.values.length`, `root.appLibrary` null-ness, and `sortedEntries("").length`:
- Stock `omarchy.menu`: apps listed correctly (screenshot proof).
- Original clone `profemzy.menu` (from August): `total=69 lib-null sorted=-1`.
- Fresh clone created during diagnosis via the official `omarchy plugin clone omarchy.menu` (its `Menu.qml` byte-identical to stock): `total=69 lib-null sorted=-1`, and its Apps menu is also empty (screenshot proof).
So this is not stale clone files.
A brand-new clone fails identically, which points at the stock shell: first-party `omarchy.menu` bypasses the gate (`pluginShellFor` returns `shell` directly when `manifest.__isFirstParty`), while third-party clones go through `createScopedPluginShell`, where `appLibrary` is only provided when `manifestHasKind(manifest, "menu")` is true.
The clone's manifest does declare `"kinds": ["menu", "bar-widget"]` (confirmed via `omarchy-shell shell listPlugins` and the plugin's own `root.manifest`), yet the scoped shell object delivered to the panel carries `appLibrary: null`.
Restarting the shell does not fix it.
## Workaround
Switch the bar back to the stock menu (`omarchy.menu` in `~/.config/omarchy/shell.json`, remove it from `disabledPlugins`) and restart the shell.
The launcher works again.
Do not re-enable the clone until this is fixed.
## System details
- Omarchy: 4.0.3-1 (channel: stable, last upgraded 2026-09-08).
- Quickshell: 0.3.1 (Arch Linux).
- CPU: 12th Gen Intel i7-1250U, GPU: Intel Alder Lake-UP4 GT2 (Iris Xe).
- Note: `omarchy debug --no-sudo --print` does not exist on this version ("Unknown Omarchy command"), so no debug log is attached.
## Captures
Screenshots saved locally (`gh` cannot upload media, attaching via web form): empty Apps menu with the clone, populated Apps menu with stock.
Paths: `/tmp/apps-menu.png` (original clone, empty), `/tmp/apps-freshclone.png` (fresh clone, empty), `/tmp/apps-verify-final.png` (stock menu, populated).
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.