Skip to content

--start-service doesn't load config from symlinked ~/.config/yabai #2773

@Yahddyyp

Description

@Yahddyyp

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

  1. Symlink config: ln -s ~/dotfiles/yabai/.config/yabai ~/.config/yabai
  2. Start service: yabai --start-service
  3. 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:

  1. Add HOME to the generated plist's EnvironmentVariables, or
  2. Have --start-service automatically resolve symlinks and use --config with the absolute path, or
  3. Check $HOME at runtime even when not set in the environment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions