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-1011GitHub issuePublicReceived

Fold third-party plugin updates into omarchy update and add an Update Plugins menu entry

Reported by dmltallen · filed Sep 3, 2026 · open at source

Partly in the audited area (menu) — decided by agents · verified. Not validated yet.

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?
AreaPartly in the audited areamenu· 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?
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: partly in the audited area (menu) — decided by agents · verified; matches no known issue — decided by agents · verified; not a duplicate of another report — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

Fold third-party plugin updates into omarchy update and add an Update Plugins menu entryrevision 1 · captured 2026-09-28 21:24 UTC via poll

Problem

Plugin updates work inconsistently depending on plugin origin:

  • First-party plugins (omarchy.*) ship in /usr/share/omarchy/shell/plugins/ and update automatically with omarchy update.
  • Third-party plugins are git clones in ~/.config/omarchy/plugins/. omarchy update never touches them, there is no timer and no menu entry — the only path is running omarchy plugin update manually in a terminal. Easy to forget, so third-party plugins (which run unsandboxed inside omarchy-shell) silently go stale.

Proposal

  1. Make `omarchy update` include third-party plugin updates. Run omarchy-plugin-update as a step (e.g. after omarchy-hook post-update, before omarchy-update-restart). Interactive mode can keep the existing per-plugin diff + confirm flow; in -y/unattended mode (OMARCHY_UPDATE_UNATTENDED=1) pass --yes or report-and-skip, consistent with the "steps that would need an answer report and move on" convention in omarchy-update. omarchy-plugin-update is already automation-ready: --yes flag, ff-only merge, validation with rollback, and rescanPlugins after updates.
  2. Add an "Update Plugins" entry to the super+space menu — e.g. setup.plugin.update alongside Enable/Disable/Add/Clone/Remove (omarchy-menu.jsonc), launching omarchy plugin update in a floating terminal. omarchy-menu-plugin currently only implements enable|disable|clone|remove.

Workaround in use today

A ~/.config/omarchy/hooks/post-update.d/ hook running omarchy plugin update --yes, plus a user menu extension at ~/.config/omarchy/extensions/omarchy-menu.jsonc — both user-owned, no packaged files touched.

View raw text
**Problem**

Plugin updates work inconsistently depending on plugin origin:

- First-party plugins (`omarchy.*`) ship in `/usr/share/omarchy/shell/plugins/` and update automatically with `omarchy update`.
- Third-party plugins are git clones in `~/.config/omarchy/plugins/`. `omarchy update` never touches them, there is no timer and no menu entry — the only path is running `omarchy plugin update` manually in a terminal. Easy to forget, so third-party plugins (which run unsandboxed inside omarchy-shell) silently go stale.

**Proposal**

1. **Make `omarchy update` include third-party plugin updates.** Run `omarchy-plugin-update` as a step (e.g. after `omarchy-hook post-update`, before `omarchy-update-restart`). Interactive mode can keep the existing per-plugin diff + confirm flow; in `-y`/unattended mode (`OMARCHY_UPDATE_UNATTENDED=1`) pass `--yes` or report-and-skip, consistent with the "steps that would need an answer report and move on" convention in `omarchy-update`. `omarchy-plugin-update` is already automation-ready: `--yes` flag, ff-only merge, validation with rollback, and `rescanPlugins` after updates.
2. **Add an "Update Plugins" entry to the super+space menu** — e.g. `setup.plugin.update` alongside Enable/Disable/Add/Clone/Remove (`omarchy-menu.jsonc`), launching `omarchy plugin update` in a floating terminal. `omarchy-menu-plugin` currently only implements `enable|disable|clone|remove`.

**Workaround in use today**

A `~/.config/omarchy/hooks/post-update.d/` hook running `omarchy plugin update --yes`, plus a user menu extension at `~/.config/omarchy/extensions/omarchy-menu.jsonc` — both user-owned, no packaged files touched.

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/6777· confirmed
  • Related PRpr/10248· 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: partly in the audited area (menu)
  • Decided by agents · verified: matches no known issue
  • Decided by agents · verified: not a duplicate of another report

The outcome (valid, duplicate, not a bug, …) is not decided yet.