Last updated: Mar 24, 2022
Check out my new book
The error "nodemon.ps1 cannot be loaded because running scripts is disabled on
this system" occurs when the execution policy does not allow running the
specific script on Windows. Use the
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned command to solve the
Open your PowerShell as an administrator and set its execution policy with the Set-ExecutionPolicy command.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Set-ExecutionPolicy command sets the PowerShell execution policy for the
RemoteSignedexecution policy is the default execution policy for Windows server computers. It requires that all scripts and configuration files that were downloaded from the internet are signed by a trusted publisher.
This effectively removes the execution policy of
Restricted, which doesn't
allow us to load configuration files or run scripts. The
policy is the default for Windows client computers.
If you aren't able to run the command as an administrator, try running it with
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned policy still prevents us from running unsigned scripts.
Now, run the Get-ExecutionPolicy command:
Get-ExecutionPolicy command should display the effective execution policy
for the current PowerShell session (
RemoteSignedback, then you have successfully updated your permissions and are able to run the
You can also run the command with the -List parameter to display the execution policies for each scope in the order of precedence.
-Listparameter, the command returns a list of all execution policy values for the session listed in precedence order.
The command should show that the
RemoteSigned policy is set for the default
Alternatively, you can try to delete the
C:\Users\Your_User_Name\AppData\Roaming\npm\nodemon.ps1 file and restart your
Make sure to replace the
Your_User_Name placeholder with your actual username.
After restarting your terminal, try running the command again.
If that doesn't help, clear your npm cache and re-run the command.
# 👇️ clean npm cache npm cache clean --force
If nothing else works, you can try to set the execution policy to
Unrestricted, which means that the system would allow unsigned PowerShell
scripts to run.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Starting with PowerShell 6.0,
Unrestricted is the default execution policy for
non-Windows computers and can't be changed.
The policy loads all configuration files and runs all scripts. If you run an unsigned script that was downloaded from the internet, you would still get prompted for permission before it runs.