I never (intentionally) hide an app with ⌘H, which could be rebound for each app (e.g. Finder), but this is obviously the wrong approach. So, (how) can you disable ⌘H for application-hiding in one fell swoop?

4 Answers
You might use a private.xml like this with Karabiner (formerly KeyRemap4MacBook):
<?xml version="1.0"?>
<root>
<item>
<name>test</name>
<identifier>test</identifier>
<autogen>__KeyToKey__ KeyCode::H, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
</item>
</root>
- 413
- 105,117
-
9What if I want to use the keystroke for something else? VK_NONE means that if you hit that key, apps see nothing happening. – user47093 Jul 07 '15 at 15:05
-
1Who answered this, i do not see the user? But either way this was freaking genius, i have hated this for so long. And have added several of these Hide {Stupid Thing} in System Prefs. No more finally. Thank you!!!!!!!!!!!!!!!! – j_walker_dev Jul 30 '15 at 11:27
If you do not want an approach for separate applications, but for TOTAL disabling of the shortcut, you can use Karabiner (FREE, and OPEN SOURCE :) ) and after installing it add a special complex modification rule
The link already contains the search query, so just look for Prevent unintended command-h hide window and then click on Import and you are done!
- 261
-
This is an interesting application, and the fact that it is open source makes it more interesting. Thanks! – Rafid Sep 20 '21 at 17:00
-
1However, for some reason, I am not able to get the
Prevent unintended command-h hide window (rev 2)rule to work. I imported it and enabled it, but Cmd-H still hides the window. – Rafid Sep 20 '21 at 18:11 -
1@Rafid make sure to address any needed permissions for Karabiner. I had to update 2 or 3 different security settings before it worked for me. Karabiner lets you dismiss its dialogs as though these permissions are optional. – Mike B Jan 31 '22 at 07:07
-
2But this will disable
cmd+hnot only for hide window but also for some applications'cmd+hshortcuts. – Changdae Park Oct 22 '22 at 09:18 -
correct @ChangdaePark, this solution as it says is for "TOTAL disabling" – mPrinC Nov 02 '22 at 12:48
In addition to the accepted answer, this can be accomplished easily with BetterTouchTool.
Open BTT Preferences. If it isn't selected already, select Gestures.
Under Select Application, select Global.
Add a New Shortcut: ⌘H and leave the Trigger set to No Action.
Close the Preferences window, and ⌘H should now be disabled for all applications.
The downside compared to the accepted answer is that this fix involves running an application. However since many Mac users are already running BTT in the background for other purposes, this fix can be done in a few seconds and might be simpler for some users.
- 200
-
Update: Global is now called All Apps. (Otherwise, the solution is still good after all these years!) – Rhubarb Nov 08 '23 at 10:02
SKHD is a simple and neat hotkey daemon for macOS. It allows you to define application-specific bindings as well. You can configure a binding for your app to ignore a hotkey or even configure to send a new one instead.
For example, ⌘h hides Alacritty.app by default. You would synthesize an empty keypress as below in order to ignore that keypress.
Add following configuration to your .skhdrc. You can list any other app from your applications directory in a new line and do whatever you like.
cmd - h [
"alacritty" : skhd -k ""
"safari" : skhd -k ""
]
In my case, I prefer to synthesize a different keypress: ⌃b and then h which triggers my Tmux binding (jump to left pane).
cmd - h [
"alacritty" : skhd -k "ctrl - b" && skhd -k "h"
]
Make sure to reload SKHD after editing config file.
❯ skhd --reload
- 151

The problem is that the shortcuts attach to menu item strings, but the quit and hide commands are always prefixed with the application's name :(
– Mac Cowell Mar 29 '15 at 03:52