The problem is due to requirement of list in np.append instead of np.array i think
In the backend it will call concatenate so you can try below snippets
We can concatenate compatible numpy arrays, numpy arrays become compatible when their shape size is same.
That is why they single shape points.shape[0] is made into 2D by broadcasting over new dimension using np.newaxis.
Also you dont need new axis if you already define shape appropriately in np.zeroes
>>> import numpy as np
>>> points=[[-1,0],[5,6]]
>>> points = np.array(points)
>>> np.concatenate([points, np.zeros(points.shape[0])[:,np.newaxis]], axis=1)
array([[-1., 0., 0.],
[ 5., 6., 0.]])
>>> np.concatenate([points, np.zeros((points.shape[0], 1))], axis=1)
array([[-1., 0., 0.],
[ 5., 6., 0.]])
>>> print('trying to generalize')
>>> np.concatenate([points, np.zeros((points.shape[0], *[1] * len(points.shape[1:])))], axis=1)
array([[-1., 0., 0.],
[ 5., 6., 0.]])