Copy & Paste — Actually Works

Keep Slack Active

A one-line terminal command that genuinely prevents Slack from showing you as Away. No install, no browser gimmicks.

A note on this tool: This is for professionals who are working, just not at their desk. Slack's 30-minute idle logic marks you Away when you're on a call, reading, or briefly away from your keyboard. This tool prevents that.

Enhanced Options (for better detection avoidance)

Base signal every:

How to use — 3 steps

1

Open PowerShell

Press Win + X → click "Terminal" or "PowerShell"

2

Paste the command & press Enter

Click "Generate Enhanced Slack Script" above, then copy it

3

You're done — Slack stays green

A dot . prints each cycle so you know it's working. Press Ctrl + C to stop anytime.

Why Enhanced Options Help

  • Input Shuffling: Alternates between mouse movement, keyboard input, and scrolling to avoid predictable patterns
  • Timing Jitter: Adds random variation to intervals (±3 seconds) to make activity less regular
  • Window-specific detection: Only activates when the target app window is detected
  • Randomized movement: Mouse movement is randomized in direction and distance rather than fixed patterns

Nothing leaves your browser. The script is generated client-side. No data is sent to our servers. The command runs entirely on your machine and stops the moment you press Ctrl+C.

Out of the office but still in your head? Record your thoughts as a voice memo and let FifthDraft turn them into structured notes or a project brief when you're back.

Try FifthDraft Free

Why Does Slack Mark You as Away?

Slack detects user activity using OS-level idle time through Electron's powerMonitor.getSystemIdleTime() API. On Windows, this wraps GetLastInputInfo(); on macOS, it reads the IOKit idle timer. After approximately 30 minutes of no mouse or keyboard input anywhere on your system, Slack automatically changes your status from Active (green dot) to Away.

It's worth understanding the difference between Slack's Away status and Snooze. Away is automatic and triggered by system-wide inactivity — you can't manually set it. Snooze is a deliberate, manual setting that mutes notifications. This tool addresses the automatic Away status, not Snooze.

How These Scripts Actually Work

Unlike browser-based tools that fire sandboxed DOM events, these terminal commands operate at the OS level:

  • Windows (PowerShell): Uses .NET P/Invoke to call the Win32 SendInput() API directly. This injects a real mouse movement event into the OS input queue, resetting GetLastInputInfo() — which Slack reads via Electron to determine your idle state. The movement is 1 pixel right then 1 pixel left — invisible but registered as genuine input.
  • macOS: Uses caffeinate -u, a built-in macOS utility that asserts "user is active" to the IOKit power management system. This resets the system idle timer that Slack reads via Electron's powerMonitor.getSystemIdleTime(). No additional installs needed.
  • Linux: Uses xdotool to generate X11 input events that move the mouse 1 pixel right, then 1 pixel back. These are real X server events that reset the X idle timer.

Why Browser-Based Tools Don't Work

Many websites offer "keep active" tools that run in your browser tab. These typically dispatch synthetic mouse events, draw pixels on hidden canvases, and use the Screen Wake Lock API. While they show convincing dashboards with signal counts and timers, none of these techniques reset the OS idle timer.

JavaScript runs inside a browser security sandbox. Synthetic events exist only within the browser's DOM — they never reach the Windows input subsystem or macOS IOKit. The Wake Lock API prevents screen dimming but doesn't generate input events. Slack desktop doesn't monitor browser tabs — it reads the OS idle timer directly through Electron.

How to Use (30 Seconds)

  1. 1. Open your terminal (PowerShell on Windows, Terminal on Mac/Linux)
  2. 2. Copy the command from the generator above
  3. 3. Paste it and press Enter
  4. 4. You'll see a dot printed each cycle — confirming it's running
  5. 5. Press Ctrl+C when you're done to stop it

That's it. No installs, no admin rights, no background services. The command runs in your terminal and stops the instant you close it or press Ctrl+C.

Frequently Asked Questions

Can my employer detect this?

The script generates real mouse movements identical to you nudging your mouse. Standard monitoring tools cannot distinguish it from normal activity. Unlike installed software, a terminal one-liner doesn't appear in software inventories. Always use your best judgment based on your organization's policies.

Does this work for Microsoft Teams too?

Yes — Teams desktop also reads the OS idle timer (via GetLastInputInfo on Windows). The same scripts work. We also have a dedicated Keep Microsoft Teams Active page.

Is this better than a USB mouse jiggler?

A hardware mouse jiggler also works (it generates real HID input events). The advantage of this script is that it's free, requires no hardware, and you can stop it instantly. The advantage of hardware is that it works even if your company restricts terminal execution.

Does the PowerShell script need admin rights?

No. SendInput works from a regular user PowerShell session. No elevated privileges required.

Will I see my mouse moving?

The script moves the cursor 1 pixel right, then 1 pixel left — a net movement of zero. You won't notice it visually, but the OS registers it as real input activity.

Does FifthDraft collect any data?

No. The script is generated in your browser. Nothing is sent to our servers. The command runs entirely on your machine.