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.
Hermes Desktop launcher crashes: "too many values to unpack (expected 4)" — _desktop_launch_options() now returns >4 values
Reported by momentumwave · filed Sep 28, 2026Closed upstream on 2026-09-29 by the merge of PR omacom/omarchy-pkgs#718 (closed by spencerbull). 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
Summary
Omarchy's /usr/sbin/hermes-desktop wrapper script crashes with ValueError: too many values to unpack (expected 4) when launching the desktop app. No window appears, no error dialog — silent failure from the launcher.
Reproduction
- Install Omarchy 4.0.0.alpha (updated today, Sep 27 2026)
- Install Hermes via Omarchy's "Install > AI" menu
- Click the "Hermes Desktop" entry in the app drawer, or run
hermes-desktopin a terminal - The desktop app does not start. Terminal output:
$ hermes-desktop
Traceback (most recent call last):
File "<stdin>", line 18, in <module>
ValueError: too many values to unpack (expected 4)Root cause
In /usr/sbin/hermes-desktop (Omarchy-shipped script), the embedded Python heredoc contains on line 55:
flags, gpu, store, ozone = _desktop_launch_options()Upstream Hermes changed _desktop_launch_options() (in hermes_cli.main_desktop) to return more than 4 values, but the Omarchy wrapper still unpacks exactly 4.
The wrapped Python is fed the heredoc on stdin, so this is the embedded payload that the wrapper ships — not something the user's Hermes install changes between versions.
Environment
- Omarchy: 4.0.0.alpha (
/usr/share/omarchy/version) - Hermes:
cd3f453f3eaonmain(fmt(js): npm run fix on merge (#125819)) - Python: 3.14.7
- Binary present:
/opt/hermes-desktop/Hermes✓ and~/.hermes/hermes-agent/apps/desktop/release/linux-unpacked/Hermes✓ - Wrapper script:
/usr/sbin/hermes-desktop
Suggested fix
Update the embedded Python in hermes-desktop to absorb the extra return values, e.g.:
flags, gpu, store, ozone, *_ = _desktop_launch_options()The right place to file this from Omarchy's side is the script under /usr/sbin/hermes-desktop (or wherever the post-install copy lives in the Omarchy tree). Hermes-side: _desktop_launch_options() should ideally return a namedtuple/dataclass so external consumers don't break on signature changes.
Cross-references expected: will also file an issue against NousResearch/hermes-agent asking that _desktop_launch_options() become backward-compatible, since Omarchy's launcher is one of several consumers that hard-code the 4-tuple unpack.
View raw text
## Summary Omarchy's `/usr/sbin/hermes-desktop` wrapper script crashes with `ValueError: too many values to unpack (expected 4)` when launching the desktop app. No window appears, no error dialog — silent failure from the launcher. ## Reproduction 1. Install Omarchy 4.0.0.alpha (updated today, Sep 27 2026) 2. Install Hermes via Omarchy's "Install > AI" menu 3. Click the "Hermes Desktop" entry in the app drawer, or run `hermes-desktop` in a terminal 4. The desktop app does not start. Terminal output: ``` $ hermes-desktop Traceback (most recent call last): File "<stdin>", line 18, in <module> ValueError: too many values to unpack (expected 4) ``` ## Root cause In `/usr/sbin/hermes-desktop` (Omarchy-shipped script), the embedded Python heredoc contains on line 55: ```python flags, gpu, store, ozone = _desktop_launch_options() ``` Upstream Hermes changed `_desktop_launch_options()` (in `hermes_cli.main_desktop`) to return more than 4 values, but the Omarchy wrapper still unpacks exactly 4. The wrapped Python is fed the heredoc on stdin, so this is the embedded payload that the wrapper ships — not something the user's Hermes install changes between versions. ## Environment - Omarchy: 4.0.0.alpha (`/usr/share/omarchy/version`) - Hermes: `cd3f453f3ea` on `main` (`fmt(js): npm run fix on merge (#125819)`) - Python: 3.14.7 - Binary present: `/opt/hermes-desktop/Hermes` ✓ and `~/.hermes/hermes-agent/apps/desktop/release/linux-unpacked/Hermes` ✓ - Wrapper script: `/usr/sbin/hermes-desktop` ## Suggested fix Update the embedded Python in `hermes-desktop` to absorb the extra return values, e.g.: ```python flags, gpu, store, ozone, *_ = _desktop_launch_options() ``` The right place to file this from Omarchy's side is the script under `/usr/sbin/hermes-desktop` (or wherever the post-install copy lives in the Omarchy tree). Hermes-side: `_desktop_launch_options()` should ideally return a namedtuple/dataclass so external consumers don't break on signature changes. Cross-references expected: will also file an issue against NousResearch/hermes-agent asking that `_desktop_launch_options()` become backward-compatible, since Omarchy's launcher is one of several consumers that hard-code the 4-tuple unpack.
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.