After updating to yabai v7.1.18, yabai --start-service doesn't load the config from ~/.config/yabai/yabairc when it's a symlink.
Environment
- yabai version: v7.1.18
- macOS: Tahoe 26.4
- Setup: ~/.config/yabai is a symlink to ~/dotfiles/yabai/.config/yabai
Steps to reproduce
- Symlink config: ln -s ~/dotfiles/yabai/.config/yabai ~/.config/yabai
- Start service: yabai --start-service
- Check config: yabai -m config external_bar
Expected behavior
Config loads from ~/.config/yabai/yabairc and external_bar shows all:43:0
Actual behavior
external_bar shows off:0:0 — config not loaded
Workaround:
Manually edit ~/Library/LaunchAgents/com.asmvik.yabai.plist to add --config flag:
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/yabai</string>
<string>--config</string>
<string>/Users/<username>/.config/yabai/yabairc</string>
</array>
Root cause
--start-service generates the launchd plist without HOME in EnvironmentVariables, so yabai can't resolve ~/.config/yabai/yabairc.
Suggested fix
Either:
- Add HOME to the generated plist's EnvironmentVariables, or
- Have --start-service automatically resolve symlinks and use --config with the absolute path, or
- Check $HOME at runtime even when not set in the environment
After updating to yabai v7.1.18, yabai --start-service doesn't load the config from ~/.config/yabai/yabairc when it's a symlink.
Environment
Steps to reproduce
Expected behavior
Config loads from ~/.config/yabai/yabairc and external_bar shows all:43:0
Actual behavior
external_bar shows off:0:0 — config not loaded
Workaround:
Manually edit ~/Library/LaunchAgents/com.asmvik.yabai.plist to add --config flag:
Root cause
--start-service generates the launchd plist without HOME in EnvironmentVariables, so yabai can't resolve ~/.config/yabai/yabairc.
Suggested fix
Either: