Reverse mouse scroll on macOS. Lightweight CLI, no GUI.
Reverses mouse scroll direction while keeping trackpad natural. A zero-config daemon — no menu bar, no preferences window.
All existing scroll reversal tools (Scroll Reverser, Mos, LinearMouse) are GUI applications with menu bar icons and preferences windows. If you just want mouse scroll reversed without configuration or visual clutter, this is the simplest option.
| Tool | Type | Config | Size | Differentiator |
|---|---|---|---|---|
| reverse-scroll-cli | CLI daemon | Zero | 150KB | Install and forget |
| Scroll Reverser | Menu bar app | Preferences window | ~5MB | Established, feature-rich |
| LinearMouse | Preferences app | Full GUI | ~10MB | Per-device customization |
| Mos | Menu bar app | Per-app settings | ~8MB | Smooth scrolling |
brew tap dongzhenye/tap
brew install --cask reverse-scroll-climacOS will ask for Accessibility permission on first run. Grant it in System Settings > Privacy & Security > Accessibility.
That's it. No configuration needed.
brew uninstall --cask reverse-scroll-climacOS ties mouse and trackpad scroll direction to a single setting. This tool intercepts mouse scroll events and reverses them, leaving trackpad behavior untouched.
- Uses macOS CGEvent tap (documented public API)
- Runs as an invisible background service
- ~200 lines of Swift, zero dependencies
- Universal binary (Apple Silicon + Intel)
# Run in foreground without installing
./reverse-scroll-cli --foreground
# Ctrl-C to stopOn first install, macOS may show a warning that the app is from an unidentified developer. This is normal for unsigned apps.
To open:
- Click the "?" button next to "Move to Trash"
- Select "Open"
Or:
- Open System Settings > Privacy & Security
- Scroll down to find ReverseScrollCLI
- Click "Open Anyway"
You only need to do this once. Future versions will be notarized to eliminate this warning.
If the tool doesn't work after installation:
- Open System Settings
- Go to Privacy & Security > Accessibility
- Find Terminal or ReverseScrollCLI in the list
- Toggle it on
- Restart the tool:
brew reinstall --cask reverse-scroll-cli
If you have Scroll Reverser, Mos, or similar tools running, two reversals cancel out. Check running apps:
reverse-scroll-cli # Shows warning if conflicts detectedQuit the other tool or uninstall this one.
The tool works best when Natural Scrolling is ON (System Settings > Trackpad/Mouse). If Natural Scrolling is off, the tool will reverse your mouse to "natural" direction (opposite of what you want).
Recommended setup:
- System Settings: Natural Scrolling ON
- This tool: Reverses mouse only → trackpad stays natural, mouse becomes traditional
- macOS 13.0 (Ventura) or later
- Accessibility permission
Contributions welcome! Please:
- Fork the repo
- Create a feature branch (
git checkout -b feat/my-feature) - Commit your changes (
git commit -m 'feat: add my feature') - Push to the branch (
git push origin feat/my-feature) - Open a Pull Request
Follow Conventional Commits for commit messages.
MIT
Built with: Swift, CoreGraphics, Homebrew Cask
Author: Zhenye Dong