Is it a bug?
I have checked if others have reported this already
Current Behavior
I have rclone installed via Homebrew on macOS 26.3. Its binary lives at:
/opt/homebrew/Cellar/rclone/1.73.3/bin/rclone
Homebrew also creates a stable symlink at /opt/homebrew/bin/rclone, which does not change between version updates.
When I add rclone to the split-tunneling exclusion list through the Mullvad app, the resulting config in /etc/mullvad-vpn/settings.json resolves the symlink and stores the real path:
{
"split_tunnel": {
"enable_exclusions": true,
"apps": [
"/opt/homebrew/Cellar/rclone/1.73.3/bin/rclone"
]
}
}
Because the path includes the version number, the exclusion silently breaks every time rclone is updated to a newer version.
Expected Behavior
The split-tunneling configuration should preserve the symlink path as provided by the user (/opt/homebrew/bin/rclone) rather than resolving it to the underlying target. This would keep the exclusion working across package updates — a common need for any Homebrew-managed binary.
Steps to Reproduce
- Install any CLI tool via Homebrew (e.g.
brew install rclone).
- In the Mullvad app, add
/opt/homebrew/bin/rclone to the split-tunneling exclusion list.
- Observe that
settings.json contains the resolved Cellar path, not the symlink.
- Update the tool (
brew upgrade rclone) and confirm the exclusion no longer applies.
Failure Logs
Operating system version
26.3 (25D125)
Mullvad VPN app version
2026.1
Additional Information
Little Snitch has a similar problem and solves it by allowing wildcards, e.g. /opt/homebrew/Cellar/rclone/*/bin/rclone
Is it a bug?
I have checked if others have reported this already
Current Behavior
I have rclone installed via Homebrew on macOS 26.3. Its binary lives at:
Homebrew also creates a stable symlink at
/opt/homebrew/bin/rclone, which does not change between version updates.When I add rclone to the split-tunneling exclusion list through the Mullvad app, the resulting config in
/etc/mullvad-vpn/settings.jsonresolves the symlink and stores the real path:{ "split_tunnel": { "enable_exclusions": true, "apps": [ "/opt/homebrew/Cellar/rclone/1.73.3/bin/rclone" ] } }Because the path includes the version number, the exclusion silently breaks every time rclone is updated to a newer version.
Expected Behavior
The split-tunneling configuration should preserve the symlink path as provided by the user (
/opt/homebrew/bin/rclone) rather than resolving it to the underlying target. This would keep the exclusion working across package updates — a common need for any Homebrew-managed binary.Steps to Reproduce
brew install rclone)./opt/homebrew/bin/rcloneto the split-tunneling exclusion list.settings.jsoncontains the resolved Cellar path, not the symlink.brew upgrade rclone) and confirm the exclusion no longer applies.Failure Logs
Operating system version
26.3 (25D125)
Mullvad VPN app version
2026.1
Additional Information
Little Snitch has a similar problem and solves it by allowing wildcards, e.g.
/opt/homebrew/Cellar/rclone/*/bin/rclone