MacOS – Keyboard shortcut for service only works after I manually run the service

bugmacosservicesshortcut

After I assign a keyboard shortcut to initiate a service in System Preferences, I press the keyboard shortcut and nothing happens. I have to first click on the service title under the services menu (found if you click on the application title in the top left corner of the screen). Only then will the keyboard shortcut function correctly.

If I quit that application, I have to manually click on the service title under the services menu each and every time I re-open the application. I would've thought that the fix would "last" until the computer is shut down or restarted, but nope, it lasts only until the application is quit out of.

It may sound as though I am making a mountain out of a molehill, but this extra step essentially defeats the purpose of the keyboard shortcut in the first place, especially since I usually do not know and cannot keep track of if I have already manually run the service since the last time that I opened that application.

I have to repeat these steps for every application, including stock applications like Finder. Otherwise, the shortcut will not work while I am in that application.

This happens for every service I created.

This happens regardless of the keyboard shortcut.

Is there any way to have the keyboard shortcut trigger the service without having to manually run the service first?


My computer runs OS X El Capitan, version 10.11.6. It should be noted, however, that I first observed this bug from the very first time that I assigned a keyboard shortcut to my service, which was at least a year ago. In other words, I have never experienced the keyboard shortcut function as it was designed to work.


It should be noted that this bug is not unique to my computer; reports of others experiencing this idiosyncrasy abound on the internet…

Service not running the first time it's invoked via key combination

Services shortcut not working properly

Assigning a shortcut to a service

Assign a shortcut to running a script in OS X (read the last paragraph in this answer)

Best Answer

Found the answer in this Apple Support Community thread:

Keyboard shortcuts for services will only work properly if they have a ⌘ command key in them. That is, cmd-ctrl-k works, but ctrl-k needs help. The "help" is to go to the app's menu bar and hover over the services so it sees them. That works until you quit the app.

But, if the shortcut contains the ⌘ command key, it works as expected.