Frost
Stop stray keystrokes and trackpad taps while a long build, video render, or AI agent runs on your Mac. Frost locks your inputs, keeps your screen visible, and unlocks with Touch ID or Apple Watch.
macOS ·
Hands off, screen on
Whether you have a cat walking across your desk, a toddler reaching for the keys, or an AI agent working through a long task, sometimes you need your Mac to keep working without any accidental input. Frost sits in your menu bar and freezes your keyboard, mouse, and trackpad while leaving your apps running and your screen in plain view.
When locked, Frost dims your displays with an overlay so you know input is blocked while you can still read everything underneath. You can also set it to keep your Mac and display awake while locked (unless you physically close the MacBook lid).
Under the hood, Frost hooks an active event tap into the very beginning of the macOS session event stream, intercepting and dropping keystrokes, clicks, drags, scrolls, and media keys before any app sees them. Because the macOS window server still moves the pointer on screen even when mouse events are dropped, Frost also detaches the cursor from mouse movement and pins it in place.
System shortcuts like Mission Control swipes, ⌘Tab, and Force Quit bypass normal event taps and go straight through the Dock and window server. To block those, Frost switches on macOS kiosk presentation options, which also hides the Dock and menu bar until you unlock.
Permissions and privacy
To block events, Frost needs macOS Accessibility permission, and its active event tap requires running outside the App Sandbox. It doesn’t ask for Input Monitoring, and it runs as a normal user app—no root access, privileged background helpers, or kernel extensions. Once you toggle on Accessibility in System Settings, just quit and reopen Frost once to arm it.
While locked, Frost only checks raw key codes and modifier flags so it can spot your unlock shortcut (or Esc to cancel the authentication prompt), plus the pointer position to keep the cursor pinned. It never reads the characters you type, and it doesn’t log keystrokes or store input events. Preferences stay in standard macOS UserDefaults, and lock state lives purely in RAM.
One obvious caveat: Frost is built to stop accidental input, not an intruder. If you’re walking away from your desk, use the actual macOS Lock Screen (⌃⌘Q).
Unlocking with Touch ID or Apple Watch
Pressing your unlock shortcut pops up the native macOS authentication prompt, which you can clear with Touch ID or, if enabled, a paired and unlocked Apple Watch. All input stays frozen while that prompt is on screen except a bare Esc, so you can cancel and stay locked.
Before Frost engages a lock, it runs a preflight check to make sure your selected authentication method is available, Accessibility is active, and “Secure Keyboard Entry” isn’t turned on by another app. (When apps like Terminal or password managers enable Secure Keyboard Entry, macOS blocks event taps from seeing keystrokes—which would keep Frost from hearing your unlock shortcut.)
Frost is signed with an Apple Developer ID and notarized by Apple. The only time it touches the network is to update via Sparkle, which verifies an update’s EdDSA signature against the public key built into Frost before unpacking it. Update checks pause automatically while locked, so an update dialog never gets in the way of the authentication prompt.
Fail-safes and recovery
If authentication fails or gets canceled, Frost stays locked. Be careful with repeated bad fingerprints: if you trigger a system-wide Touch ID lockout, macOS demands your typed password—which you can’t type while Frost is eating your keystrokes. Frost doesn’t include a typed password fallback or auto-unlock on failure.
If you ever get stuck like that, ending the Frost process gives your keyboard and mouse back. If you already have Remote Login (SSH) enabled, you can SSH in from your phone or another computer and run pkill -ix frost. Otherwise, you’ll have to hold the physical power button to turn off the Mac, and unsaved work may be lost.
What if Frost hangs or another app turns on Secure Keyboard Entry mid-lock? If macOS disables Frost’s event tap because it responded too slowly, Frost tries to restart the tap and checks that it worked. If it can’t, it frees your mouse cursor and warns you that input is live again. The overlay and kiosk restrictions stay up, with a clickable authentication button since the unlock shortcut no longer works, and dismissing the overlay still requires authentication.
If Secure Keyboard Entry switches on during a lock, Frost warns that your unlock shortcut may no longer reach it, but it doesn’t end the lock. And if a lock fails to start—say, no overlay can appear—Frost stops any tap it started and explains why input wasn’t locked.
If Frost receives a quit signal (SIGTERM, SIGINT, or SIGHUP), it tears down the event tap and overlay cleanly, with a 5-second watchdog timer that forces the process to exit if cleanup stalls. Crashes and SIGKILL skip that cleanup and rely on macOS to reclaim the event tap.