diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js
index db371dda6e85ee7dc3a5d977a6868f1b539edfd5..e3427ec1b598bd26f8ecf064d06c0e0ab497b1b4 100644
--- a/packages/react-scripts/config/webpack.config.dev.js
+++ b/packages/react-scripts/config/webpack.config.dev.js
@@ -225,7 +225,8 @@ module.exports = {
               {
                 loader: require.resolve('thread-loader'),
                 options: {
-                  poolTimeout: Infinity // keep workers alive for more effective watch mode
+                  poolTimeout: Infinity, // keep workers alive for more effective watch mode
+                  workers: process.env.CI && 2, // prevent CI builds from crashing
                 },
               },
               {
@@ -266,7 +267,8 @@ module.exports = {
               {
                 loader: require.resolve('thread-loader'),
                 options: {
-                  poolTimeout: Infinity // keep workers alive for more effective watch mode
+                  poolTimeout: Infinity, // keep workers alive for more effective watch mode
+                  workers: process.env.CI && 2, // prevent CI builds from crashing
                 },
               },
               {
diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js
index 86869748c66e6153fe5628c28fa59c4321613f1f..6b34487ffcc84fdcd016603f75dcbf3d7c1df05d 100644
--- a/packages/react-scripts/config/webpack.config.prod.js
+++ b/packages/react-scripts/config/webpack.config.prod.js
@@ -261,7 +261,12 @@ module.exports = {
             use: [
               // This loader parallelizes code compilation, it is optional but
               // improves compile time on larger projects
-              require.resolve('thread-loader'),
+              {
+                loader: require.resolve('thread-loader'),
+                options: {
+                  workers: process.env.CI && 2, // prevent CI builds from crashing
+                },
+              },
               {
                 loader: require.resolve('babel-loader'),
                 options: {
@@ -294,7 +299,12 @@ module.exports = {
             use: [
               // This loader parallelizes code compilation, it is optional but
               // improves compile time on larger projects
-              require.resolve('thread-loader'),
+              {
+                loader: require.resolve('thread-loader'),
+                options: {
+                  workers: process.env.CI && 2, // prevent CI builds from crashing
+                },
+              },
               {
                 loader: require.resolve('babel-loader'),
                 options: {