diff --git a/src/ast/builtin.cc b/src/ast/builtin.cc
index e579f9c..b0844cf 100644
--- a/src/ast/builtin.cc
+++ b/src/ast/builtin.cc
@@ -47,10 +47,6 @@
       out << "frag_depth";
       break;
     }
-    case Builtin::kNumWorkgroups: {
-      out << "num_workgroups";
-      break;
-    }
     case Builtin::kWorkgroupSize: {
       out << "workgroup_size";
       break;
diff --git a/src/ast/builtin.h b/src/ast/builtin.h
index 511203a..7fb3fe5 100644
--- a/src/ast/builtin.h
+++ b/src/ast/builtin.h
@@ -29,7 +29,6 @@
   kFrontFacing,
   kFragCoord,
   kFragDepth,
-  kNumWorkgroups,
   kWorkgroupSize,
   kLocalInvocationId,
   kLocalInvocationIdx,
diff --git a/src/reader/spirv/enum_converter.cc b/src/reader/spirv/enum_converter.cc
index b52af7b..2b54362 100644
--- a/src/reader/spirv/enum_converter.cc
+++ b/src/reader/spirv/enum_converter.cc
@@ -80,8 +80,6 @@
       return ast::Builtin::kFragCoord;
     case SpvBuiltInFragDepth:
       return ast::Builtin::kFragDepth;
-    case SpvBuiltInNumWorkgroups:
-      return ast::Builtin::kNumWorkgroups;
     case SpvBuiltInWorkgroupSize:
       return ast::Builtin::kWorkgroupSize;
     case SpvBuiltInLocalInvocationId:
diff --git a/src/reader/spirv/enum_converter_test.cc b/src/reader/spirv/enum_converter_test.cc
index fc9b076..fb9c8d0 100644
--- a/src/reader/spirv/enum_converter_test.cc
+++ b/src/reader/spirv/enum_converter_test.cc
@@ -215,8 +215,6 @@
         BuiltinCase{SpvBuiltInFrontFacing, true, ast::Builtin::kFrontFacing},
         BuiltinCase{SpvBuiltInFragCoord, true, ast::Builtin::kFragCoord},
         BuiltinCase{SpvBuiltInFragDepth, true, ast::Builtin::kFragDepth},
-        BuiltinCase{SpvBuiltInNumWorkgroups, true,
-                    ast::Builtin::kNumWorkgroups},
         BuiltinCase{SpvBuiltInWorkgroupSize, true,
                     ast::Builtin::kWorkgroupSize},
         BuiltinCase{SpvBuiltInLocalInvocationId, true,
@@ -226,11 +224,12 @@
         BuiltinCase{SpvBuiltInGlobalInvocationId, true,
                     ast::Builtin::kGlobalInvocationId}));
 
-INSTANTIATE_TEST_SUITE_P(EnumConverterBad,
-                         SpvBuiltinTest,
-                         testing::Values(BuiltinCase{
-                             static_cast<SpvBuiltIn>(9999), false,
-                             ast::Builtin::kNone}));
+INSTANTIATE_TEST_SUITE_P(
+    EnumConverterBad,
+    SpvBuiltinTest,
+    testing::Values(
+        BuiltinCase{static_cast<SpvBuiltIn>(9999), false, ast::Builtin::kNone},
+        BuiltinCase{SpvBuiltInNumWorkgroups, false, ast::Builtin::kNone}));
 
 }  // namespace
 }  // namespace spirv
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index b3fca96..66f14e8 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -86,9 +86,6 @@
   if (str == "frag_depth") {
     return ast::Builtin::kFragDepth;
   }
-  if (str == "num_workgroups") {
-    return ast::Builtin::kNumWorkgroups;
-  }
   if (str == "workgroup_size") {
     return ast::Builtin::kWorkgroupSize;
   }
diff --git a/src/reader/wgsl/parser_impl_variable_decoration_test.cc b/src/reader/wgsl/parser_impl_variable_decoration_test.cc
index dc1a5b0..6775009 100644
--- a/src/reader/wgsl/parser_impl_variable_decoration_test.cc
+++ b/src/reader/wgsl/parser_impl_variable_decoration_test.cc
@@ -101,7 +101,6 @@
         BuiltinData{"front_facing", ast::Builtin::kFrontFacing},
         BuiltinData{"frag_coord", ast::Builtin::kFragCoord},
         BuiltinData{"frag_depth", ast::Builtin::kFragDepth},
-        BuiltinData{"num_workgroups", ast::Builtin::kNumWorkgroups},
         BuiltinData{"workgroup_size", ast::Builtin::kWorkgroupSize},
         BuiltinData{"local_invocation_id", ast::Builtin::kLocalInvocationId},
         BuiltinData{"local_invocation_idx", ast::Builtin::kLocalInvocationIdx},
diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc
index 4329e2a..11f29f3 100644
--- a/src/writer/msl/generator_impl.cc
+++ b/src/writer/msl/generator_impl.cc
@@ -1258,10 +1258,6 @@
       return "position";
     case ast::Builtin::kFragDepth:
       return "depth(any)";
-    // TODO(dsinclair): Ignore for now, I believe it will be removed from WGSL
-    // https://github.com/gpuweb/gpuweb/issues/920
-    case ast::Builtin::kNumWorkgroups:
-      return "";
     // TODO(dsinclair): Ignore for now. This has been removed as a builtin
     // in the spec. Need to update Tint to match.
     // https://github.com/gpuweb/gpuweb/pull/824
diff --git a/src/writer/msl/generator_impl_test.cc b/src/writer/msl/generator_impl_test.cc
index 575264c..922ca9d 100644
--- a/src/writer/msl/generator_impl_test.cc
+++ b/src/writer/msl/generator_impl_test.cc
@@ -116,7 +116,6 @@
                     MslBuiltinData{ast::Builtin::kFrontFacing, "front_facing"},
                     MslBuiltinData{ast::Builtin::kFragCoord, "position"},
                     MslBuiltinData{ast::Builtin::kFragDepth, "depth(any)"},
-                    MslBuiltinData{ast::Builtin::kNumWorkgroups, ""},
                     MslBuiltinData{ast::Builtin::kWorkgroupSize, ""},
                     MslBuiltinData{ast::Builtin::kLocalInvocationId,
                                    "thread_position_in_threadgroup"},
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index 8183daa..745cb8a 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -2086,8 +2086,6 @@
       return SpvBuiltInFragCoord;
     case ast::Builtin::kFragDepth:
       return SpvBuiltInFragDepth;
-    case ast::Builtin::kNumWorkgroups:
-      return SpvBuiltInNumWorkgroups;
     case ast::Builtin::kWorkgroupSize:
       return SpvBuiltInWorkgroupSize;
     case ast::Builtin::kLocalInvocationId:
diff --git a/src/writer/spirv/builder_global_variable_test.cc b/src/writer/spirv/builder_global_variable_test.cc
index 8618f39..703dc5d 100644
--- a/src/writer/spirv/builder_global_variable_test.cc
+++ b/src/writer/spirv/builder_global_variable_test.cc
@@ -387,7 +387,6 @@
         BuiltinData{ast::Builtin::kFrontFacing, SpvBuiltInFrontFacing},
         BuiltinData{ast::Builtin::kFragCoord, SpvBuiltInFragCoord},
         BuiltinData{ast::Builtin::kFragDepth, SpvBuiltInFragDepth},
-        BuiltinData{ast::Builtin::kNumWorkgroups, SpvBuiltInNumWorkgroups},
         BuiltinData{ast::Builtin::kWorkgroupSize, SpvBuiltInWorkgroupSize},
         BuiltinData{ast::Builtin::kLocalInvocationId,
                     SpvBuiltInLocalInvocationId},
