Because they want it to be executed quickly and cheaply without blocking the workflow? Doesn’t seem very weird to me at all.
Why do you need to do it at the client side? You are leaking so much information on the client side. And considering the speed of Claude code, if you really want to do on the client side, a few seconds won't be a big deal.
It looks like it's just for logging, why does it need to block?
They probably have statistics on it and saw that certain phrases happen over and over so why waste compute on inference.