Fixing yabai's scripting addition on macOS 27 (Golden Gate)

Applying the unmerged patch from asmvik/yabai#2832 to a Homebrew --HEAD install, and why it was needed in the first place. My dotfiles, including yabai and skhd config, live at github.com/sventurbo/.dotfiles. TL;DR On macOS 27, yabai’s scripting addition (the part that reaches into the Dock process) silently did nothing. yabai itself ran fine, but yabai -m space --focus 2 exited with status 0 and did not switch spaces. The cause is not one bug but several things changing at once: a version allow-list that rejects macOS 27, Dock byte patterns that no longer match, a changed function-prologue instruction in a second Dock slice, a renamed Dock method (in the 27.2 beta), and a removed class that moving spaces depended on. The fix is a two-commit third-party patch on top of yabai dd84572. For a Homebrew --HEAD install you build it from source, swap the binary into the Cellar, and then redo the three things tied to the binary’s identity: the sudoers hash, the Accessibility grant, and the scripting-addition load. Result on macOS 27.0.1 (Apple M1): space focus works, and the patterns for creating and destroying spaces resolve. Moving spaces is still unsupported on macOS 27. Environment macOS 27.0.1 (build 26A434) Hardware Apple M1 (uses the arm64e Dock slice) yabai yabai-v7.1.25, Homebrew --HEAD build HEAD-dd84572 from the asmvik/formulae tap Dock binary SHA-256 b704affba65f732ffd6676c3bb22c94abc737ee73af8bdf29a5ef02650cde33e Shell fish (snippets below are POSIX shell for zsh/bash; see the note in step 7) The scripting addition requires System Integrity Protection to be partially disabled, as described in the yabai wiki. This article assumes your scripting addition already worked on an earlier macOS release, so that part is already set up. ...

October 18, 2026 · 17 min · Sven Oliver Frank