Keeps NVIDIA Instant Replay (ShadowPlay) switched on.
HDCP-protected players — Netflix, Disney+, Prime Video and friends — silently turn Instant Replay off when they take over the screen, and NVIDIA never turns it back on. ShadowFix watches NVIDIA's own registry flag and re-enables Instant Replay the moment it notices it's been switched off.
- Every 15 seconds it reads NVIDIA's live Instant Replay flag from the
registry (
HKCU\Software\NVIDIA Corporation\Global\ShadowPlay\NVSPCAPS). - If the flag is off, it re-presses your Instant Replay toggle hotkey
(
Alt+Shift+F10by default) to switch it back on. - It skips doing so while a browser or streaming app is the focused window. That's deliberate: forcing Instant Replay back on on top of HDCP content just gets blocked again. ShadowFix waits until you tab away from the player, then quietly re-enables.
-
Windows with an NVIDIA GPU and the NVIDIA app / GeForce Experience overlay (ShadowPlay) installed.
-
AutoHotkey v2 — v1 will not run this script. Install with:
winget install AutoHotkey.AutoHotkey
(v1 and v2 install side by side, so this won't disturb any existing v1 setup.)
From this folder, in PowerShell:
.\Install-ShadowFix.ps1This creates a shortcut in your Startup folder that launches ShadowFix with AutoHotkey v2 at every login, and starts it immediately. To remove it:
.\Uninstall-ShadowFix.ps1Press Win+R, type shell:startup, and drop a shortcut to
ShadowFix.ahk in that folder. Make the shortcut target the v2 interpreter
explicitly so AutoHotkey v1 doesn't grab it:
"C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe" "C:\path\to\ShadowFix.ahk"
All settings live at the top of ShadowFix.ahk:
| Setting | Default | Notes |
|---|---|---|
CHECK_INTERVAL |
15000 |
Poll interval in milliseconds. |
TOGGLE_HOTKEY |
"!+{F10}" |
Must match the overlay's Instant Replay toggle (Alt+Z → Settings → Keyboard shortcuts). ! = Alt, + = Shift. |
REG_NAME |
"{1B1D3DAA-601D-49E5-8508-81736CA28C6D}" |
The registry value that tracks the live Instant Replay state. See below. |
BLOCKED_PROCESSES |
(empty) | Focused apps ShadowFix won't re-toggle over. Add HDCP-protected players (browsers, Netflix, etc.) if you want it to wait until you tab away. See the comments in the script for the format. |
BLOCKED_TITLES |
(empty) | Active-window title substrings that also block re-toggling. Empty by default. |
DEBUG |
false |
Set true to log actions to ShadowFix.log. |
NVIDIA does not expose a value literally named ShadowPlayActive. Most of
the friendly-named values under NVSPCAPS — DwmDvrEnabledV1,
IsShadowPlayEnabled, RecEnabled and friends — are user preferences and
stay at 1 even when Instant Replay is actually off. Polling them never works.
The flag that reflects the live state is GUID-named:
{1B1D3DAA-601D-49E5-8508-81736CA28C6D}, stored as a 4-byte REG_BINARY
(01 00 00 00 = on, 00 00 00 00 = off). That's what ShadowFix watches by
default.
If your machine uses a different GUID, confirm empirically:
.\tools\Detect-ShadowPlayValue.ps1It scans every value in NVSPCAPS, asks you to toggle Instant Replay off, and
reports exactly which one flipped. Put that name in REG_NAME.