diff --git a/src/api/writer-generator/typescript/profile.ts b/src/api/writer-generator/typescript/profile.ts index 82d638727..d41ce336e 100644 --- a/src/api/writer-generator/typescript/profile.ts +++ b/src/api/writer-generator/typescript/profile.ts @@ -771,6 +771,9 @@ const detectConstrainedChoice = ( const variantField = baseSchema.fields[variantName]; if (!variantField || !isChoiceInstanceField(variantField)) continue; + // Skip flattening for primitive types — can't intersect object with boolean/string/etc. + if (isPrimitiveIdentifier(variantField.type)) continue; + return { choiceBase: fieldName, variant: variantName,