skhd: Broken on macOS Sonoma 14.1

Cant get it to work after macOS update from Ventura to Sonoma.

I always get: skhd: must be run with accessibility access! abort.. besides having given Accessibility access and restarted. I tried skipping the check_privileges function by always returning true. Then it runs, but also doesn’t seem to register key presses.

Both brew and building from source give the same result.

About this issue

  • Original URL
  • State: open
  • Created 8 months ago
  • Reactions: 6
  • Comments: 15

Most upvoted comments

~I’m having similar issues on Sonoma 14.4.1, I’ve followed the steps here and here but have had no luck. Yabai starts up and works but skhd doesn’t send any commands~

Upon further review it looks like I had an invalid character in my config that did not previously cause an issue, but in the new version it breaks skhd

cat /tmp/skhd_tatlas.err.log
#70:14 expected modifier

For those still struggling, I found that skhd started as a service failed to inherit the homebrew bin path – and thus had no idea where yabai and other brew-installed binaries were. I fixed this by changing my config to use the full path to the yabai executable, like this:

rcmd + rshift + ralt + rctrl + lcmd - right : /opt/homebrew/bin/yabai -m window --space next; /opt/homebrew/bin/yabai -m space --focus next
rcmd + rshift + ralt + rctrl + lcmd - left : /opt/homebrew/bin/yabai -m window --space prev; /opt/homebrew/bin/yabai -m space --focus prev

Fix for me included:

  • Update to 14.3 (not sure if this helped)
  • Remove skhd from accessibility menu
  • Uninstall skhd
  • Reinstall skhd
  • Enable accessibility

I think the accessibility settings somehow got out of sync with the actual settings, but removing and reinstalling fixed the issue for me.