Why you'd want to move your mouse automatically
macOS tracks your mouse and keyboard activity to decide when to put your Mac or MacBook to sleep. If there's no input for a few minutes, the screen dims, then the system sleeps. Downloads pause, remote sessions drop, renders stop mid-frame.
Moving the mouse automatically resets that idle timer. Your Mac sees cursor movement and assumes you're still there. Everything keeps running.
How to move your mouse automatically on Mac
The simplest way is a mouse jiggler app. These run in the background and move your cursor at regular intervals. The best ones do it with natural, organic motion so it doesn't look robotic or interfere with your work.
Shake It On moves your cursor using smooth sine-wave motion at configurable intervals (5 seconds to 1 hour) and distances (5 to 420 pixels). It lives in your menu bar and only runs when your conditions are met.
Can you do it from Terminal?
You can move the mouse from Terminal using cliclick or AppleScript's do shell script with osascript. For example, a loop that moves the mouse one pixel every 60 seconds would technically work.
The problem is that it's fragile. Terminal scripts don't know when to stop. They don't pause when you're on a video call, on battery, or outside work hours. They don't survive a restart. And the movement is usually jerky, a sudden pixel jump that's obvious on screen.
Moving the mouse only when you need to
The whole point of automatic mouse movement is keeping your Mac awake during specific tasks. You don't want it running 24/7. Shake It On lets you set conditions:
- Only when a specific app is running (like Slack or Final Cut)
- Only during work hours on weekdays
- Only when plugged into power
- Only when connected to Wi-Fi
- Pause when the camera is on or Focus mode is active
Your mouse moves when it needs to. The rest of the time, your Mac sleeps normally.
Hardware vs. software mouse movers
Hardware mouse movers are USB dongles that physically simulate mouse input. They work on any Mac or MacBook without installing software, but they're inflexible. A USB dongle can't pause when your camera turns on or stop after 6 PM.
Software mouse movers like Shake It On do the same thing but with intelligence. They generate real mouse input events at the OS level, which macOS treats identically to physical mouse movement. But they can adapt to context.
Common reasons to auto-move the mouse
- Keep Slack or Teams showing "active" — These apps check for mouse and keyboard activity to set your status
- Prevent remote desktop disconnects — VNC and Screen Sharing use their own idle timers that system sleep prevention doesn't affect
- Long downloads or uploads — A sleeping Mac pauses network transfers
- Corporate MDM environments — When your IT department has locked Energy Saver settings, mouse movement still works
- Renders and encodes — Final Cut, Blender, and Handbrake exports that take hours