Keep Slack green and active on Mac

Slack updates your presence based on what your computer is doing. Go idle, lock your screen, or step away for a few minutes, and Slack quietly flips your dot to Away. Come back and it switches you to Active again. Most of the time that works exactly as intended - but sometimes you are right there, just reading or on a call, and you did not mean to go Away.

Why Slack marks you away

Slack watches two things: your computer's idle state and your screen lock. When your Mac has not received keyboard or mouse input for a few minutes, macOS marks the system as idle. If your screen then locks, Slack goes a step further and marks you Away immediately.

This is intentional Slack behavior: they want presence to be honest. The problem is that "honest" from Slack's perspective does not match "honest" from yours when you are genuinely present but just not touching the keyboard.

Why keep-awake apps do not help

Apps like Amphetamine and Caffeine are great for preventing sleep. They talk to the macOS power assertion system and tell it to keep the display on. What they do not do is reset the system idle timer, which is the count of seconds since your last input.

Slack reads the idle timer to decide your status. A keep-awake app never touches that timer, so Slack still sees idle time accumulating and still marks you Away. Your screen may stay on, but your dot goes yellow anyway.

What actually keeps your Slack status green

To stay Active in Slack, something needs to reset that idle timer directly. When the timer resets, Slack (and every other presence-aware app) reads you as active.

Stay Green does this invisibly. When you have actually gone idle, it sends a single synthetic F15 keypress and a zero-distance mouse move - neither of which you see or feel - to reset the idle timer. Your Slack status stays green. Nothing moves on screen, there is no cursor drift, and Stay Green sits quietly in the menu bar with no Dock icon.

One reset covers all your chat apps at once: Teams, Slack, Zoom, and Discord all read the same system idle timer.

A note on cloud "keep Slack green" tools

There are cloud-based services that promise to keep your Slack status green by polling and updating it via the Slack API. They hold an OAuth token on their servers that lets them set your presence on your behalf.

The practical concern there is trust: an OAuth token with presence permissions can also read your Slack profile data, and that token lives on someone else's server. For a lot of people, that is a bigger trade-off than it sounds.

Stay Green takes the opposite approach: everything stays on your Mac. The only outbound traffic is an update check and a license check. There is no token, no account, and no third-party server that needs to stay up for your status to stay green.

Auto-pause and scheduling

Stay Green does not just run blindly. If you have genuinely been away for an extended period, it pauses itself so you do not show as Active at midnight or over a long weekend. You can also set active hours so it only runs during your workday.

Is it allowed?

Check your workplace policy if you are unsure. Some workplaces have rules about activity simulation, and it is worth being clear-eyed about that. Stay Green is designed for the honest case: you are present but just not at the keyboard - reading a doc, taking a call on your phone, in a long meeting with your laptop closed. When you have actually left for the day, it pauses itself.

See also: keep Microsoft Teams green on Mac and mouse jiggler alternative for Mac if you want to understand all your options.