The Mid Click vs MiddleClick

MiddleClick is a free, open-source menu bar app that has given Mac users three-finger middle click for years. The Mid Click was built as a replacement after MiddleClick started crashing on macOS 27. Here's an honest comparison.

The Mid ClickMiddleClick
Price7-day trial, then $1/year or $10 lifetimeFree, open source (MIT)
How it reads touchesPublic macOS APIs: gesture events from a CGEvent tap and NSEvent touch dataApple's private MultitouchSupport framework
Stability on macOS 27Built and tested on itCrashes in our testing (see below)
Tap and click modesBoth, switchable in the windowBoth, via a setting
Three or four fingersBothBoth
InterfaceWindow with a live test pad showing which button was receivedMenu bar menu, no window
Launch at loginOptional switch, off by defaultOptional
DistributionNotarized download, auto-updates plannedGitHub releases, Homebrew

What happened on macOS 27

Tested
MiddleClick 3.3.0 and The Mid Click 1.0
System
macOS 27.0 (build 26A428), MacBook Pro with Apple M5 Pro, built-in trackpad
Date
September 2026
Observed
MiddleClick terminated with EXC_BAD_ACCESS (SIGBUS) in MultitouchSupport, frame MTAlg_IssueContactFrameCallbacks → mt_ProcessMultitouchFrame, on the framework's own thread (mt_ThreadedMTEntry)

MiddleClick reads finger positions through MultitouchSupport.framework, a private Apple framework with no stability guarantees; its source links the framework directly. On the system above it crashed intermittently, typically after sleep or when a trackpad connected or disconnected. Because the app isn't a login item by default, each crash leaves you without middle click until you notice and relaunch it. The crash is inside Apple's framework rather than MiddleClick's own code, so a newer MiddleClick release may or may not avoid it; check its releases page before deciding.

Why The Mid Click uses public APIs

Instead of the private framework, The Mid Click listens to the gesture events macOS already delivers through a CGEvent tap and reads the touches with NSEvent.allTouches(), which Apple documents. Those APIs are what Apple's own frameworks use, so an OS update is far less likely to break them. The trade-off is that the public gesture stream gives slightly less detail than the private one; for counting fingers and spotting a tap, it's enough. Here's the full mechanism.

Which should you use?

Don't run both at once; you'll get two middle clicks per tap.