Hi @Marina its an issue because stagger needs an array. When your looping through each element and adding the timeline to them individually its still animating but has no siblings to stagger with.
gsap.registerPlugin(MotionPathPlugin);
let cabezas = document.querySelectorAll('.cabeza');
const r = 6;
let tl = gsap.timeline();
tl.to(cabezas, {
motionPath: {
path: `M ${-r}, 0
a ${r},${r} 0 1,0 ${r * 2},0
a ${r},${r} 0 1,0 -${r * 2},0z`,
},
duration: 5,
repeat: -1,
ease: 'none',
stagger: 0.5,
});
Strip it out of the loop and it behaves ... well it staggers