6.0.0
diff --git a/bazel/MODULE.bazel b/bazel/MODULE.bazel
index 496ac02..865a409 100644
--- a/bazel/MODULE.bazel
+++ b/bazel/MODULE.bazel
@@ -1,6 +1,6 @@
 module(
     name = "emsdk",
-    version = "5.0.7",
+    version = "6.0.0",
 )
 
 bazel_dep(name = "platforms", version = "1.0.0")
diff --git a/bazel/emscripten_cache.bzl b/bazel/emscripten_cache.bzl
index 06ebb17..7ac0004 100644
--- a/bazel/emscripten_cache.bzl
+++ b/bazel/emscripten_cache.bzl
@@ -40,7 +40,7 @@
         else:
             fail("Unsupported architecture for MacOS")
     elif repository_ctx.os.name.startswith("windows"):
-        return (repository_ctx.path(Label("@emscripten_bin_win//:BUILD.bazel")).dirname, ".bat")
+        return (repository_ctx.path(Label("@emscripten_bin_win//:BUILD.bazel")).dirname, ".exe")
     else:
         fail("Unsupported operating system")
 
diff --git a/bazel/revisions.bzl b/bazel/revisions.bzl
index a47000a..cb3b69d 100644
--- a/bazel/revisions.bzl
+++ b/bazel/revisions.bzl
@@ -2,6 +2,14 @@
 # DO NOT MODIFY
 
 EMSCRIPTEN_TAGS = {
+    "6.0.0": struct(
+        hash = "73c22ca7dc922dd5bc1bd9a82ef23f63897a2cd2",
+        sha_linux = "44e47892f3ead3743ccf917b65c85ec6b7a6099e0e0b29e09714d5f476f66544",
+        sha_linux_arm64 = "3f6088bfbc91128e618adc07ab6640054d5a5ed957e3555b35eedff27f4854cd",
+        sha_mac = "1626d12ff8c6a085d4433ff1e0d6acb99a1f2dd271b34fb3a9c89d7994b294c2",
+        sha_mac_arm64 = "c3e58e2d2d576b2bb472fe0b84041a9b34817510b28d769e06bc82bac9ce8b79",
+        sha_win = "296114aefc3c8ea670a945bff9e88bd5d32dd692288872a388c81273224773ba",
+    ),
     "5.0.7": struct(
         hash = "6cd98e86d7749ff98b82b7f2ae78eb4f01942788",
         sha_linux = "f96cc4df9263e386d70ad37c731959886cb2a7e983b7a68bdc9ccf32402be1bd",
diff --git a/emscripten-releases-tags.json b/emscripten-releases-tags.json
index 154613f..d3350ab 100644
--- a/emscripten-releases-tags.json
+++ b/emscripten-releases-tags.json
@@ -1,6 +1,6 @@
 {
   "aliases": {
-    "latest": "5.0.7",
+    "latest": "6.0.0",
     "latest-sdk": "latest",
     "latest-arm64-linux": "latest",
     "latest-64bit": "latest",
@@ -10,6 +10,8 @@
     "latest-releases-upstream": "latest"
   },
   "releases": {
+    "6.0.0": "73c22ca7dc922dd5bc1bd9a82ef23f63897a2cd2",
+    "6.0.0-asserts": "42775e7924fe78d203056faad22e1e5103a726b5",
     "5.0.7": "6cd98e86d7749ff98b82b7f2ae78eb4f01942788",
     "5.0.7-asserts": "8f07fe77a9ba5f112a6f0582c2920979582a8682",
     "5.0.6": "1724b50443d92e23ef2a56abf0dc501206839cef",
diff --git a/test/test.py b/test/test.py
index 432b056..3f22829 100755
--- a/test/test.py
+++ b/test/test.py
@@ -133,8 +133,8 @@
   check_call([emsdk, *cmd])
 
 
-def upstream_emcc():
-  emcc = os.path.join('upstream', 'emscripten', 'emcc')
+def upstream_emcc(root='.'):
+  emcc = os.path.join(root, 'upstream', 'emscripten', 'emcc')
   if WINDOWS:
     if os.path.exists(emcc + '.exe'):
       return emcc + '.exe'
@@ -186,9 +186,7 @@
     check_call([emsdk, 'activate', 'latest'])
 
     # Check that emcc exists in the expected location
-    emcc = os.path.join(longpath, 'upstream', 'emscripten', 'emcc')
-    if WINDOWS:
-      emcc += '.bat'
+    emcc = upstream_emcc(longpath)
     print(emcc)
     self.assertTrue(os.path.exists(emcc))