Skip to content
Reaction Reaction

Mouse jiggler for Mac: keeping macOS awake and active

Guide ~7 min Updated

Keeping a Mac awake and making it look active are two different problems, and the tools built into macOS only solve the first. This is the full picture: what caffeinate, the energy settings and apps like Amphetamine actually do, why a tracker still reads an awake Mac as idle, what macOS asks for before any app can move the pointer, why simple mouse jigglers get noticed, and where a presence app honestly fits.

Activity monitor

This week

76% On track

80%

Awake is not the same as active

The caffeinate command, the Energy Saver settings and menu-bar apps like Amphetamine or Lungo all do one job well: they keep the display on and stop the Mac from sleeping. None of them produce pointer movement or a single keystroke. A tracker scores the input inside each interval rather than the state of the screen, so an awake Mac with a lit display still hands in an empty block.

The confusion is understandable, because a bright screen feels like a working machine. But the activity percentage in tools like Hubstaff or Time Doctor, and the presence dot in Slack or Teams, all read the input stream, not the brightness. Solve sleep and you have solved sleep; the idle question is separate.

One 10-minute interval 78% with input
Trackers score input inside each interval, not screen state.

How macOS decides you are idle

Under the hood, macOS keeps a system idle clock: the time since your last human-interface event from the keyboard or the mouse. The screen saver, the lock timer and any tracker running on the Mac all read that same clock. Every real keypress, move, click or scroll resets it to zero.

This is why sleep tools miss the target. They freeze the display, but the idle clock keeps ticking, because holding a monitor awake is not the same as generating input. To keep a Mac reading as active you have to touch the one signal those tools never touch.

  • HID idle time — resets only on real keyboard or mouse input.
  • Display sleep — controls the screen alone.
  • Presence and idle timers — count time since the last input event.

What the built-in Mac tools actually do

It is worth being precise about what each option covers, because each is genuinely useful for its own job. The caffeinate command run in Terminal blocks sleep for as long as it runs; the Energy Saver or Battery settings decide when the display and system sleep on power; and one-click apps like Amphetamine or Lungo wrap the same behaviour in a menu-bar toggle. They are the right choice for a long download, a presentation or an overnight render.

What none of them do is move the cursor or press a key. That is the boundary between a sleep tool and a mouse jiggler, and it is the reason people reach for a second, separate app once they realise a lit screen is still scored as idle.

  • caffeinate — blocks sleep from Terminal while it runs.
  • Energy Saver / Battery — sets when the display and system sleep.
  • Amphetamine, Lungo — one-click keep-awake in the menu bar.
  • None of the above generate any input.

Accessibility permission: what macOS asks in return

Any app that moves the pointer or sends keystrokes needs Accessibility permission, found under System Settings, Privacy and Security, Accessibility. macOS deliberately gates synthetic input behind this consent layer, so a jiggler that has not been granted it will appear to run yet change nothing.

macOS asks on first launch and keeps the app in the Accessibility list afterwards. Approve it once, restart the app, and it can work. This is a standard macOS security design rather than anything specific to one product, and it is the first thing to check when a mouse mover seems to do nothing.

Why a simple jiggler gets noticed on a Mac

A hardware dongle or a single-pixel software loop produces motion, but always the same motion: one dead-straight, endlessly repeating line at a fixed cadence. A tracker that looks only at whether input occurred will count it, but one that looks at the shape of input treats a monotonous machine path very differently from a person nudging the trackpad while they read.

The point is not that motion is bad, it is that human input has variety and pauses built into it, and a fixed loop has neither. The detailed mechanics of how patterns are read are covered in the detection write-up in the related links.

What varied simulated input adds

A presence app supplies the input the built-in tools never generate, and it tries to look like a person rather than a metronome. Reaction moves the pointer along smooth, varied curves, types navigation keys in a living rhythm, scrolls and switches between real windows, and pauses instead of looping — so the picture between screenshots is a screen that has genuinely moved.

Reaction

Mouse jiggler

Varied cursor paths instead of one repeated line.
  • Runs only when the Mac is genuinely idle.
  • Hands control back the moment you touch the mouse.
  • Arrow and navigation keys only, never your documents.

Using sleep settings and a presence app together

The two layers solve different halves of the problem and sit happily on one machine. Sleep settings keep the display alive so screenshots and calls are not black, while simulated input holds the activity percentage steady and leaves no gap in the timeline. Neither replaces the other.

  • Energy settings: screen on, input at zero.
  • Hardware jiggler: motion, but one monotonous path.
  • Presence app: mouse, keys and windows together.

Where Reaction fits

Reaction sits in one narrow place: the stretches when you step away from the keyboard but the session should stay alive — the coffee, the stretch, the school run. It keeps a natural, human-like level of presence within a range you set, using varied cursor motion, a living keyboard rhythm, occasional scrolling and window switches, and on macOS it needs that Accessibility permission to act at all. It starts only when the Mac is genuinely idle and steps aside the instant you touch the mouse.

It does not, and cannot, make low-input work look like high-input work while you are actually at the desk doing it — that is a limit of the number, not a feature. What it does is stop a normal break from reading as an absence. Use it within your agreements.

Activity band 65–80%
A set activity range keeps the line even instead of alternating dead gaps and bursts.

In short

On a Mac, sleep tools keep the machine awake while only varied input keeps it reading as active, and the two are separate jobs. Solve sleep with caffeinate or Amphetamine, grant Accessibility permission for anything that moves the pointer, and let a presence app like Reaction cover the genuine idle stretches — within your agreements.

Let Reaction hold the number for you

Set your activity band, turn on hidden mode, and Reaction keeps a natural, human-like level while you are away — and hands control back the moment you return.

FAQ

Does caffeinate keep my activity percentage up?

No — it only prevents sleep. Trackers measure input, not screen state, so the idle clock keeps running under a lit display.

Why does a mouse jiggler app need Accessibility permission on macOS?

macOS gates synthetic input behind that consent, so no app can move the cursor or send keystrokes until you enable it under Privacy and Security, Accessibility.

Does Amphetamine move the mouse?

No. Amphetamine and Lungo block sleep and keep the display on, but they generate no input, so the idle clock keeps ticking.

Does keeping the screen on stop my Slack or Teams status going idle?

No — presence reads the time since your last keyboard or mouse event, not the brightness of the display.

Will it interfere when I come back to my Mac?

Reaction runs only during real idle time and stops at your first input, so it never fights you for the pointer.

Is a mouse jiggler for Mac safe to install?

A software jiggler is an ordinary app that needs Accessibility permission to work; on a managed Mac an MDM policy may block installing it, and it should be used within your agreements.

Reaction is a presence (anti-idle) utility. It does not override your employment contract or company policy — use it within your agreements.

Related reading

More on Activity, idle time & jigglers

Automate your presence

Keep your presence active — start today

  • Try 14 days free
  • Cancel anytime

14-day free trial · no charge until day 14 · cancel anytime.

Start 14-day trial

14 days free · $7/mo after