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

omarchy-install-chromium-ytdlp / omarchy-install-chromium-copy-url don't register native messaging hosts for Brave Origin

Reported by ProjektZeitsand · filed Sep 12, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #10978 (R-774). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked 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?
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

omarchy-install-chromium-ytdlp / omarchy-install-chromium-copy-url don't register native messaging hosts for Brave Originrevision 1 · captured 2026-10-04 12:10 UTC via poll

What happened

The Alt+Shift+D (download video) and Alt+Shift+L (copy URL) shortcuts installed by Omarchy's Chromium extensions silently do nothing in Brave Origin (brave-origin). Confirmed: works in Chromium; fails in Brave Origin. (Google Chrome, Edge, and Brave stable/beta/nightly weren't tested directly, but they have the native-messaging-host file present, so they're expected to work the same way Chromium does — only Brave Origin is confirmed missing it.)

Both extensions are loaded via --load-extension and communicate entirely through native messaging hosts:
- omarchy-default-chromium-extensions/yt-dlp/background.js → chrome.runtime.sendNativeMessage('com.omarchy.ytdlp', ...)
- omarchy-default-chromium-extensions/copy-url/background-4.js → chrome.runtime.sendNativeMessage('com.omarchy.copy_url', ...)

Both extensions swallow chrome.runtime.lastError, so when the native host manifest is missing, the call fails with no visible error — the shortcut appears to do nothing.

Root cause

/usr/share/omarchy/bin/omarchy-install-chromium-ytdlp and /usr/share/omarchy/bin/omarchy-install-chromium-copy-url each hardcode the same browser_dirs array of profile directories to write the native-messaging-host JSON into:

$HOME/.config/chromium
$HOME/.config/google-chrome
$HOME/.config/google-chrome-beta
$HOME/.config/google-chrome-unstable
$HOME/.config/BraveSoftware/Brave-Browser
$HOME/.config/BraveSoftware/Brave-Browser-Beta
$HOME/.config/BraveSoftware/Brave-Browser-Nightly
$HOME/.config/microsoft-edge
$HOME/.config/microsoft-edge-dev

$HOME/.config/BraveSoftware/Brave-Origin is missing from both lists, even though the extension-loading migration (migrations/1780517689.sh) already targets brave-origin (via brave-origin-flags.conf) for --load-extension. So the extension and its keyboard shortcut get registered in Brave Origin, but the native messaging host it depends on never does.

Expected

Either add $HOME/.config/BraveSoftware/Brave-Origin to both browser_dirs arrays, or (better) derive the list from the same set of flag-conf names the extension-loading migration already targets, so the two stay in sync.

Steps to reproduce

  1. Install/use Brave Origin on Omarchy.
  2. Confirm the yt-dlp and copy-url extensions are loaded (brave-origin://extensions) and their shortcuts are bound (brave-origin://extensions/shortcuts).
  3. Press Alt+Shift+D on a video page, or Alt+Shift+L on any page.
  4. Nothing happens — no download, no clipboard toast, no error.
  5. Compare ~/.config/BraveSoftware/Brave-Origin/NativeMessagingHosts/ (missing com.omarchy.ytdlp.json / com.omarchy.copy_url.json) against ~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts/ (has both).

System

  • Omarchy version: 4.0.3-1
  • This is a plain string omission in a bash array, not distro/environment-specific — reproducible on any Omarchy install with Brave Origin installed.
View raw text
**What happened**

The Alt+Shift+D (download video) and Alt+Shift+L (copy URL) shortcuts installed by Omarchy's Chromium extensions silently do nothing in Brave Origin (`brave-origin`). Confirmed: works in Chromium; fails in Brave Origin. (Google Chrome, Edge, and Brave stable/beta/nightly weren't tested directly, but they have the native-messaging-host file present, so they're expected to work the same way Chromium does — only Brave Origin is confirmed missing it.)

Both extensions are loaded via `--load-extension` and communicate entirely through native messaging hosts:
- `omarchy-default-chromium-extensions/yt-dlp/background.js` → `chrome.runtime.sendNativeMessage('com.omarchy.ytdlp', ...)`
- `omarchy-default-chromium-extensions/copy-url/background-4.js` → `chrome.runtime.sendNativeMessage('com.omarchy.copy_url', ...)`

Both extensions swallow `chrome.runtime.lastError`, so when the native host manifest is missing, the call fails with no visible error — the shortcut appears to do nothing.

**Root cause**

`/usr/share/omarchy/bin/omarchy-install-chromium-ytdlp` and `/usr/share/omarchy/bin/omarchy-install-chromium-copy-url` each hardcode the same `browser_dirs` array of profile directories to write the native-messaging-host JSON into:

```
$HOME/.config/chromium
$HOME/.config/google-chrome
$HOME/.config/google-chrome-beta
$HOME/.config/google-chrome-unstable
$HOME/.config/BraveSoftware/Brave-Browser
$HOME/.config/BraveSoftware/Brave-Browser-Beta
$HOME/.config/BraveSoftware/Brave-Browser-Nightly
$HOME/.config/microsoft-edge
$HOME/.config/microsoft-edge-dev
```

`$HOME/.config/BraveSoftware/Brave-Origin` is missing from both lists, even though the extension-loading migration (`migrations/1780517689.sh`) already targets `brave-origin` (via `brave-origin-flags.conf`) for `--load-extension`. So the extension and its keyboard shortcut get registered in Brave Origin, but the native messaging host it depends on never does.

**Expected**

Either add `$HOME/.config/BraveSoftware/Brave-Origin` to both `browser_dirs` arrays, or (better) derive the list from the same set of flag-conf names the extension-loading migration already targets, so the two stay in sync.

**Steps to reproduce**

1. Install/use Brave Origin on Omarchy.
2. Confirm the yt-dlp and copy-url extensions are loaded (`brave-origin://extensions`) and their shortcuts are bound (`brave-origin://extensions/shortcuts`).
3. Press Alt+Shift+D on a video page, or Alt+Shift+L on any page.
4. Nothing happens — no download, no clipboard toast, no error.
5. Compare `~/.config/BraveSoftware/Brave-Origin/NativeMessagingHosts/` (missing `com.omarchy.ytdlp.json` / `com.omarchy.copy_url.json`) against `~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts/` (has both).

**System**

- Omarchy version: 4.0.3-1
- This is a plain string omission in a bash array, not distro/environment-specific — reproducible on any Omarchy install with Brave Origin installed.

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.