Moving handle without moving player

Im trying to move the handle of a tool without it moving the player. Every time I do this in a local script, though, it moves the player as well. Example:

game:GetService("RunService").Heartbeat:Connect(function()
	if script.Parent.Parent == game.Players.LocalPlayer.Character then
		script.Parent.Handle.CFrame = camera.CFrame + Vector3.new(5,0,0)
	end
end)

When I use this the player moves with the handle, and thats not the intended effect.

You can use Tool.Grip to modify the relative position between hand and handle.

Thats not the problem. The problem is when I move the handle with a script the player moves with it in game