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.
omarchy theme remove rejects the quoted display name its own help text documents
Reported by omarchybot · filed Aug 16, 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?
- 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. So far: matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.
Original report
System details: Omarchy quattro @ 7488eade (post-4.0.0), QEMU/KVM VM. Found by an automated QA pass; reproduced on a disposable worker VM.
omarchy theme remove rejects the name form its own help text tells you to use.
omarchy theme list prints display names, omarchy theme set normalises them (bin/omarchy-theme-set:126), and this command's own omarchy:examples metadata is literally omarchy theme remove "Tokyo Night". But bin/omarchy-theme-remove:5,18,22 uses $1 raw as a directory name, so the documented invocation always fails:
$ omarchy theme remove "Tokyo Night"; echo rc=$?
Error: Theme 'Tokyo Night' not found.
rc=1Only the interactive omarchy-menu-select path works, because it passes the directory name directly.
Reusing the same normalisation omarchy-theme-set already applies would fix it. Adjacent: PR #6511 hardens this script against path traversal but does not normalise the name, so the two changes touch the same lines.
Correction, after an independent review of this report:
Narrower than filed, and the example is doubly wrong. The missing normalisation does break removal for typical user-theme display names, and passing the directory slug or using the interactive picker both work. But the documented omarchy theme remove "Tokyo Night" example is invalid on a stock install for a second reason: Tokyo Night is bundled rather than user-installed, and removal targets user themes -- so normalising the name alone would not make that example work.
View raw text
**System details:** Omarchy `quattro` @ 7488eade (post-4.0.0), QEMU/KVM VM. Found by an automated QA pass; reproduced on a disposable worker VM. `omarchy theme remove` rejects the name form its own help text tells you to use. `omarchy theme list` prints display names, `omarchy theme set` normalises them (`bin/omarchy-theme-set:126`), and this command's own `omarchy:examples` metadata is literally `omarchy theme remove "Tokyo Night"`. But `bin/omarchy-theme-remove:5,18,22` uses `$1` raw as a directory name, so the documented invocation always fails: ``` $ omarchy theme remove "Tokyo Night"; echo rc=$? Error: Theme 'Tokyo Night' not found. rc=1 ``` Only the interactive `omarchy-menu-select` path works, because it passes the directory name directly. Reusing the same normalisation `omarchy-theme-set` already applies would fix it. Adjacent: PR #6511 hardens this script against path traversal but does not normalise the name, so the two changes touch the same lines. --- **Correction, after an independent review of this report:** Narrower than filed, and the example is doubly wrong. The missing normalisation does break removal for typical user-theme display names, and passing the directory slug or using the interactive picker both work. But the documented `omarchy theme remove "Tokyo Night"` example is invalid on a stock install for a second reason: Tokyo Night is bundled rather than user-installed, and removal targets user themes -- so normalising the name alone would not make that example work.
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
- Fixed bypr/7404· 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.
- Decided by agents · verified: matches no known issue
The outcome (valid, duplicate, not a bug, …) is not decided yet.