diff --git a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
index 443e8f9..11e95d4 100644
--- a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
+++ b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
@@ -56,6 +56,9 @@
     if options[.SwiftForcesdSYMs].commonValueAsBool ?? true {
       features.insert(.SwiftForcesdSYMs)
     }
+    if options[.TreeArtifactOutputs].commonValueAsBool ?? true {
+      features.insert(.TreeArtifactOutputs)
+    }
     return features
   }
 }
diff --git a/src/TulsiGenerator/BazelSettingsProvider.swift b/src/TulsiGenerator/BazelSettingsProvider.swift
index d730f09..efd0ed9 100644
--- a/src/TulsiGenerator/BazelSettingsProvider.swift
+++ b/src/TulsiGenerator/BazelSettingsProvider.swift
@@ -34,6 +34,12 @@
   /// See https://forums.swift.org/t/improving-swift-lldb-support-for-path-remappings/22694.
   case SwiftForcesdSYMs
 
+  /// Build using tree artifact outputs (--define=apple.experimental.tree_artifact_outputs=1).
+  /// Should only be disabled if it causes errors.
+  /// Known issues:
+  /// - Bundles with spaces in the name
+  case TreeArtifactOutputs
+
   /// TODO(b/111928007): Remove this and/or BazelSettingFeature once DebugPathNormalization is
   /// supported by all builds.
   public var stringValue: String {
@@ -42,6 +48,8 @@
         return "DebugPathNormalization"
       case .SwiftForcesdSYMs:
         return "SwiftForcesdSYMs"
+      case .TreeArtifactOutputs:
+        return "TreeArtifactOutputs"
     }
   }
 
@@ -61,6 +69,8 @@
         return true
       case .SwiftForcesdSYMs:
         return true
+      case .TreeArtifactOutputs:
+        return true
     }
   }
 
@@ -70,6 +80,8 @@
         return true
       case .SwiftForcesdSYMs:
         return false
+      case .TreeArtifactOutputs:
+        return true
     }
   }
 
@@ -83,6 +95,7 @@
     switch self {
       case .DebugPathNormalization: return ["--features=debug_prefix_map_pwd_is_dot"]
       case .SwiftForcesdSYMs: return ["--apple_generate_dsym"]
+      case .TreeArtifactOutputs: return ["--define=apple.experimental.tree_artifact_outputs=1"]
     }
   }
 
@@ -122,7 +135,6 @@
   static let tulsiCommonNonCacheableFlags = BazelFlags(build: [
       "--define=apple.add_debugger_entitlement=1",
       "--define=apple.propagate_embedded_extra_outputs=1",
-      "--define=apple.experimental.tree_artifact_outputs=1",
   ])
 
   /// Cache-able flags added by Tulsi for builds.
diff --git a/src/TulsiGenerator/TulsiOptionSet.swift b/src/TulsiGenerator/TulsiOptionSet.swift
index cdf972b..8642bad 100644
--- a/src/TulsiGenerator/TulsiOptionSet.swift
+++ b/src/TulsiGenerator/TulsiOptionSet.swift
@@ -34,6 +34,10 @@
       SuppressSwiftUpdateCheck,
       // Whether or not containing a Swift dependency forces dSYM generation (used for debugging).
       SwiftForcesdSYMs,
+      // Whether or not to use tree artifact outputs. Should only be disabled if it causes errors.
+      // Known issues:
+      // - Bundles with spaces in the name
+      TreeArtifactOutputs,
       // The path from a config file to its associated workspace root.
       WorkspaceRootPath,
 
@@ -318,6 +322,7 @@
     addBoolOption(.ProjectPrioritizesSwift, .Generic, false)
     addBoolOption(.UseArm64_32, .Generic, false)
     addBoolOption(.SwiftForcesdSYMs, .Generic, true)
+    addBoolOption(.TreeArtifactOutputs, .Generic, true)
 
     let defaultIdentifier = PlatformConfiguration.defaultConfiguration.identifier
     let platformCPUIdentifiers = PlatformConfiguration.allValidConfigurations.map { $0.identifier }
diff --git a/src/TulsiGenerator/en.lproj/Options.strings b/src/TulsiGenerator/en.lproj/Options.strings
index 15242aa..83b0594 100644
--- a/src/TulsiGenerator/en.lproj/Options.strings
+++ b/src/TulsiGenerator/en.lproj/Options.strings
@@ -55,6 +55,7 @@
 "PostBuildPhaseRunScript_DESC" = "Build phase run script that runs after the bazel_build.py script (i.e. `exec ${PATH_TO_SCRIPT}')";
 
 "SwiftForcesdSYMs" = "Swift code dependency enables dSYMs (required for debugging).";
+"TreeArtifactOutputs" = "Enable tree artifact outputs (--define=apple.experimental.tree_artifact_outputs=1). Disable if you're having issues.";
 
 "SuppressSwiftUpdateCheck" = "Suppress Xcode Swift update check";
 "SuppressSwiftUpdateCheck_DESC" = "Suppresses Xcode's update notification for projects containing Swift code. This asserts that the Swift code is at least version 2.1.";
