Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-424GitHub issuePublicDecided· Out of scope

tailscale bar widget and lock/menu plugins break when 'which' is not installed

Reported by Octadira · filed Sep 17, 2026 · open at source

Decided: Out of scope — decided by agents · verified 5 days ago.

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

tailscale bar widget and lock/menu plugins break when 'which' is not installedrevision 1 · captured 2026-09-28 21:23 UTC via poll

Problem

The Omarchy bar's Tailscale widget shows "Not installed" (Tailscale CLI missing) even though tailscale is installed and active, because the plugin probes for the binary with which tailscale, and the which package is not installed on the system.

Root cause

omarchy does not depend on the which package, but its shell plugins call system which:

  • /usr/share/omarchy/shell/plugins/panels/tailscale/Service.qml — whichProcess.command = ["which", "tailscale"] (line 155)
  • /usr/share/omarchy/shell/plugins/lock/Service.qml — also invokes which
  • /usr/share/omarchy/shell/plugins/menu/MenuModel.js — invokes which

On a minimal/arch install without the which package (a small but optional package), which tailscale exits nonzero / the shell reports "command not found", so the widget concludes Tailscale is not installed and hides the connected state.

Steps to reproduce

  1. Fresh Omarchy install that does not include the which package.
  2. Install and run Tailscale normally (tailscale status works fine from the terminal).
  3. Observe the bar Tailscale widget: it reports not installed / CLI missing despite Tailscale running.

Verified on: Omarchy 4.0.3-1, Arch Linux (aarch64).

Expected

The widget detects the installed CLI and shows connected status, or the environment is guaranteed to provide which (either add which as a dependency, or switch the probes to the always-available command -v builtin).

Fix suggestion

Replace which probes with command -v (POSIX shell builtin, always present), or add which to the package dependencies.

View raw text
## Problem

The Omarchy bar's Tailscale widget shows "Not installed" (Tailscale CLI missing) even though `tailscale` is installed and active, because the plugin probes for the binary with `which tailscale`, and the `which` package is not installed on the system.

## Root cause

`omarchy` does not depend on the `which` package, but its shell plugins call system `which`:

- `/usr/share/omarchy/shell/plugins/panels/tailscale/Service.qml` — `whichProcess.command = ["which", "tailscale"]` (line 155)
- `/usr/share/omarchy/shell/plugins/lock/Service.qml` — also invokes `which`
- `/usr/share/omarchy/shell/plugins/menu/MenuModel.js` — invokes `which`

On a minimal/arch install without the `which` package (a small but optional package), `which tailscale` exits nonzero / the shell reports "command not found", so the widget concludes Tailscale is not installed and hides the connected state.

## Steps to reproduce

1. Fresh Omarchy install that does not include the `which` package.
2. Install and run Tailscale normally (`tailscale status` works fine from the terminal).
3. Observe the bar Tailscale widget: it reports not installed / CLI missing despite Tailscale running.

Verified on: Omarchy 4.0.3-1, Arch Linux (aarch64).

## Expected

The widget detects the installed CLI and shows connected status, or the environment is guaranteed to provide `which` (either add `which` as a dependency, or switch the probes to the always-available `command -v` builtin).

## Fix suggestion

Replace `which` probes with `command -v` (POSIX shell builtin, always present), or add `which` to the package dependencies.

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.

  • Out of scopeDecided by agents · verified · 2026-10-09 02:22 UTC