Remote sessions have their own idle timeout
Two things are working against you when you connect to a Mac remotely. First, macOS itself will put the host to sleep if it doesn't see any input. Second, the remote desktop software (VNC, Screen Sharing, TeamViewer, SSH) tracks idle time on its own and can drop your session even if the Mac stays technically awake.
That's why setting Energy Saver to "Never" only half-solves it. macOS won't sleep, sure. But TeamViewer still has its own timeout. Screen Sharing can still drop you. SSH sessions close when things go quiet.
Some of these apps let you tweak their timeout settings. Some don't expose those controls at all. And in corporate setups, IT might have configured a mandatory idle timeout you can't change.
Why mouse movement solves both problems at once
Remote desktop software watches for mouse and keyboard activity to decide if a session is still active. Regular mouse movement keeps it happy. Meanwhile, macOS sees that same movement and resets its own idle timer. One input, both problems handled.
Shake It On generates real mouse events at the OS level. Both macOS and the remote software see it as genuine activity. No workarounds, no hacks.
Same goes for Slack, Teams, or whatever messaging app is running on the remote Mac. They use mouse activity to set your online status. No movement means you're "away" even though you're connected. With Shake It On running on the host, your status stays active.
Setting up for remote access
If you're running a Mac that you access remotely, here's what we'd suggest:
- Set it to "Always active." Don't use scheduling or idle-only conditions. You're not physically there, so idle detection doesn't help you.
- Turn on "Launch at login." If the machine restarts for an update, Shake It On needs to come back up on its own. You won't be there to open it.
- Enable "Allow display to sleep." No reason to keep a screen lit that nobody's looking at. The system stays awake and your connection stays alive.
- Keep the interval short. Every 2-3 minutes. Some remote tools have aggressive timeouts and you don't want a gap long enough for the software to decide you left.