A Windows endpoint running the CrowdStrike Falcon sensor bug checks and reboots, showing:
PAGE_FAULT_IN_NONPAGED_AREA
What failed: csagent.sys
Often the machine then boot-loops, crashing again before the desktop appears. This guide covers recovering an affected endpoint without removing endpoint protection.
Before you start: every step below needs local administrator rights and console access, and most need the BitLocker recovery key. Retrieve your recovery keys first. Nothing here should be run casually on a production endpoint — this is a recovery procedure, not routine maintenance.
Why This Happens
csagent.sys is the CrowdStrike Falcon sensor's kernel-mode driver. Kernel drivers have no isolation from the rest of the operating system, so a memory fault inside one triggers a bug check — the blue screen — rather than a contained application crash.
PAGE_FAULT_IN_NONPAGED_AREA (bug check 0x50) means the driver referenced a memory address that was not valid. When csagent.sys is named as the failing module, the cause is nearly always one of:
- A malformed channel file. CrowdStrike delivers rapid-response content as channel files, separate from sensor version upgrades. A corrupt or malformed channel file can drive the sensor into an invalid memory access on load. This is the cause of the well-known widespread outage, and it is by far the most common reason you will see this stop code.
- A sensor/kernel mismatch after a Windows update or a sensor upgrade that has not been certified against the running build.
- A conflicting kernel-mode driver, typically a second EDR or AV product running alongside Falcon.
- Genuinely faulty RAM, which produces
0x50with whichever driver happened to touch the bad page. This is uncommon but worth ruling out on a single isolated machine.
The distinction that matters operationally: many machines crashing at once points to content, while one machine crashing repeatedly points to hardware or a local conflict.
Fix 1: Reboot and Let the Sensor Recover
Try this first, because it sometimes works and costs nothing. If the machine can reach the network during boot before the fault occurs, the sensor may pull a corrected channel file automatically.
Reboot up to three times, allowing a couple of minutes at the login screen each time. If the machine stabilises, verify the sensor afterwards using Fix 5 below. If it crashes on every attempt, move on.
Fix 2: Remove the Bad Channel File in Safe Mode
This is the supported remediation. It leaves the sensor installed and removes only the offending content file.
- Boot into Safe Mode with Networking. Interrupt boot three times to reach the Windows Recovery Environment, then choose Troubleshoot → Advanced options → Startup Settings → Restart, and press 5 for Safe Mode with Networking.
- Enter the BitLocker recovery key if prompted.
- Open an administrative Command Prompt and navigate to the sensor's driver directory:
cd C:\Windows\System32\drivers\CrowdStrike
- List the channel files to see what is present before changing anything:
dir C-00000291*.sys
- Delete the matching file if one is listed:
del C-00000291*.sys
- Reboot normally.
The sensor remains installed throughout. On the next successful boot it contacts the CrowdStrike cloud and downloads a replacement channel file, restoring full functionality.
Only delete files matching the specific channel pattern you are remediating. Do not delete csagent.sys itself, and do not empty the CrowdStrike directory — that breaks the sensor rather than fixing it.
Fix 3: Use the Recovery Environment Command Prompt
If Safe Mode itself will not load, do the same removal from WinRE:
- Boot to Windows Recovery Environment (interrupt boot three times, or use installation media).
- Choose Troubleshoot → Advanced options → Command Prompt.
- Supply the BitLocker recovery key when asked.
- Identify the Windows volume — in WinRE it is frequently not
C::
diskpart
list volume
exit
- Navigate to the correct volume and remove the file, substituting the right drive letter:
D:
cd D:\Windows\System32\drivers\CrowdStrike
dir C-00000291*.sys
del C-00000291*.sys
- Exit and restart.
Fix 4: Repair Virtual Machines Offline
Machines you cannot physically reach need the disk handled from outside:
- On-premises hypervisors: use the hypervisor console (vSphere, Hyper-V Manager) to reach Safe Mode exactly as you would at a physical keyboard.
- Cloud VMs: detach the OS disk, attach it as a data disk to a healthy VM in the same region, delete the channel file from the mounted volume, then reattach it to the original machine.
- Golden images: repair the image itself before redeploying, or every new machine reproduces the fault.
For encrypted cloud disks you still need the recovery key to mount the volume on the rescue VM.
Fix 5: Verify the Sensor Is Healthy Again
Recovery is not complete until the sensor is running and reporting. On the repaired endpoint:
sc query csagent
STATE should read RUNNING. If it is stopped:
net start csagent
Then confirm the host is checking in from the Falcon console under Hosts → Host Management — the endpoint should show as connected with a recent check-in time. A machine that boots but no longer reports is still unprotected, which is why this step matters as much as stopping the crash. See verifying the Falcon sensor is running properly for the full check across Windows, macOS and Linux.
If It Is a Single Machine, Not a Fleet
One endpoint crashing repeatedly while everything else is fine points somewhere different. Test memory, since 0x50 is a classic symptom of failing RAM:
mdsched.exe
Then check for a second kernel-mode security product. Two EDR agents in kernel space is an unsupported configuration that produces exactly this class of fault; remove the redundant agent rather than the one you intend to keep.
Finally, capture the dump for evidence before making further changes — the minidumps in C:\Windows\Minidump are what CrowdStrike support will ask for.
Prevention
- Escrow BitLocker keys and test the retrieval process. In a fleet-wide event, the constraint is almost never the deletion command — it is getting into the machines.
- Stage sensor updates in rings. Sensor update policies let you validate a version on a pilot group first. Note that this controls sensor versions; rapid-response channel content is delivered separately and is not held back by an N-1 policy.
- Do not run two kernel-mode EDR agents. During a migration, put one product in passive mode rather than leaving both active.
- Keep console and out-of-band access working. iDRAC, iLO, hypervisor consoles and cloud serial console access are what make a fleet-wide recovery hours instead of days.
- Never remediate by uninstalling the sensor. It converts a boot problem into a security gap, and the channel-file removal achieves the same recovery without one.