Persistent workspaces broken with latest update

Hyprland version
Hyprland 0.51.0 built from branch  at commit 46174f78b374b6cea669c48880877a8bdcf7802f  (version: bump to 0.51.0).
Date: Wed Sep 10 12:41:05 2025
Tag: v0.51.0, commits: 6418
built against:
 aquamarine 0.9.4
 hyprlang 0.6.3
 hyprutils 0.8.4
 hyprcursor 0.1.13
 hyprgraphics 0.1.5


no flags were set

After updating Hyprland today, there seems to be a regression with workspace created. I have the following rules in my config:

bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3

bind = $mainMod, left, workspace, e-1 # also happens with m-1
bind = $mainMod, right, workspace, e+1 # also happens with m+1

workspace = 1, persistent:true
workspace = 2, persistent:true
workspace = 3, persistent:true

However, when I first log in, I cannot scroll to workspace 2 or 3 with mainMod + left/right binds until I go there directly mainMod+1/2/3. Then I can switch workspaces until the config is read again, either by changing a line (like adding a newline) or when the monitor turns off with hypridle.

Even the first workspace is transient unless a window is opened on it or I go their directly from another workspace with mainMod+1.

I think this may be a regression. Before updating, the three empty workspaces were able to be navigated to without first going to them directly.

As a workaround, I’m using -1 and +1 instead of e-1 and e+1 or m-1 and m+1. This is imperfect, as the first workspace is also transient unless a window is opened first. It also doesn’t cycle through workspaces, as before. But it does approximate the correct behavior.

Yeah, latest update requires a monitor to be specified. I can fix this, can you make a discussion @ github?

1 Like

I have just done so here. Thank you very much for looking into this bug!