In fact, the problem was present with any kind of constraint… We need the cursor coordinates in the rest bone space (aka armature space), i.e with all "manual" and "procedural" (constraints, ...) pose transforms cleared (as said in armature_mat_pose_to_bone: /* Remove the pchan's transforms from it's pose_mat. * This should leave behind the effects of restpose + * parenting + constraints */ , only "manual" transforms are "cleared" by armature_loc_pose_to_bone...).