I'd suggest not using modifier add operator and use `modifiers.new(name, type)` instead. Avoids hassle of changing the active object and also if using the op to add a second modifier of the same type, would need to access it via `obj.modifiers[-1]` as it will be named "Solidify.001" or somesuch. import bpy context = bpy.context obj = context.active_object # add a solidify modifier on active object mod = obj.modifiers.new("Solidify", 'SOLIDIFY') # set modifier properties mod.thickness = 0.1 mod.use_flip_normals = True for o in context.selected_objects: if o == obj: continue # see if there is already a modifier named "SelectedSolidify" and use it mod = o.modifiers.get("SelectedSolidify") if mod is None: # otherwise add a modifier to selected object mod = o.modifiers.new("SelectedSolidify", 'SOLIDIFY') mod.thickness = 0.3