After a recent update to macOS Sonoma (in my case 14.3 update). My Logitech Options+ app decided to break all the functionality of my MX Master Advanced 3. In particular, the thumb press that I have set to activate expose mode for quick switching between both windows and desktop spaces.
How did this manage to break?
After a about a week of searching online, and trawling through many many blogs, and reddit posts for a fix. It appears that this has happened several times, if not continuously. Logitech appears to not have a reliable fix, nor do a lot of posts with regards to stability.
I tried everything…
- uninstall clean, and reinstall using their uinstaller
- Uninstaller using AppCleaner to locate everything (brilliant tool, if you’re on Mac. Go get it here: AppCleaner.
- Edit plist files.
- Reboot. Change Launch daemons.
- the list goes on…
All of these, amongst several other people online, appeared to have no effect. Sometimes it came back to the Logitech Options+ app just infinite trying to load (as below)
Sometimes I got passed that using the listed selections above and then it just got stuck in an complete locked up version of telling me to enable Login Items. (as below)
This was beginning to get to the point of annoyance after about a week or so of having limited functionality of the brilliant mouse that this mouse is. Some suggestions made use of SteerMouse. a Customise applet that lets you configure the mouse buttons and tracking. This definitely appeared to be the option if I couldn’t figure this out. However, even with the lower price tag, I didn’t really want to license a piece of software just to give me the functionality I had come to expect.
Solution? (for now as it’s a little hacky)
So, in doing some more digging around it appears sometime between Logitech Options versions. Logitech changed their LaunchAgent. They appear to have somewhat forgotten about this in versions (don’t ask me how they forget their own design) but it appears that during updates it doesn’t actually do a couple of things.
- update it’s own LaunchAgent plist file with the correct path
- Enable the Agent to actually run.
What clued me into this was the fact that for some reason to reinstall the Logitech Options+ App. It wouldn’t run at all by a normal double click. The only way I could get this to run was using terminal and using sudo <filename> to the app executable on macOS.
Taking that into account I first edited the plist to the correct path location and did a reboot. The plist in question should look similar to the following:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Enabled</key>
<false/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.logitech.manager.daemon</string>
<key>LimitLoadToSessionType</key>
<string>Aqua</string>
<key>Nice</key>
<integer>0</integer>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/Library/Application Support/Logitech.localized/LogiOptionsPlus/logioptionsplus_agent.app/Contents/MacOS/logioptionsplus_agent</string>
<string>--launchd</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Plist name is com.logitech.manager.daemon. Upon reboot I was hoping this may trigger the app to launch. But alas, no such luck.
The workaround?
Open a terminal prompt. Run the following line:
sudo /Library/Application Support/Logitech.localized/LogiOptionsPlus/logioptionsplus_agent.app/Contents/MacOS/logioptionsplus_agent
The terminal prompt needs to stay open as this code is running the agent and it doesn’t stay without it. However, it does stay open and awake between closing the laptop lid and re-opening. When you open the Logitech Options+ app after this terminal window is running. The app shows the settings. I find that it does take a minute and I have to click into add mouse, and then back out, for it to show the MX Master Advanced. But once set, I can close. Leave the terminal window open, and retain all the settings of my mouse again.
Obviously this is a manual workaround. It has to be launched (you could probably write this and stick into login items so it comes up automatically for the meantime. But that is up to you.
I will update here if I find any other way to make this run without having to leave that terminal open. But right now I’m glad this is working. I hope this helps out someone else.
Feel free to leave a comment if this works for you. Or you have another way to make this launch without that may help others.
Thanks for reading…