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.
No built-in captive portal detection — you have to know the neverssl.com trick to get online
Reported by mmsami · filed Sep 1, 2026 · open at source
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?
- AreaOutside the audited area· Decided by agents · verified
- 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?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
The problem
Omarchy has no automatic captive-portal detection or login-page popup. On GNOME, Windows, and macOS, connecting to a hotel/airport/train/cafe/corporate-guest network that requires a browser login automatically pops that login page open for you. On Omarchy, nothing happens — you just silently have no internet until you know to manually open a browser and navigate somewhere to trigger the portal's redirect.
This isn't an edge case. It's one of the most common situations a general, non-technical user hits day to day (hotel wifi, train wifi, coffee shop wifi, an office guest network), and right now there's no way through it without already knowing IT-support-level tricks.
Evidence this is a recurring pain point, not a one-off
- #1841 collected reports from many users over months hitting "no internet on captive portal" (that thread's root cause turned out to be the old systemd-networkd/iwd DNS regression and got closed when Quattro moved to NetworkManager — but the underlying UX gap, no auto-popup, is untouched by that fix and still present on the NetworkManager-based stack).
- #3445 ("Cannot log into to my university's open wifi") got resolved only because another user happened to know the manual workaround: open a browser and go to
neverssl.comto force the portal to intercept and redirect you. That's not something a general user should have to be told by a stranger in a GitHub issue.
Why this matters for Omarchy specifically
Omarchy positions itself as a real daily-driver replacement for mainstream desktop OSes, not just a power-user tinkering project. Captive portal auto-detection is table-stakes networking UX on every OS it's competing with. Without it, anyone who isn't comfortable manually diagnosing a "connected but no internet" state gets stuck the first time they use hotel/airport/cafe wifi — which is a bad first impression for exactly the general users Omarchy is trying to win over.
What's needed
NetworkManager already does connectivity checking (nmcli networking connectivity reports full/limited/portal/none). What's missing is a small piece that:
1. watches for NM reporting portal (or limited, since some portals never resolve to portal — see below) connectivity state,
2. opens the default browser to a plain-HTTP URL so the portal's redirect actually fires (note: NetworkManager's own default connectivity-check target, and Apple's captive.apple.com, are sometimes specifically pre-auth-allowlisted by portal vendors and won't trigger a redirect or reflect real state — a generic, non-heuristic-target URL like neverssl.com is more reliable here),
3. optionally disables IPv6 on the connection first, since some portals (e.g. Deutsche Bahn's WIFIonICE) only intercept IPv4 and blackhole IPv6 instead of redirecting it, hanging the browser.
I built exactly this as a personal nmcli monitor-driven systemd user service to work around the gap on my own machine, and I'm happy to share it as a reference implementation if it's useful for building this into Omarchy properly (e.g. as part of the network panel/Setup app) rather than something every user has to reinvent.
View raw text
## The problem
Omarchy has no automatic captive-portal detection or login-page popup. On GNOME, Windows, and macOS, connecting to a hotel/airport/train/cafe/corporate-guest network that requires a browser login automatically pops that login page open for you. On Omarchy, nothing happens — you just silently have no internet until you know to manually open a browser and navigate somewhere to trigger the portal's redirect.
This isn't an edge case. It's one of the most common situations a general, non-technical user hits day to day (hotel wifi, train wifi, coffee shop wifi, an office guest network), and right now there's no way through it without already knowing IT-support-level tricks.
## Evidence this is a recurring pain point, not a one-off
- #1841 collected reports from many users over months hitting "no internet on captive portal" (that thread's root cause turned out to be the old systemd-networkd/iwd DNS regression and got closed when Quattro moved to NetworkManager — but the underlying UX gap, no auto-popup, is untouched by that fix and still present on the NetworkManager-based stack).
- #3445 ("Cannot log into to my university's open wifi") got resolved only because another user happened to know the manual workaround: open a browser and go to `neverssl.com` to force the portal to intercept and redirect you. That's not something a general user should have to be told by a stranger in a GitHub issue.
## Why this matters for Omarchy specifically
Omarchy positions itself as a real daily-driver replacement for mainstream desktop OSes, not just a power-user tinkering project. Captive portal auto-detection is table-stakes networking UX on every OS it's competing with. Without it, anyone who isn't comfortable manually diagnosing a "connected but no internet" state gets stuck the first time they use hotel/airport/cafe wifi — which is a bad first impression for exactly the general users Omarchy is trying to win over.
## What's needed
NetworkManager already does connectivity checking (`nmcli networking connectivity` reports `full`/`limited`/`portal`/`none`). What's missing is a small piece that:
1. watches for NM reporting `portal` (or `limited`, since some portals never resolve to `portal` — see below) connectivity state,
2. opens the default browser to a plain-HTTP URL so the portal's redirect actually fires (note: NetworkManager's own default connectivity-check target, and Apple's `captive.apple.com`, are sometimes specifically pre-auth-allowlisted by portal vendors and won't trigger a redirect or reflect real state — a generic, non-heuristic-target URL like `neverssl.com` is more reliable here),
3. optionally disables IPv6 on the connection first, since some portals (e.g. Deutsche Bahn's WIFIonICE) only intercept IPv4 and blackhole IPv6 instead of redirecting it, hanging the browser.
I built exactly this as a personal `nmcli monitor`-driven systemd user service to work around the gap on my own machine, and I'm happy to share it as a reference implementation if it's useful for building this into Omarchy properly (e.g. as part of the network panel/Setup app) rather than something every user has to reinvent.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
- Related PRpr/13200· confirmed
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.
- Out of scopeDecided by agents · verified · 2026-10-09 10:27 UTC