Why is this sit script not working?

So apparently this script doesn’t work it says the Humanoid is dead but It’s not it might be because the Humanoid Hasn’t fully loaded yet. How do i fix it?

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		local hum = char:WaitForChild("Humanoid")
		
			game.Workspace.Seat:Sit(char.Humanoid)
	end)
end)
game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(charac)
repeat wait() until charac.Humanoid
		local hum = charac:WaitForChild("Humanoid")
		
			game.Workspace.Seat:Sit(hum)
	end)
end)
game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		local hum = char:WaitForChild("Humanoid")
		game.Workspace.Seat:Sit(hum)
	end)
end)

A repeat - until loop is the same as Character:WaitForChild().

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		wait(3)
		local hum = char:FindFirstChild("Humanoid")

		game.Workspace.Seat:Sit(hum)
	end)
end)

this works 100% jsut tested it