The first example on the WhenEvent help page is
NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0,
WhenEvent[y[t] == 0, y'[t] -> -0.95 y'[t]]}, y, {t, 0, 10}];
Say I want to stop the integration at the first bounce, I would put
NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0,
WhenEvent[y[t] == 0,"StopIntegration"]}, y, {t, 0, 10}];
That, however, does not stop the integration (i.e. it goes on to t=10), neither does the condition y[t] < 0. What am I doing wrong?