diff --git a/site/docs/platforms.md b/site/docs/platforms.md
index 4c3079e..777a6eb 100644
--- a/site/docs/platforms.md
+++ b/site/docs/platforms.md
@@ -88,35 +88,36 @@
 platform(
     name = "linux_x86",
     constraint_values = [
-        "@bazel_tools//platforms:linux",
-        "@bazel_tools//platforms:x86_64",
+        "@platforms//os:linux",
+        "@platforms//cpu:x86_64",
         ":glibc_2_25",
     ],
 )
 ```
 
 Note that it is an error for a platform to specify more than one value of the
-same constraint setting, such as `@bazel_tools//platforms:x86_64` and
-`@bazel_tools//platforms:arm` for `@bazel_tools//platforms:cpu`.
+same constraint setting, such as `@platforms//cpu:x86_64` and
+`@platforms//cpu:arm` for `@platforms//cpu:cpu`.
 
 ## Built-in constraints and platforms
 
 Bazel ships with constraint definitions for the most popular CPU architectures
-and operating systems. These are all located in the package
-`@bazel_tools//platforms`:
+and operating systems. These are all located in the repository
+`@platforms`. This repository is developed at
+[github.com/bazelbuild/platforms](https://github.com/bazelbuild/platforms):
 
-*  `:cpu` for the CPU architecture, with values `:x86_32`, `:x86_64`, `:ppc`,
-   `:arm`, `:s390x`
-*  `:os` for the operating system, with values `:android`, `:freebsd`, `:ios`,
-   `:linux`, `:osx`, `:windows`
+*  `//cpu:cpu` for the CPU architecture, with values `//cpu:x86_32`,
+   `//cpu:x86_64`, `//cpu:ppc`, `//cpu:arm`, `//cpu:s390x`
+*  `//os:os` for the operating system, with values `//os:android`,
+   `//os:freebsd`, `//os:ios`, `//os:linux`, `//os:osx`, `//os:windows`
 
 There are also the following special platform definitions:
 
-*  `:host_platform` - represents the CPU and operating system for the host
-   environment
+*  `@bazel_tools//platforms:host_platform` - represents the CPU and operating
+   system for the host environment
 
-*  `:target_platform` - represents the CPU and operating system for the target
-   environment
+*  `@bazel_tools//platforms:target_platform` - represents the CPU and operating
+   system for the target environment
 
 The CPU values used by these two platforms can be specified with the
 `--host_cpu` and `--cpu` flags.
diff --git a/site/docs/toolchains.md b/site/docs/toolchains.md
index 998f623..747af15 100644
--- a/site/docs/toolchains.md
+++ b/site/docs/toolchains.md
@@ -104,14 +104,14 @@
 config_setting(
     name = "on_linux",
     constraint_values = [
-        "@bazel_tools//platforms:linux",
+        "@platforms//os:linux",
     ],
 )
 
 config_setting(
     name = "on_windows",
     constraint_values = [
-        "@bazel_tools//platforms:windows",
+        "@platforms//os:windows",
     ],
 )
 
@@ -276,12 +276,12 @@
 toolchain(
     name = "barc_linux_toolchain",
     exec_compatible_with = [
-        "@bazel_tools//platforms:linux",
-        "@bazel_tools//platforms:x86_64",
+        "@platforms//os:linux",
+        "@platforms//cpu:x86_64",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:linux",
-        "@bazel_tools//platforms:x86_64",
+        "@platforms//os:linux",
+        "@platforms//cpu:x86_64",
     ],
     toolchain = ":barc_linux",
     toolchain_type = ":toolchain_type",
@@ -290,12 +290,12 @@
 toolchain(
     name = "barc_windows_toolchain",
     exec_compatible_with = [
-        "@bazel_tools//platforms:windows",
-        "@bazel_tools//platforms:x86_64",
+        "@platforms//os:windows",
+        "@platforms//cpu:x86_64",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:windows",
-        "@bazel_tools//platforms:x86_64",
+        "@platforms//os:windows",
+        "@platforms//cpu:x86_64",
     ],
     toolchain = ":barc_windows",
     toolchain_type = ":toolchain_type",
@@ -336,7 +336,7 @@
 platform(
     name = "my_target_platform",
     constraint_values = [
-        "@bazel_tools//platforms:linux",
+        "@platforms//os:linux",
     ],
 )
 
@@ -351,7 +351,7 @@
 ```
 
 Bazel will see that `//my_pkg:my_bar_binary` is being built with a platform that
-has `@bazel_tools//platforms:linux` and therefore resolve the
+has `@platforms//os:linux` and therefore resolve the
 `//bar_tools:toolchain_type` reference to `//bar_tools:barc_linux_toolchain`.
 This will end up building `//bar_tools:barc_linux` but not
 `//barc_tools:barc_windows`.
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
index c03f9ed..61b9d94 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
@@ -69,6 +69,18 @@
   public boolean mergeGenfilesDirectory;
 
   @Option(
+      name = "incompatible_use_platforms_repo_for_constraints",
+      defaultValue = "false",
+      documentationCategory = OptionDocumentationCategory.OUTPUT_PARAMETERS,
+      effectTags = {OptionEffectTag.AFFECTS_OUTPUTS},
+      metadataTags = {
+        OptionMetadataTag.INCOMPATIBLE_CHANGE,
+        OptionMetadataTag.TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES
+      },
+      help = "If true, constraint settings from @bazel_tools are removed.")
+  public boolean usePlatformsRepoForConstraints;
+
+  @Option(
       name = "define",
       converter = Converters.AssignmentConverter.class,
       defaultValue = "",
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunction.java
index 1209c5d..3537991 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunction.java
@@ -81,17 +81,17 @@
   static String cpuToConstraint(CPU cpu) {
     switch (cpu) {
       case X86_32:
-        return "@bazel_tools//platforms:x86_32";
+        return "@platforms//cpu:x86_32";
       case X86_64:
-        return "@bazel_tools//platforms:x86_64";
+        return "@platforms//cpu:x86_64";
       case PPC:
-        return "@bazel_tools//platforms:ppc";
+        return "@platforms//cpu:ppc";
       case ARM:
-        return "@bazel_tools//platforms:arm";
+        return "@platforms//cpu:arm";
       case AARCH64:
-        return "@bazel_tools//platforms:aarch64";
+        return "@platforms//cpu:aarch64";
       case S390X:
-        return "@bazel_tools//platforms:s390x";
+        return "@platforms//cpu:s390x";
       default:
         // Unknown, so skip it.
         return null;
@@ -102,13 +102,13 @@
   static String osToConstraint(OS os) {
     switch (os) {
       case DARWIN:
-        return "@bazel_tools//platforms:osx";
+        return "@platforms//os:osx";
       case FREEBSD:
-        return "@bazel_tools//platforms:freebsd";
+        return "@platforms//os:freebsd";
       case LINUX:
-        return "@bazel_tools//platforms:linux";
+        return "@platforms//os:linux";
       case WINDOWS:
-        return "@bazel_tools//platforms:windows";
+        return "@platforms//os:windows";
       default:
         // Unknown, so skip it.
         return null;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/Alias.java b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
index 5348588..8570039 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/Alias.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
@@ -28,6 +28,7 @@
 import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
 import com.google.devtools.build.lib.analysis.VisibilityProvider;
 import com.google.devtools.build.lib.analysis.VisibilityProviderImpl;
+import com.google.devtools.build.lib.analysis.config.CoreOptions;
 import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode;
 import com.google.devtools.build.lib.packages.RuleClass;
 import com.google.devtools.build.lib.util.FileTypeSet;
@@ -44,6 +45,22 @@
   public ConfiguredTarget create(RuleContext ruleContext)
       throws InterruptedException, RuleErrorException, ActionConflictException {
     ConfiguredTarget actual = (ConfiguredTarget) ruleContext.getPrerequisite("actual", Mode.TARGET);
+
+    // TODO(b/129045294): Remove once the flag is flipped.
+    if (ruleContext.getLabel().getCanonicalForm().startsWith("@bazel_tools//platforms")
+        && ruleContext
+            .getConfiguration()
+            .getOptions()
+            .get(CoreOptions.class)
+            .usePlatformsRepoForConstraints) {
+      throw ruleContext.throwWithRuleError(
+          "Constraints from @bazel_tools//platforms have been "
+              + "removed. Please use constraints from @platforms repository embedded in "
+              + "Bazel, or preferably declare dependency on "
+              + "https://github.com/bazelbuild/platforms. See "
+              + "https://github.com/bazelbuild/bazel/issues/8622 for details.");
+    }
+
     return new AliasConfiguredTarget(
         ruleContext,
         actual,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java
index 7522324..25aedb6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java
@@ -327,7 +327,7 @@
   config_setting(
       name = "64bit_glibc_2_25",
       constraint_values = [
-          "@bazel_tools//platforms:x86_64",
+          "@platforms//cpu:x86_64",
           "//example:glibc_2_25",
       ]
   )
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java
index 511619a..e9416be 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java
@@ -67,7 +67,7 @@
 <p>Each <code>constraint_setting</code> has an extensible set of associated
 <code>constraint_value</code>s. Usually these are defined in the same package, but sometimes a
 different package will introduce new values for an existing setting. For instance, the predefined
-setting <code>@bazel_tools//platforms:cpu</code> can be extended with a custom value in order to
+setting <code>@platforms//cpu:cpu</code> can be extended with a custom value in order to
 define a platform targeting an obscure cpu architecture.
 
 <!-- #END_BLAZE_RULE -->*/
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java
index 43ccf34..2ca844a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java
@@ -67,7 +67,7 @@
 <pre class="code">
 constraint_value(
     name = "mips",
-    constraint_setting = "@bazel_tools//platforms:cpu",
+    constraint_setting = "@platforms//cpu:cpu",
 )
 </pre>
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformRule.java
index c54d05a..bafdb7b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformRule.java
@@ -49,7 +49,7 @@
 
         <p>Each <code>constraint_value</code> in this list must be for a different
         <code>constraint_setting</code>. For example, you cannot define a platform that requires the
-        cpu architecture to be both <code>@bazel_tools//platforms:x86_64</code> and
+        cpu architecture to be both <code>@platforms//cpu:x86_64</code> and
         <code>@bazel_tools//platforms:arm</code>.
         <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
         .add(
@@ -130,8 +130,8 @@
 platform(
     name = "linux_arm",
     constraint_values = [
-        "@bazel_tools//platforms:linux",
-        "@bazel_tools//platforms:arm",
+        "@platforms//os:linux",
+        "@platforms//cpu:arm",
     ],
 )
 </pre>
@@ -177,8 +177,8 @@
 platform(
     name = "parent",
     constraint_values = [
-        "@bazel_tools//platforms:linux",
-        "@bazel_tools//platforms:arm",
+        "@platforms//os:linux",
+        "@platforms//cpu:arm",
     ],
     remote_execution_properties = """
       parent properties
@@ -188,7 +188,7 @@
     name = "child_a",
     parents = [":parent"],
     constraint_values = [
-        "@bazel_tools//platforms:x86_64",
+        "@platforms//cpu:x86_64",
     ],
     remote_execution_properties = """
       child a properties
@@ -210,8 +210,8 @@
 
   <ul>
     <li>
-      "child_a" has the constraint values "@bazel_tools//platforms:linux" (inherited from the
-      parent) and "@bazel_tools//platforms:x86_64" (set directly on the platform). It has the
+      "child_a" has the constraint values "@platforms//os:linux" (inherited from the
+      parent) and "@platforms//cpu:x86_64" (set directly on the platform). It has the
       "remote_execution_properties" set to "child a properties"
     </li>
     <li>
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
index edf34a1..6240424 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
@@ -67,12 +67,14 @@
   @Override
   public List<String> getWorkspaceContents(MockToolsConfig config) {
     String bazelToolWorkspace = config.getPath("/bazel_tools_workspace").getPathString();
+    String bazelPlatformsWorkspace = config.getPath("/platforms").getPathString();
     String localConfigPlatformWorkspace =
         config.getPath("/local_config_platform_workspace").getPathString();
 
     return new ArrayList<>(
         ImmutableList.of(
             "local_repository(name = 'bazel_tools', path = '" + bazelToolWorkspace + "')",
+            "local_repository(name = 'platforms', path = '" + bazelPlatformsWorkspace + "')",
             "local_repository(name = 'local_config_xcode', path = '/local_config_xcode')",
             "local_repository(name = 'com_google_protobuf', path = '/protobuf')",
             "bind(name = 'android/sdk', actual='@bazel_tools//tools/android:sdk')",
@@ -99,6 +101,25 @@
     config.create("/local_config_xcode/WORKSPACE");
     config.create("/protobuf/WORKSPACE");
     config.overwrite("WORKSPACE", workspaceContents.toArray(new String[workspaceContents.size()]));
+    config.create("/platforms/WORKSPACE", "workspace(name = 'platforms')");
+    config.create("/platforms/BUILD");
+    config.create(
+        "/platforms/cpu/BUILD",
+        "constraint_setting(name = 'cpu')",
+        "constraint_value(name = 'x86_32', constraint_setting = ':cpu')",
+        "constraint_value(name = 'x86_64', constraint_setting = ':cpu')",
+        "constraint_value(name = 'ppc', constraint_setting = ':cpu')",
+        "constraint_value(name = 'arm', constraint_setting = ':cpu')",
+        "constraint_value(name = 'aarch64', constraint_setting = ':cpu')",
+        "constraint_value(name = 's390x', constraint_setting = ':cpu')");
+
+    config.create(
+        "/platforms/os/BUILD",
+        "constraint_setting(name = 'os')",
+        "constraint_value(name = 'linux', constraint_setting = ':os')",
+        "constraint_value(name = 'osx', constraint_setting = ':os')",
+        "constraint_value(name = 'freebsd', constraint_setting = ':os')",
+        "constraint_value(name = 'windows', constraint_setting = ':os')");
     config.create("/bazel_tools_workspace/WORKSPACE", "workspace(name = 'bazel_tools')");
     Runfiles runfiles = Runfiles.create();
     for (String filename :
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java
index 663d62d..bc509e0 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java
@@ -45,12 +45,12 @@
     public static Collection createInputValues() {
       return ImmutableList.of(
           // CPU value tests.
-          new Object[] {CPU.X86_64, "@bazel_tools//platforms:x86_64"},
-          new Object[] {CPU.X86_32, "@bazel_tools//platforms:x86_32"},
-          new Object[] {CPU.PPC, "@bazel_tools//platforms:ppc"},
-          new Object[] {CPU.ARM, "@bazel_tools//platforms:arm"},
-          new Object[] {CPU.AARCH64, "@bazel_tools//platforms:aarch64"},
-          new Object[] {CPU.S390X, "@bazel_tools//platforms:s390x"});
+          new Object[] {CPU.X86_64, "@platforms//cpu:x86_64"},
+          new Object[] {CPU.X86_32, "@platforms//cpu:x86_32"},
+          new Object[] {CPU.PPC, "@platforms//cpu:ppc"},
+          new Object[] {CPU.ARM, "@platforms//cpu:arm"},
+          new Object[] {CPU.AARCH64, "@platforms//cpu:aarch64"},
+          new Object[] {CPU.S390X, "@platforms//cpu:s390x"});
     }
 
     private final CPU testCpu;
@@ -81,10 +81,10 @@
     public static Collection createInputValues() {
       return ImmutableList.of(
           // OS value tests.
-          new Object[] {OS.LINUX, "@bazel_tools//platforms:linux"},
-          new Object[] {OS.DARWIN, "@bazel_tools//platforms:osx"},
-          new Object[] {OS.FREEBSD, "@bazel_tools//platforms:freebsd"},
-          new Object[] {OS.WINDOWS, "@bazel_tools//platforms:windows"});
+          new Object[] {OS.LINUX, "@platforms//os:linux"},
+          new Object[] {OS.DARWIN, "@platforms//os:osx"},
+          new Object[] {OS.FREEBSD, "@platforms//os:freebsd"},
+          new Object[] {OS.WINDOWS, "@platforms//os:windows"});
     }
 
     private final OS testOs;
@@ -112,9 +112,9 @@
   @RunWith(JUnit4.class)
   public static class FunctionTest extends BuildViewTestCase {
     private static final ConstraintSettingInfo CPU_CONSTRAINT =
-        ConstraintSettingInfo.create(Label.parseAbsoluteUnchecked("@bazel_tools//platforms:cpu"));
+        ConstraintSettingInfo.create(Label.parseAbsoluteUnchecked("@platforms//cpu:cpu"));
     private static final ConstraintSettingInfo OS_CONSTRAINT =
-        ConstraintSettingInfo.create(Label.parseAbsoluteUnchecked("@bazel_tools//platforms:os"));
+        ConstraintSettingInfo.create(Label.parseAbsoluteUnchecked("@platforms//os:os"));
 
     @Test
     public void generateConfigRepository() throws Exception {
diff --git a/src/test/shell/bazel/platforms_test.sh b/src/test/shell/bazel/platforms_test.sh
index 6db625a..d33a6c6 100755
--- a/src/test/shell/bazel/platforms_test.sh
+++ b/src/test/shell/bazel/platforms_test.sh
@@ -71,5 +71,12 @@
     fail "Bazel failed to build @platforms"
 }
 
+function test_incompatible_use_platforms_repo_for_constraints() {
+  # We test that a built-in @platforms repository is buildable.
+  bazel build --incompatible_use_platforms_repo_for_constraints @bazel_tools//platforms:all &> \
+    $TEST_log && fail "Build passed when we expected an error."
+  expect_log "Constraints from @bazel_tools//platforms have been removed."
+}
+
 run_suite "platform mapping test"
 
diff --git a/src/test/shell/integration/discard_graph_edges_test.sh b/src/test/shell/integration/discard_graph_edges_test.sh
index 926dc79..3bf1f9b 100755
--- a/src/test/shell/integration/discard_graph_edges_test.sh
+++ b/src/test/shell/integration/discard_graph_edges_test.sh
@@ -271,7 +271,7 @@
   package_count="$(extract_histogram_count "$histo_file" \
       'devtools\.build\.lib\..*\.Package$')"
   # A few packages aren't cleared.
-  [[ "$package_count" -le 17 ]] \
+  [[ "$package_count" -le 18 ]] \
       || fail "package count $package_count too high"
   glob_count="$(extract_histogram_count "$histo_file" "GlobValue$")"
   [[ "$glob_count" -le 1 ]] \
diff --git a/src/test/shell/testenv.sh b/src/test/shell/testenv.sh
index 73316d4..25ecb73 100755
--- a/src/test/shell/testenv.sh
+++ b/src/test/shell/testenv.sh
@@ -408,7 +408,7 @@
   name = "py_toolchain",
   toolchain = ":py_runtime_pair",
   toolchain_type = "@bazel_tools//tools/python:toolchain_type",
-  target_compatible_with = ["@bazel_tools//platforms:windows"],
+  target_compatible_with = ["@platforms//os:windows"],
 )
 EOF
 }
diff --git a/tools/cpp/BUILD b/tools/cpp/BUILD
index ad1b12a..e9da96d 100644
--- a/tools/cpp/BUILD
+++ b/tools/cpp/BUILD
@@ -169,10 +169,10 @@
 toolchain(
     name = "cc-toolchain-ppc",
     exec_compatible_with = [
-        "@bazel_tools//platforms:ppc",
+        "@platforms//cpu:ppc",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:ppc",
+        "@platforms//cpu:ppc",
     ],
     toolchain = ":cc-compiler-ppc",
     toolchain_type = ":toolchain_type",
@@ -196,10 +196,10 @@
 toolchain(
     name = "cc-toolchain-s390x",
     exec_compatible_with = [
-        "@bazel_tools//platforms:s390x",
+        "@platforms//cpu:s390x",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:s390x",
+        "@platforms//cpu:s390x",
     ],
     toolchain = ":cc-compiler-s390x",
     toolchain_type = ":toolchain_type",
@@ -225,8 +225,8 @@
     exec_compatible_with = [
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:arm",
-        "@bazel_tools//platforms:android",
+        "@platforms//cpu:arm",
+        "@platforms//os:android",
     ],
     toolchain = ":cc-compiler-armeabi-v7a",
     toolchain_type = ":toolchain_type",
@@ -250,12 +250,12 @@
 toolchain(
     name = "cc-toolchain-k8",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:linux",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:linux",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:linux",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:linux",
     ],
     toolchain = ":cc-compiler-k8",
     toolchain_type = ":toolchain_type",
@@ -289,12 +289,12 @@
 toolchain(
     name = "cc-toolchain-darwin",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:osx",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:osx",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:osx",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:osx",
     ],
     toolchain = ":cc-compiler-darwin",
     toolchain_type = ":toolchain_type",
@@ -328,12 +328,12 @@
 toolchain(
     name = "cc-toolchain-freebsd",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:freebsd",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:freebsd",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:freebsd",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:freebsd",
     ],
     toolchain = ":cc-compiler-freebsd",
     toolchain_type = ":toolchain_type",
@@ -367,12 +367,12 @@
 toolchain(
     name = "cc-toolchain-x64_windows",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     toolchain = ":cc-compiler-x64_windows",
     toolchain_type = ":toolchain_type",
@@ -406,13 +406,13 @@
 toolchain(
     name = "cc-toolchain-x64_windows_msvc",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
         ":msvc",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     toolchain = ":cc-compiler-x64_windows_msvc",
     toolchain_type = ":toolchain_type",
diff --git a/tools/cpp/BUILD.static.freebsd b/tools/cpp/BUILD.static.freebsd
index 5dd2a8e..b21dc3d 100644
--- a/tools/cpp/BUILD.static.freebsd
+++ b/tools/cpp/BUILD.static.freebsd
@@ -62,12 +62,12 @@
 toolchain(
     name = "cc-toolchain-freebsd",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:freebsd",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:freebsd",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:freebsd",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:freebsd",
     ],
     toolchain = ":cc-compiler-freebsd",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
@@ -97,11 +97,11 @@
 toolchain(
     name = "cc-toolchain-armeabi-v7a",
     exec_compatible_with = [
-        "@bazel_tools//platforms:arm",
+        "@platforms//cpu:arm",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:arm",
-        "@bazel_tools//platforms:android",
+        "@platforms//cpu:arm",
+        "@platforms//os:android",
     ],
     toolchain = ":cc-compiler-armeabi-v7a",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
diff --git a/tools/cpp/BUILD.toolchains.tpl b/tools/cpp/BUILD.toolchains.tpl
index 024d8bf..7aa08d0 100644
--- a/tools/cpp/BUILD.toolchains.tpl
+++ b/tools/cpp/BUILD.toolchains.tpl
@@ -11,8 +11,8 @@
     name = "cc-toolchain-armeabi-v7a",
     exec_compatible_with = HOST_CONSTRAINTS,
     target_compatible_with = [
-        "@bazel_tools//platforms:arm",
-        "@bazel_tools//platforms:android",
+        "@platforms//cpu:arm",
+        "@platforms//os:android",
     ],
     toolchain = "@local_config_cc//:cc-compiler-armabi-v7a",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
diff --git a/tools/cpp/BUILD.windows.tpl b/tools/cpp/BUILD.windows.tpl
index bd45b58..18df650 100644
--- a/tools/cpp/BUILD.windows.tpl
+++ b/tools/cpp/BUILD.windows.tpl
@@ -75,13 +75,13 @@
 toolchain(
     name = "cc-toolchain-x64_windows_msys",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
         "@bazel_tools//tools/cpp:msys",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     toolchain = ":cc-compiler-x64_windows_msys",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
@@ -121,13 +121,13 @@
 toolchain(
     name = "cc-toolchain-x64_windows_mingw",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
         "@bazel_tools//tools/cpp:mingw",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     toolchain = ":cc-compiler-x64_windows_mingw",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
@@ -186,12 +186,12 @@
 toolchain(
     name = "cc-toolchain-x64_windows",
     exec_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:x86_64",
-        "@bazel_tools//platforms:windows",
+        "@platforms//cpu:x86_64",
+        "@platforms//os:windows",
     ],
     toolchain = ":cc-compiler-x64_windows",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
@@ -219,8 +219,8 @@
     exec_compatible_with = [
     ],
     target_compatible_with = [
-        "@bazel_tools//platforms:arm",
-        "@bazel_tools//platforms:android",
+        "@platforms//cpu:arm",
+        "@platforms//os:android",
     ],
     toolchain = ":cc-compiler-armeabi-v7a",
     toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
diff --git a/tools/osx/crosstool/BUILD.toolchains b/tools/osx/crosstool/BUILD.toolchains
index 178ab86..8fa7e4a 100644
--- a/tools/osx/crosstool/BUILD.toolchains
+++ b/tools/osx/crosstool/BUILD.toolchains
@@ -7,8 +7,8 @@
         name = "cc-toolchain-" + arch,
         exec_compatible_with = [
             # These only execute on macOS.
-            "@bazel_tools//platforms:osx",
-            "@bazel_tools//platforms:x86_64",
+            "@platforms//os:osx",
+            "@platforms//cpu:x86_64",
         ],
         target_compatible_with = OSX_TOOLS_CONSTRAINTS[arch],
         toolchain = "@local_config_cc//:cc-compiler-" + arch,
diff --git a/tools/osx/crosstool/osx_archs.bzl b/tools/osx/crosstool/osx_archs.bzl
index 8c37eb0..a8788a4 100644
--- a/tools/osx/crosstool/osx_archs.bzl
+++ b/tools/osx/crosstool/osx_archs.bzl
@@ -37,17 +37,17 @@
 # TODO(apple-rules): Rename osx constraint to macOS.
 # TODO(apple-rules): Add constraints for watchos and tvos.
 OSX_TOOLS_CONSTRAINTS = {
-    "darwin_x86_64": ["@bazel_tools//platforms:osx", "@bazel_tools//platforms:x86_64"],
-    "ios_i386": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:x86_32"],
-    "ios_x86_64": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:x86_64"],
-    "watchos_i386": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:x86_32"],
-    "watchos_x86_64": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:x86_64"],
-    "tvos_x86_64": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:x86_64"],
-    "armeabi-v7a": ["@bazel_tools//platforms:arm"],
-    "ios_armv7": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:arm"],
-    "ios_arm64": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:aarch64"],
-    "ios_arm64e": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:aarch64"],
-    "watchos_armv7k": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:arm"],
-    "watchos_arm64_32": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:aarch64"],
-    "tvos_arm64": ["@bazel_tools//platforms:ios", "@bazel_tools//platforms:aarch64"],
+    "darwin_x86_64": ["@platforms//os:osx", "@platforms//cpu:x86_64"],
+    "ios_i386": ["@platforms//os:ios", "@platforms//cpu:x86_32"],
+    "ios_x86_64": ["@platforms//os:ios", "@platforms//cpu:x86_64"],
+    "watchos_i386": ["@platforms//os:ios", "@platforms//cpu:x86_32"],
+    "watchos_x86_64": ["@platforms//os:ios", "@platforms//cpu:x86_64"],
+    "tvos_x86_64": ["@platforms//os:ios", "@platforms//cpu:x86_64"],
+    "armeabi-v7a": ["@platforms//cpu:arm"],
+    "ios_armv7": ["@platforms//os:ios", "@platforms//cpu:arm"],
+    "ios_arm64": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
+    "ios_arm64e": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
+    "watchos_armv7k": ["@platforms//os:ios", "@platforms//cpu:arm"],
+    "watchos_arm64_32": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
+    "tvos_arm64": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
 }
diff --git a/tools/platforms/BUILD b/tools/platforms/BUILD
index f0dc074..aedc392 100644
--- a/tools/platforms/BUILD
+++ b/tools/platforms/BUILD
@@ -1,5 +1,7 @@
-# Standard constraint_setting and constraint_values to be used in platforms.
-
+# Deprecated. Do not use. Use targets in @platforms//cpu and @platforms//os.
+# This package will be removed by
+# --incompatible_use_platforms_repo_for_constraints. See
+# https://github.com/bazelbuild/bazel/issues/8622 for details.
 package(
     default_visibility = ["//visibility:public"],
 )
@@ -16,70 +18,74 @@
     srcs = glob(["**"]),
 )
 
-# These match values in //src/main/java/com/google/devtools/build/lib/util:CPU.java
-constraint_setting(name = "cpu")
+alias(
+    name = "cpu",
+    actual = "@platforms//cpu:cpu",
+)
 
-constraint_value(
+alias(
     name = "x86_32",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:x86_32",
 )
 
-constraint_value(
+alias(
     name = "x86_64",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:x86_64",
 )
 
-constraint_value(
+alias(
     name = "ppc",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:ppc",
 )
 
-constraint_value(
+alias(
     name = "arm",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:arm",
 )
 
-constraint_value(
+alias(
     name = "aarch64",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:aarch64",
 )
 
-constraint_value(
+alias(
     name = "s390x",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:s390x",
 )
 
-# These match values in //src/main/java/com/google/devtools/build/lib/util:OS.java
-constraint_setting(name = "os")
+alias(
+    name = "os",
+    actual = "@platforms//os:os",
+)
 
-constraint_value(
+alias(
     name = "osx",
-    constraint_setting = ":os",
+    actual = "@platforms//os:osx",
 )
 
-constraint_value(
+alias(
     name = "ios",
-    constraint_setting = ":os",
+    actual = "@platforms//os:ios",
 )
 
-constraint_value(
+alias(
     name = "freebsd",
-    constraint_setting = ":os",
+    actual = "@platforms//os:freebsd",
 )
 
-constraint_value(
+alias(
     name = "android",
-    constraint_setting = ":os",
+    actual = "@platforms//os:android",
 )
 
-constraint_value(
+alias(
     name = "linux",
-    constraint_setting = ":os",
+    actual = "@platforms//os:linux",
 )
 
-constraint_value(
+alias(
     name = "windows",
-    constraint_setting = ":os",
+    actual = "@platforms//os:windows",
 )
 
 # A default platform with nothing defined.
@@ -92,19 +98,19 @@
     constraint_values = [
     ],
     cpu_constraints = [
-        ":x86_32",
-        ":x86_64",
-        ":ppc",
-        ":arm",
-        ":aarch64",
-        ":s390x",
+        "@platforms//cpu:x86_32",
+        "@platforms//cpu:x86_64",
+        "@platforms//cpu:ppc",
+        "@platforms//cpu:arm",
+        "@platforms//cpu:aarch64",
+        "@platforms//cpu:s390x",
     ],
     host_platform = True,
     os_constraints = [
-        ":osx",
-        ":freebsd",
-        ":linux",
-        ":windows",
+        "@platforms//os:osx",
+        "@platforms//os:freebsd",
+        "@platforms//os:linux",
+        "@platforms//os:windows",
     ],
 )
 
@@ -113,18 +119,18 @@
     constraint_values = [
     ],
     cpu_constraints = [
-        ":x86_32",
-        ":x86_64",
-        ":ppc",
-        ":arm",
-        ":aarch64",
-        ":s390x",
+        "@platforms//cpu:x86_32",
+        "@platforms//cpu:x86_64",
+        "@platforms//cpu:ppc",
+        "@platforms//cpu:arm",
+        "@platforms//cpu:aarch64",
+        "@platforms//cpu:s390x",
     ],
     os_constraints = [
-        ":osx",
-        ":freebsd",
-        ":linux",
-        ":windows",
+        "@platforms//os:osx",
+        "@platforms//os:freebsd",
+        "@platforms//os:linux",
+        "@platforms//os:windows",
     ],
     target_platform = True,
 )
diff --git a/tools/platforms/BUILD.tools b/tools/platforms/BUILD.tools
index 862c554..f7eece8 100644
--- a/tools/platforms/BUILD.tools
+++ b/tools/platforms/BUILD.tools
@@ -1,73 +1,79 @@
-# Standard constraint_setting and constraint_values to be used in platforms.
-
+# Deprecated. Do not use. Use targets in @platforms//cpu and @platforms//os.
+# This package will be removed by
+# --incompatible_use_platforms_repo_for_constraints. See
+# https://github.com/bazelbuild/bazel/issues/8622 for details.
 package(
     default_visibility = ["//visibility:public"],
 )
 
-# These match values in //src/main/java/com/google/devtools/build/lib/util:CPU.java
-constraint_setting(name = "cpu")
+alias(
+    name = "cpu",
+    actual = "@platforms//cpu:cpu",
+)
 
-constraint_value(
+alias(
     name = "x86_32",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:x86_32",
 )
 
-constraint_value(
+alias(
     name = "x86_64",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:x86_64",
 )
 
-constraint_value(
+alias(
     name = "ppc",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:ppc",
 )
 
-constraint_value(
+alias(
     name = "arm",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:arm",
 )
 
-constraint_value(
+alias(
     name = "aarch64",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:aarch64",
 )
 
-constraint_value(
+alias(
     name = "s390x",
-    constraint_setting = ":cpu",
+    actual = "@platforms//cpu:s390x",
 )
 
-# These match values in //src/main/java/com/google/devtools/build/lib/util:OS.java
-constraint_setting(name = "os")
+alias(
+    name = "os",
+    actual = "@platforms//os:os",
+)
 
-constraint_value(
+alias(
     name = "osx",
-    constraint_setting = ":os",
+    actual = "@platforms//os:osx",
 )
 
-constraint_value(
+alias(
     name = "ios",
-    constraint_setting = ":os",
+    actual = "@platforms//os:ios",
 )
 
-constraint_value(
+alias(
     name = "freebsd",
-    constraint_setting = ":os",
+    actual = "@platforms//os:freebsd",
 )
 
-constraint_value(
+alias(
     name = "android",
-    constraint_setting = ":os",
+    actual = "@platforms//os:android",
 )
 
-constraint_value(
+alias(
     name = "linux",
-    constraint_setting = ":os",
+    actual = "@platforms//os:linux",
 )
 
-constraint_value(
+alias(
     name = "windows",
-    constraint_setting = ":os",
+    actual = "@platforms//os:windows",
 )
 
 # A default platform with nothing defined.
@@ -80,19 +86,19 @@
     constraint_values = [
     ],
     cpu_constraints = [
-        ":x86_32",
-        ":x86_64",
-        ":ppc",
-        ":arm",
-        ":aarch64",
-        ":s390x",
+        "@platforms//cpu:x86_32",
+        "@platforms//cpu:x86_64",
+        "@platforms//cpu:ppc",
+        "@platforms//cpu:arm",
+        "@platforms//cpu:aarch64",
+        "@platforms//cpu:s390x",
     ],
     host_platform = True,
     os_constraints = [
-        ":osx",
-        ":freebsd",
-        ":linux",
-        ":windows",
+        "@platforms//os:osx",
+        "@platforms//os:freebsd",
+        "@platforms//os:linux",
+        "@platforms//os:windows",
     ],
 )
 
@@ -101,18 +107,19 @@
     constraint_values = [
     ],
     cpu_constraints = [
-        ":x86_32",
-        ":x86_64",
-        ":ppc",
-        ":arm",
-        ":aarch64",
-        ":s390x",
+        "@platforms//cpu:x86_32",
+        "@platforms//cpu:x86_64",
+        "@platforms//cpu:ppc",
+        "@platforms//cpu:arm",
+        "@platforms//cpu:aarch64",
+        "@platforms//cpu:s390x",
     ],
     os_constraints = [
-        ":osx",
-        ":freebsd",
-        ":linux",
-        ":windows",
+        "@platforms//os:osx",
+        "@platforms//os:freebsd",
+        "@platforms//os:linux",
+        "@platforms//os:windows",
     ],
     target_platform = True,
 )
+
