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.
Intermittent 'send_key_state: key not found' on Super+V/C/X clipboard shortcuts
Reported by Louis454545 · filed Aug 15, 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
Summary
Pressing Super+V (universal paste), and sometimes Super+C / Super+X, intermittently shows a Hyprland Lua runtime error:
Runtime error in lua:
=[C]:-1: send_key_state: key not foundPaste/copy/cut may fail when the error appears.
Root cause
Omarchy's clipboard bindings in default/hypr/bindings/clipboard.lua call hl.dsp.send_key_state immediately when the bind fires. The bind itself uses Super as a modifier (SUPER + V), so Super is still held when Hyprland tries to resolve the synthetic key (CTRL+V, SHIFT+Insert, etc.).
This matches a known Hyprland input bug where send_key_state / send_shortcut key lookup can fail while bind modifiers are still depressed:
Even on Hyprland 0.56.2 (which includes PR #15401), the error still reproduces intermittently.
Steps to reproduce
- Use default Omarchy clipboard bindings (Super+V paste).
- Paste repeatedly in different apps (terminal and non-terminal).
- Observe intermittent Hyprland notification:
send_key_state: key not found.
Expected
Super+V should always paste without Lua runtime errors.
Actual
Intermittent send_key_state: key not found error; paste may not happen.
Environment
- Omarchy: 4.0.0-1
- Hyprland: 0.56.2-1
- Keyboard layout:
fr(AZERTY) - Bindings file:
default/hypr/bindings/clipboard.lua
Suggested fix
Delay the synthetic key dispatch until after Super is released, e.g. wrap the down/up send_key_state calls in an hl.timer (~80ms oneshot) before sending down. This is the same pattern already used for the up event, extended to avoid the race with the held Super modifier.
Workaround (user config)
Override in ~/.config/hypr/bindings.lua by unbinding SUPER + C/V/X and rebinding with a delayed send_key_state helper.
View raw text
## Summary Pressing **Super+V** (universal paste), and sometimes **Super+C** / **Super+X**, intermittently shows a Hyprland Lua runtime error: ``` Runtime error in lua: =[C]:-1: send_key_state: key not found ``` Paste/copy/cut may fail when the error appears. ## Root cause Omarchy's clipboard bindings in `default/hypr/bindings/clipboard.lua` call `hl.dsp.send_key_state` immediately when the bind fires. The bind itself uses **Super** as a modifier (`SUPER + V`), so Super is still held when Hyprland tries to resolve the synthetic key (`CTRL+V`, `SHIFT+Insert`, etc.). This matches a known Hyprland input bug where `send_key_state` / `send_shortcut` key lookup can fail while bind modifiers are still depressed: - https://github.com/hyprwm/Hyprland/discussions/14772 Even on Hyprland 0.56.2 (which includes PR #15401), the error still reproduces intermittently. ## Steps to reproduce 1. Use default Omarchy clipboard bindings (Super+V paste). 2. Paste repeatedly in different apps (terminal and non-terminal). 3. Observe intermittent Hyprland notification: `send_key_state: key not found`. ## Expected Super+V should always paste without Lua runtime errors. ## Actual Intermittent `send_key_state: key not found` error; paste may not happen. ## Environment - Omarchy: 4.0.0-1 - Hyprland: 0.56.2-1 - Keyboard layout: `fr` (AZERTY) - Bindings file: `default/hypr/bindings/clipboard.lua` ## Suggested fix Delay the synthetic key dispatch until after Super is released, e.g. wrap the down/up `send_key_state` calls in an `hl.timer` (~80ms oneshot) before sending `down`. This is the same pattern already used for the `up` event, extended to avoid the race with the held Super modifier. ## Workaround (user config) Override in `~/.config/hypr/bindings.lua` by unbinding `SUPER + C/V/X` and rebinding with a delayed `send_key_state` helper.
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 04:14 UTC