Google-chrome-stable --class 'w3' -> open a new chrome with url: w3/

Hyprland version
Hyprland 0.55.4 built from branch v0.55.4 at commit a0136d8c04687bb36eb8a28eb9d1ff92aea99704 clean ([gha] Nix: update inputs).
Date: Thu Jun 11 17:10:04 2026
Tag: v0.55.4, commits: 7378

Libraries:
Hyprgraphics: built against 0.5.1, system has 0.5.1
Hyprutils: built against 0.13.1, system has 0.13.1
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.8, system has 0.6.8
Aquamarine: built against 0.12.0, system has 0.12.1

Version ABI string: a0136d8c04687bb36eb8a28eb9d1ff92aea99704_aq_0.12_hu_0.13_hg_0.5_hc_0.1_hlg_0.6
no flags were set

Recently i am trying to rewrite my whole config file in lua, i want to open some apps on other work space without focusing that workspace , so i created a bunch of window rule named w1 - w10…
and it only works as intended for kitty, while other apps like spicetify (–class not found) and google-chrome-stable (–class ‘w3’ just open a new tab with the url w3/)

here is my window rule code:

for i=1,10 do
  local work=tostring(i);
  hl.window_rule({
    match={
      class="w"..work
    },
    workspace=work.." silent"
  })
end

That’s how browsers do things.
They run a daemon that grabs any new instance of a program at does w/e it wants with it. Nothing the compositor can do about that.

is there any way to apply a class to an app? i dont want to apply window rule to that specific app’s class, bc i want to make a keybind that open apps in other workspace without focusing it.