Step by step

How to fix the Caps Lock delay on macOS

There are two honest ways to remove the ~75 ms Caps Lock delay: a free Terminal command that works in seconds, and a one-click app that makes it permanent. Here's exactly how to do both, and how to choose.

By Mohammad Aljarad Updated 13 July 2026 6 min read

The fast answer: you can remove the macOS Caps Lock delay for free with one Terminal command — hidutil property --set '{"CapsLockDelayOverride":0}'. It works instantly, with no sudo and no restart.

The catch: it resets every time you reboot, and it ignores keyboards you connect afterward. To make the fix permanent and automatic — across restarts, sleep, and every keyboard — use FastKey, a menu-bar app that keeps the override applied.

At a glance

Free method
One hidutil command. No sudo, no restart. Resets on reboot.
The property
CapsLockDelayOverride, set to 0.
Works on
Current macOS, including Sonoma and Sequoia. macOS 13+.
Permanent method
FastKey — re-applies automatically, one-click on/off, £4.99, 14-day free trial.
Fully reversible
Reboot (free method) or toggle off (FastKey). Nothing permanent is written.

Method 1: Remove the delay for free with hidutil

macOS has a built-in tool called hidutil that can change how the system handles keyboard input. One command tells it to override the Caps Lock delay and set it to zero. This is the free method, and it takes under a minute.

  1. Open Terminal. Find it in Applications → Utilities, or press Command-Space, type "Terminal", and press Return.
  2. Paste the command and press Return. No password is needed.
  3. Tap Caps Lock quickly. It should now toggle instantly — no delay, no swallowed taps.
Terminal
hidutil property --set '{"CapsLockDelayOverride":0}'

That's it — the delay is gone for now. This command doesn't need sudo, doesn't touch any files, and doesn't require a restart. If you ever want the delay back immediately, run the same command with 75 instead of 0, or just reboot.

You may see advice online to turn on Accessibility → Slow Keys to fix this. Don't. Slow Keys makes you hold down every key before it registers and breaks key-repeat — it's an unrelated accessibility feature, not the right fix, and it degrades normal typing.

The catch with the free method

The hidutil override is real, but it's temporary and narrow. This is the part most articles leave out, and it's exactly why people say "the fix stopped working":

  • It resets on every reboot. The setting lives in memory only. Restart your Mac and Caps Lock is back to 75 ms — you have to run the command again.
  • It ignores keyboards you connect later. The override applies only to keyboards attached at the moment you run it. Plug in an external keyboard, re-pair a Bluetooth one, or dock into a KVM afterward, and that keyboard still has the delay until you run the command again.
  • There's no on/off and no feedback. It's a raw command with no indicator. To check whether it's active you'd run hidutil property --get CapsLockDelayOverride and read the output.

Making the free fix permanent yourself

You can make the command survive reboots without any app, but it's manual. The do-it-yourself route is to write a root-owned LaunchDaemon — a small .plist file in /Library/LaunchDaemons that re-runs the command automatically at every boot. This does require root to install.

It works, but two things to know: it only fires at boot, so it still misses any keyboard you hot-plug mid-session, and hand-editing system daemon files is more than most people want to do to fix one key. If you're comfortable with all of that, it's a legitimate free solution. If you're not, that's what FastKey automates.

Method 2: FastKey (permanent, one click, every keyboard)

FastKey is a small macOS menu-bar app that applies the same CapsLockDelayOverride — and then keeps it applied so you never think about it again. It's built to close every gap the free method leaves open:

  • Survives restarts and sleep. It re-applies the override automatically, so Caps Lock stays instant after every reboot and wake.
  • Covers every keyboard. Built-in, USB, or Bluetooth — plug one in and FastKey makes it instant too, with nothing to configure.
  • One-click on and off. Toggle it from the menu bar; your Mac's default behavior returns the moment you turn it off.
  • Proof it's working. A built-in Tap Test measures your real key presses so you can see the difference on your own keyboard.
  • Safe and honest. Signed and notarized by Apple, nothing written permanently, and reversible by restart. It only asks for Input Monitoring, and only to run the Tap Test on the Caps Lock key.

Set it once and forget it exists

FastKey keeps Caps Lock instant through restarts, sleep, and every keyboard. 14-day free trial, everything unlocked, then £4.99 once — one license covers 3 Macs.

Download the free trial

Which method should you use?

Both are legitimate. Pick by how much friction you're willing to carry:

  • Use the free command if you only type on your Mac's built-in keyboard, you're comfortable in Terminal, and you don't mind re-running it after reboots — or writing a LaunchDaemon to do it for you.
  • Use FastKey if you want it to simply work forever, on every keyboard, with a visible on/off, proof that it's active, and one-click undo — no Terminal, ever.

Want to see how these stack up against Karabiner-Elements and the other apps too? Read the full comparison.

How to undo the change

Nothing here is permanent, so undoing is easy:

  • Free method: restart your Mac and the 75 ms delay comes back on its own, or run hidutil property --set '{"CapsLockDelayOverride":75}' to restore it immediately.
  • FastKey: toggle it off from the menu bar, or quit the app. Your Mac returns to its default behavior instantly.

Frequently asked questions

Do I need sudo to run the command?

No. The interactive hidutil property --set command runs without sudo or a password. Root is only needed if you install a system-wide LaunchDaemon to re-apply the setting at boot.

Does this work on macOS Sonoma and Sequoia?

Yes. The CapsLockDelayOverride property and the hidutil command work on current macOS. FastKey supports macOS 13 and later on Apple Silicon Macs.

Is changing this safe?

Yes. You're switching a documented, in-memory keyboard setting. Nothing is written to firmware or permanent storage, so a restart always restores the default. FastKey is additionally signed and notarized by Apple.

Why did my fix stop working after connecting a new keyboard?

The free command only affects keyboards attached when you run it. A keyboard connected or re-paired afterward keeps the delay until you run the command again. FastKey handles this automatically by re-applying the override to new keyboards.