diff --git a/doc/api/cli.md b/doc/api/cli.md
index fcb846002aeaad..283d5b96df26f7 100644
--- a/doc/api/cli.md
+++ b/doc/api/cli.md
@@ -1345,6 +1345,15 @@ added:
 Path to a Node.js module which will be loaded in place of the built-in REPL.
 Overriding this value to an empty string (`''`) will use the built-in REPL.
 
+### `NODE_SKIP_PLATFORM_CHECK=value`
+<!-- YAML
+added: REPLACEME
+-->
+
+If `value` equals `'1'`, the check for a supported platform is skipped during
+Node.js startup. Node.js might not execute correctly. Any issues encountered
+on unsupported platforms will not be fixed.
+
 ### `NODE_TLS_REJECT_UNAUTHORIZED=value`
 
 If `value` equals `'0'`, certificate validation is disabled for TLS connections.
diff --git a/doc/node.1 b/doc/node.1
index 278061424c07c6..3af77ca2355030 100644
--- a/doc/node.1
+++ b/doc/node.1
@@ -565,6 +565,13 @@ The default path is
 which is overridden by this variable.
 Setting the value to an empty string ("" or " ") will disable persistent REPL history.
 .
+.It Ev NODE_SKIP_PLATFORM_CHECK
+When set to
+.Ar 1 ,
+the check for a supported platform is skipped during Node.js startup.
+Node.js might not execute correctly.
+Any issues encountered on unsupported platforms will not be fixed.
+.
 .It Ev NODE_TLS_REJECT_UNAUTHORIZED
 When set to
 .Ar 0 ,
diff --git a/src/node_main.cc b/src/node_main.cc
index 00f3f2a4836818..9f4ea22d12c6e8 100644
--- a/src/node_main.cc
+++ b/src/node_main.cc
@@ -27,13 +27,25 @@
 #include <VersionHelpers.h>
 #include <WinError.h>
 
+#define SKIP_CHECK_VAR "NODE_SKIP_PLATFORM_CHECK"
+#define SKIP_CHECK_SIZE 1
+#define SKIP_CHECK_VALUE "1"
+
 int wmain(int argc, wchar_t* wargv[]) {
   // Windows Server 2012 (not R2) is supported until 10/10/2023, so we allow it
   // to run in the experimental support tier.
+  char buf[SKIP_CHECK_SIZE + 1];
   if (!IsWindows8Point1OrGreater() &&
-      !(IsWindowsServer() && IsWindows8OrGreater())) {
-    fprintf(stderr, "This application is only supported on Windows 8.1, "
-                    "Windows Server 2012 R2, or higher.");
+      !(IsWindowsServer() && IsWindows8OrGreater()) &&
+      (GetEnvironmentVariableA(SKIP_CHECK_VAR, buf, sizeof(buf)) !=
+       SKIP_CHECK_SIZE ||
+       strncmp(buf, SKIP_CHECK_VALUE, SKIP_CHECK_SIZE + 1) != 0)) {
+    fprintf(stderr, "Node.js is only supported on Windows 8.1, Windows "
+                    "Server 2012 R2, or higher.\n"
+                    "Setting the " SKIP_CHECK_VAR " environment variable "
+                    "to 1 skips this\ncheck, but Node.js might not execute "
+                    "correctly. Any issues encountered on\nunsupported "
+                    "platforms will not be fixed.");
     exit(ERROR_EXE_MACHINE_TYPE_MISMATCH);
   }