diff --git a/rigify/feature_sets.py b/rigify/feature_sets.py
index 64f40ba9789c561dc011f1bbc339f58d369ec584..3a7c2bec2f6f236de9508584a7a5e713a19dc0b5 100644
--- a/rigify/feature_sets.py
+++ b/rigify/feature_sets.py
@@ -62,7 +62,7 @@ class DATA_OT_rigify_add_feature_set(bpy.types.Operator):
     bl_idname = "wm.rigify_add_feature_set"
     bl_label = "Add External Feature Set"
     bl_description = "Add external feature set (rigs, metarigs, ui templates)"
-    bl_options = {"REGISTER", "UNDO"}
+    bl_options = {"REGISTER", "UNDO", "INTERNAL"}
 
     filter_glob: StringProperty(default="*.zip", options={'HIDDEN'})
     filepath: StringProperty(maxlen=1024, subtype='FILE_PATH', options={'HIDDEN', 'SKIP_SAVE'})
@@ -107,7 +107,7 @@ class DATA_OT_rigify_remove_feature_set(bpy.types.Operator):
     bl_idname = "wm.rigify_remove_feature_set"
     bl_label = "Remove External Feature Set"
     bl_description = "Remove external feature set (rigs, metarigs, ui templates)"
-    bl_options = {"REGISTER", "UNDO"}
+    bl_options = {"REGISTER", "UNDO", "INTERNAL"}
 
     featureset: StringProperty(maxlen=1024, options={'HIDDEN', 'SKIP_SAVE'})
 
diff --git a/rigify/rig_ui_template.py b/rigify/rig_ui_template.py
index cebed827c532eae8d3debe29e96fc463de1c4fc2..3fbcf996590b06d8df5437b3a3b3a888754d0a0f 100644
--- a/rigify/rig_ui_template.py
+++ b/rigify/rig_ui_template.py
@@ -623,7 +623,7 @@ class Rigify_Arm_FK2IK(bpy.types.Operator):
     """
     bl_idname = "pose.rigify_arm_fk2ik_" + rig_id
     bl_label = "Rigify Snap FK arm to IK"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     uarm_fk: StringProperty(name="Upper Arm FK Name")
     farm_fk: StringProperty(name="Forerm FK Name")
@@ -647,7 +647,7 @@ class Rigify_Arm_IK2FK(bpy.types.Operator):
     """
     bl_idname = "pose.rigify_arm_ik2fk_" + rig_id
     bl_label = "Rigify Snap IK arm to FK"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     uarm_fk: StringProperty(name="Upper Arm FK Name")
     farm_fk: StringProperty(name="Forerm FK Name")
@@ -681,7 +681,7 @@ class Rigify_Leg_FK2IK(bpy.types.Operator):
     """
     bl_idname = "pose.rigify_leg_fk2ik_" + rig_id
     bl_label = "Rigify Snap FK leg to IK"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     thigh_fk: StringProperty(name="Thigh FK Name")
     shin_fk:  StringProperty(name="Shin FK Name")
@@ -707,7 +707,7 @@ class Rigify_Leg_IK2FK(bpy.types.Operator):
     """
     bl_idname = "pose.rigify_leg_ik2fk_" + rig_id
     bl_label = "Rigify Snap IK leg to FK"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     thigh_fk: StringProperty(name="Thigh FK Name")
     shin_fk:  StringProperty(name="Shin FK Name")
diff --git a/rigify/rigs/experimental/super_chain.py b/rigify/rigs/experimental/super_chain.py
index 6786b7c56ff7a8b192ebba7a6aef3a559d99af09..2a3a85f690c0eb1838753d555c92a688cf78f413 100644
--- a/rigify/rigs/experimental/super_chain.py
+++ b/rigify/rigs/experimental/super_chain.py
@@ -29,11 +29,11 @@ class Rig:
         setattr(v, axis, scale)
 
         if reverse:
-            tail_vec = v * self.obj.matrix_world
+            tail_vec = v @ self.obj.matrix_world
             eb.head[:] = eb.tail
             eb.tail[:] = eb.head + tail_vec
         else:
-            tail_vec = v * self.obj.matrix_world
+            tail_vec = v @ self.obj.matrix_world
             eb.tail[:] = eb.head + tail_vec
 
     def create_pivot(self, pivot=None):
diff --git a/rigify/rot_mode.py b/rigify/rot_mode.py
index 2b2343350c71ea33a78991e90fed48690924c674..fbc425f6b9145bd702bba5b6be7e6b49be217941 100644
--- a/rigify/rot_mode.py
+++ b/rigify/rot_mode.py
@@ -259,7 +259,7 @@ class CONVERT_OT_quat2eu_current_action(bpy.types.Operator):
     bl_label = 'Convert Current Action'
     bl_idname = 'rigify_quat2eu.current'
     bl_description = 'Converts bones in current Action'
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'INTERNAL'}
 
     # on mouse up:
     def invoke(self, context, event):
@@ -285,7 +285,7 @@ class CONVERT_OT_quat2eu_all_actions(bpy.types.Operator):
     bl_label = 'Convert All Actions'
     bl_idname = 'rigify_quat2eu.all'
     bl_description = 'Converts bones in every Action'
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'INTERNAL'}
 
     # on mouse up:
     def invoke(self, context, event):
diff --git a/rigify/ui.py b/rigify/ui.py
index 0ec387917a36f8a8c01f59fb369a0cc096fe1896..0091f7b91350d3fefbc2329c81914483ed753ad4 100644
--- a/rigify/ui.py
+++ b/rigify/ui.py
@@ -731,7 +731,7 @@ class LayerInit(bpy.types.Operator):
 
     bl_idname = "pose.rigify_layer_init"
     bl_label = "Add Rigify Layers"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     def execute(self, context):
         obj = context.object
@@ -748,7 +748,7 @@ class Generate(bpy.types.Operator):
 
     bl_idname = "pose.rigify_generate"
     bl_label = "Rigify Generate Rig"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
     bl_description = 'Generates a rig from the active metarig armature'
 
     def execute(self, context):
@@ -784,7 +784,7 @@ class SwitchToLegacy(bpy.types.Operator):
     bl_idname = "pose.rigify_switch_to_legacy"
     bl_label = "Legacy Mode will disable Rigify new features"
     bl_description = 'Switches Rigify to Legacy Mode'
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     def invoke(self, context, event):
         return context.window_manager.invoke_confirm(self, event)
@@ -799,7 +799,7 @@ class Sample(bpy.types.Operator):
 
     bl_idname = "armature.metarig_sample_add"
     bl_label = "Add a sample metarig for a rig type"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     metarig_type: StringProperty(
         name="Type",
@@ -1211,6 +1211,7 @@ class OBJECT_OT_IK2FK(bpy.types.Operator):
     bl_idname = "rigify.ik2fk"
     bl_label = "IK2FK"
     bl_description = "Snaps IK limb on FK"
+    bl_options = {'INTERNAL'}
 
     def execute(self,context):
         rig = context.object
@@ -1226,6 +1227,7 @@ class OBJECT_OT_FK2IK(bpy.types.Operator):
     bl_idname = "rigify.fk2ik"
     bl_label = "FK2IK"
     bl_description = "Snaps FK limb on IK"
+    bl_options = {'INTERNAL'}
 
     def execute(self,context):
         rig = context.object
@@ -1240,6 +1242,7 @@ class OBJECT_OT_TransferFKtoIK(bpy.types.Operator):
     bl_idname = "rigify.transfer_fk_to_ik"
     bl_label = "Transfer FK anim to IK"
     bl_description = "Transfer FK animation to IK bones"
+    bl_options = {'INTERNAL'}
 
     def execute(self, context):
         rig = context.object
@@ -1255,6 +1258,7 @@ class OBJECT_OT_TransferIKtoFK(bpy.types.Operator):
     bl_idname = "rigify.transfer_ik_to_fk"
     bl_label = "Transfer IK anim to FK"
     bl_description = "Transfer IK animation to FK bones"
+    bl_options = {'INTERNAL'}
 
     def execute(self, context):
         rig = context.object
@@ -1268,6 +1272,7 @@ class OBJECT_OT_ClearAnimation(bpy.types.Operator):
     bl_idname = "rigify.clear_animation"
     bl_label = "Clear Animation"
     bl_description = "Clear Animation For FK or IK Bones"
+    bl_options = {'INTERNAL'}
 
     anim_type: StringProperty()
 
@@ -1290,6 +1295,7 @@ class OBJECT_OT_Rot2Pole(bpy.types.Operator):
     bl_idname = "rigify.rotation_pole"
     bl_label = "Rotation - Pole toggle"
     bl_description = "Toggles IK chain between rotation and pole target"
+    bl_options = {'INTERNAL'}
 
     bone_name: StringProperty(default='')
     window: StringProperty(default='ALL')