diff --git a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
index 19a04e1..9af01ea 100644
--- a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
+++ b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
@@ -22,6 +22,7 @@
 extension PlatformConfiguration {
   public var bazelFlags: [String] {
     var flags = ["--apple_platform_type=\(platform.bazelPlatform)"]
+    let physicalWatchCPUs = "\(CPU.armv7k.rawValue),\(CPU.arm64_32.rawValue)"
 
     switch platform {
     case .ios, .macos:
@@ -29,7 +30,13 @@
     case .tvos:
       flags.append("--\(platform.bazelCPUPlatform)_cpus=\(cpu.rawValue)")
     case .watchos:
-      flags.append("--\(platform.bazelCPUPlatform)_cpus=\(cpu.watchCPU.rawValue)")
+      if (cpu == .armv7k || cpu == .arm64_32) {
+        // Xcode doesn't provide a way to determine the architecture of a watch
+        // so target both watchOS cpus when building for a physical watch.
+        flags.append("--\(platform.bazelCPUPlatform)_cpus=\(physicalWatchCPUs)")
+      } else {
+        flags.append("--\(platform.bazelCPUPlatform)_cpus=\(cpu.watchCPU.rawValue)")
+      }
     }
 
     if case .ios = platform {
@@ -39,8 +46,7 @@
         // otherwise we might unintentionally install a watch app with the wrong
         // architecture. Only 64-bit iOS devices support the Apple Watch Series
         // 4 so we only need to apply the flag to the 64bit iOS CPUs.
-        let cpus = "\(CPU.armv7k.rawValue),\(CPU.arm64_32.rawValue)"
-        flags.append("--\(PlatformType.watchos.bazelCPUPlatform)_cpus=\(cpus)")
+        flags.append("--\(PlatformType.watchos.bazelCPUPlatform)_cpus=\(physicalWatchCPUs)")
       } else {
         flags.append("--\(PlatformType.watchos.bazelCPUPlatform)_cpus=\(cpu.watchCPU.rawValue)")
       }
diff --git a/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift b/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift
index 7ba542f..2f83ca0 100644
--- a/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift
+++ b/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift
@@ -32,7 +32,7 @@
                                                        buildRuleEntries: buildRuleEntries)
 
     let expectedFlag = "--watchos_cpus=armv7k,arm64_32"
-    let expectedIdentifiers = Set(["watchos_armv7k", "watchos_arm64_32"])
+    let expectedIdentifiers = Set(["watchos_armv7k", "watchos_arm64_32", "ios_arm64", "ios_arm64e"])
     // Check that both watchos flags are set for both architectures.
     for (identifier, flags) in settings.platformConfigurationFlags {
       if (expectedIdentifiers.contains(identifier)) {
