I think you don’t use CFrame.new when multiplying a Vector3 and a CFrame, just directly multiply the Vector3 and the CFrame without any CFrame.new, then store it in a variable.
Doesn’t CFrame.new(Vector3) convert it a cframe that can be multipled to a cframe.angle
the grips position is set perfectly its just the orientation that is messed up
Oh wait, oops
Didn’t see your formatting clear enough, looks like you just wrapped the Vector3 in the CFrame.new, not the CFrame.Angles as well.
Anyway, did you get any errors?
(Oh and by the way, there is the potential that Roblox is just changing the angles to an equivalent angle, like how Vector3.new(0, -270, 0) is equivalent to Vector3.new(0, 90, 0))