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.
~/.config/chromium-flags.conf is force-injected into every chromium launch, crashing headless/automation invocations (Playwright etc.) with SIGTRAP
Reported by dutchbase · filed Sep 10, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #8394 (R-1420). 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
System details
- Omarchy: 4.0.2-1
- Kernel: Linux 7.1.9-arch1-2
- Hyprland: 0.56.2
- chromium: 151.0.7922.173-1
What's wrong?
Omarchy's default ~/.config/chromium-flags.conf is read by Arch's /usr/bin/chromium
wrapper and unconditionally prepended to every invocation of chromium, including
ones launched programmatically for browser automation (e.g. Playwright), not just the
desktop app. The shipped defaults are:
--ozone-platform=wayland
--ozone-platform-hint=wayland
--password-store=gnome-libsecret
--enable-features=TouchpadOverscrollHistoryNavigation
--load-extension=/usr/share/omarchy/default/chromium/extensions/copy-url,.../yt-dlp,.../whatsapp-slim
When a tool launches chromium headlessly (`--headless --ozone-platform=headless
--no-startup-window --user-data-dir=/tmp/...`), these flags get merged in ahead of
it, producing a conflicting, duplicated --ozone-platform (wayland thenheadless) and forcing three desktop extensions to load into a windowless
automation profile. Chromium hits an internal startup assertion and crashes with
SIGTRAP (signal 5, SI_KERNEL) before creating any window.
Confirmed via coredumpctl: 7 crashes reproduced across two separate days, all with
byte-identical relative stack offsets (same code path every time), all headless
processes with the same conflicting flag set, e.g.:
Stack trace of thread 3072:
#0 chromium + 0x10c634f1
#1 chromium + 0x10c5a234
#2 chromium + 0x1d148ee
#3 chromium + 0x83e0557
#4 chromium + 0x83de156
#5 ChromeMain (chromium + 0x1d11859)
No OOM, no GPU-driver involvement, no user data lost (the profile is an ephemeral/tmp/playwright_chromiumdev_profile-* dir).
Steps to reproduce
- On a stock Omarchy install with the default
~/.config/chromium-flags.conf. - Launch chromium headlessly, e.g. via Playwright:
`chromium --headless --ozone-platform=headless --no-startup-window --no-sandbox
--user-data-dir=/tmp/testprofile --remote-debugging-pipe`
3. Observe the process crash immediately with SIGTRAP instead of starting headless.
Expected behavior
The wrapper's user-flags injection should not fight with flags the caller
explicitly passed (at minimum, not duplicate --ozone-platform), and/or Omarchy's
default chromium-flags.conf shouldn't force desktop-only behavior (Wayland ozone
backend, extension loading) onto headless/automation invocations.
Actual behavior
Chromium crashes on startup with SIGTRAP any time it's launched headlessly on this
machine, because Omarchy's default flags conflict with the caller's headless flags.
Related
#7642 is a similar env-var-forcing issue (OZONE_PLATFORM=wayland breaking some
Electron apps) but is a different mechanism (global env var vs. wrapper-injected
CLI flags) and a different symptom (missing window vs. SIGTRAP crash) — filing
separately.
Filed by Claude Sonnet 5 via Claude Code.
View raw text
## System details
- Omarchy: 4.0.2-1
- Kernel: Linux 7.1.9-arch1-2
- Hyprland: 0.56.2
- chromium: 151.0.7922.173-1
## What's wrong?
Omarchy's default `~/.config/chromium-flags.conf` is read by Arch's `/usr/bin/chromium`
wrapper and unconditionally prepended to *every* invocation of `chromium`, including
ones launched programmatically for browser automation (e.g. Playwright), not just the
desktop app. The shipped defaults are:
--ozone-platform=wayland
--ozone-platform-hint=wayland
--password-store=gnome-libsecret
--enable-features=TouchpadOverscrollHistoryNavigation
--load-extension=/usr/share/omarchy/default/chromium/extensions/copy-url,.../yt-dlp,.../whatsapp-slim
When a tool launches chromium headlessly (`--headless --ozone-platform=headless
--no-startup-window --user-data-dir=/tmp/...`), these flags get merged in ahead of
it, producing a conflicting, duplicated `--ozone-platform` (`wayland` then
`headless`) and forcing three desktop extensions to load into a windowless
automation profile. Chromium hits an internal startup assertion and crashes with
SIGTRAP (signal 5, SI_KERNEL) before creating any window.
Confirmed via `coredumpctl`: 7 crashes reproduced across two separate days, all with
byte-identical relative stack offsets (same code path every time), all headless
processes with the same conflicting flag set, e.g.:
Stack trace of thread 3072:
#0 chromium + 0x10c634f1
#1 chromium + 0x10c5a234
#2 chromium + 0x1d148ee
#3 chromium + 0x83e0557
#4 chromium + 0x83de156
#5 ChromeMain (chromium + 0x1d11859)
No OOM, no GPU-driver involvement, no user data lost (the profile is an ephemeral
`/tmp/playwright_chromiumdev_profile-*` dir).
## Steps to reproduce
1. On a stock Omarchy install with the default `~/.config/chromium-flags.conf`.
2. Launch chromium headlessly, e.g. via Playwright:
`chromium --headless --ozone-platform=headless --no-startup-window --no-sandbox
--user-data-dir=/tmp/testprofile --remote-debugging-pipe`
3. Observe the process crash immediately with SIGTRAP instead of starting headless.
## Expected behavior
The wrapper's user-flags injection should not fight with flags the caller
explicitly passed (at minimum, not duplicate `--ozone-platform`), and/or Omarchy's
default `chromium-flags.conf` shouldn't force desktop-only behavior (Wayland ozone
backend, extension loading) onto headless/automation invocations.
## Actual behavior
Chromium crashes on startup with SIGTRAP any time it's launched headlessly on this
machine, because Omarchy's default flags conflict with the caller's headless flags.
## Related
#7642 is a similar env-var-forcing issue (`OZONE_PLATFORM=wayland` breaking some
Electron apps) but is a different mechanism (global env var vs. wrapper-injected
CLI flags) and a different symptom (missing window vs. SIGTRAP crash) — filing
separately.
---
Filed by Claude Sonnet 5 via Claude Code.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.