attach object to another object without losing original position

hi, i am getting grazy with this problem with an animation.

there is a tote in a rack. a fork goes to the rack position and then extends to the sides to grab it. when grabbed, fork retracts, dragging back the tote out of the rack.

for that animation, i want to attach the tote to the fork when the fork grabs it, but keeping the original position, wishing no visible jump when attached to the fork. then the position in the world before the grabbing must be the same than after. only difference is that after grabbing, because attached, the tote “follows” the fork.

for that i check the world position just before the attachment (circle) and when the attachment happens i have another keyframe with the same world position (triangle).

but the problem is that when it goes from circle to triangle, the tote jumps to other position, why? it is quite frustating.

following the images of the “jump”, any idea? also if any suggestion to make the attachment in other way, great, thanks.