KeePassXC no longer launches to special workspace

Hyprland version
Hyprland 0.53.1 built from branch v0.53.1 at commit ab1d80f3d6aebd57a0971b53a1993b1c1dfe0b09 clean (version: bump to 0.53.1).
Date: Fri Jan 2 21:20:57 2026
Tag: v0.53.1, commits: 6766

Libraries:
Hyprgraphics: built against 0.5.0, system has 0.5.0
Hyprutils: built against 0.11.0, system has 0.11.0
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.7, system has 0.6.8
Aquamarine: built against 0.10.0, system has 0.10.0

Version ABI string: ab1d80f3d6aebd57a0971b53a1993b1c1dfe0b09_aq_0.10_hu_0.11_hg_0.5_hc_0.1_hlg_0.6
no flags were set

I have 2 utilities launching to special workspaces (silently) so that they are always available and I have hotkeys for toggling the workspaces to bring them into view when needed:

exec-once = [workspace special:keepass silent] secret-tool lookup keepass default | keepassxc --pw-stdin ~/cloud/keepass/amnesia.kdbx
exec-once = [workspace special:notes silent] obsidian

These were working great for a long time. After updating hyprland from 0.52 to 0.53, obsidian still works as it did, but keepass would no longer launch into its special workspace. I added the following window rule:

windowrule = float on, size 1200 800, center on, workspace special:keepass, match:class ^org.keepassxc.KeePassXC$

And now keepass does launch into its special workspace correctly, however it’s not “silent”, so every time I login it pops up and I have to use my hotkey to toggle it to the background. This is a stupidly minor thing, but I’d like to figure out how to get it to launch silently again, and I’m not really sure what I should look for here.

My guess is the fact that I needed to add the windowrule to get it to launch into its workspace (I do not need a similar rule for obsidian) means that something is happening during launch to cause the app to no longer be contained by the exec-once launcher (I don’t know how to phrase it properly). I have tried removing the password pipe and just launching it directly, e.g.

exec-once = [workspace special:keepass silent] keepassxc

but it still won’t launch into the special workspace without the windowrule. Since obsidian works as expected, I’m guessing this is something specific about keepass, but I’m not sure where to begin troubleshooting.