Remote Control: keep the host awake with the screen off and while locked (Windows Modern Standby / S0)
Ask: an opt-in setting to keep the host computer awake while a Remote Control session is connected (and/or while plugged in) — one that holds with the screen off and while the machine is locked, AC-aware so it never drains a battery.
The problem
Remote Control (iPhone → desktop) is one of my most-used Claude Code features — and on a modern Windows laptop it quietly dies exactly when I depend on it. Within minutes of the screen turning off, or of my locking the machine, the laptop drops into Modern Standby (S0), the network goes quiet, and my phone loses the running session.
Why it's not just a bug
This is platform behavior. Nearly every laptop sold in the last ~5 years — Intel, AMD, and ARM — ships with Modern Standby and S3 sleep disabled in firmware. A normal user-session app can't hold those awake with the display off; it needs the modern Win32 power API (PowerSetRequest with PowerRequestExecutionRequired), held from a context that survives the lock screen. Claude Code has no setting for any of this today (I checked the docs and app settings). You can confirm whether a given machine is affected with powercfg /a — if it lists "Standby (S0 Low Power Idle)" and not "Standby (S3)", it's affected.
You already do this on macOS — Windows just needs parity
Claude Code already prevents the host from sleeping on macOS — it runs an automatic caffeinate-based sleep inhibitor (see #21432, which asks to make it disableable, and #64522). There's no Windows equivalent today. A naive port wouldn't be enough either: the correct Windows version has to use the modern PowerSetRequest + PowerRequestExecutionRequired API (not legacy SetThreadExecutionState) to survive Modern Standby and the lock screen. So this is really "bring the macOS sleep-inhibitor to Windows, done right for S0."
Why it's genuinely hard — and still unsolved
Even Microsoft's own PowerToys "Awake" can't keep a Modern-Standby machine awake with the screen off — it still uses the legacy SetThreadExecutionState API. I filed microsoft/PowerToys#48965 documenting exactly why. The robust fix is PowerSetRequest with PowerRequestExecutionRequired, held from a context that outlives the lock screen — very doable, just not done right anywhere yet. Claude Code can be the first.
Happy to help
To make RC reliable on my Surface Laptop 7 I built a SYSTEM scheduled-task daemon holding PowerRequestExecutionRequired, AC-aware, verified via powercfg /requests (SYSTEM + EXECUTION). Glad to share implementation notes.
Broader note: please dogfood Windows on ARM
This keep-awake gap is one of several rough edges I've hit running the Claude Code desktop app on Windows — and more so on Windows on ARM specifically. I'd strongly encourage much heavier internal dogfooding on Windows/ARM hardware; a lot of these issues surface within minutes of actually living on the platform.
Environment: Claude Code on Windows 11, Surface Laptop 7 (ARM64), Modern Standby; Claude Max. (The keep-awake gap itself is Modern-Standby-wide, not ARM-specific; the broader rough edges are Windows/ARM.)