Detect dramatic increase in proportion among multiple classes I would like to use some tool to detect spike in one class's proportion.
Assume I received roughly the same percentage of red, blue and yellow candies throughout time. That means the absolute number can go up and down for each type of candy but the percentage for each candy will stay roughly the same. For example, it could be

*

*80 red (28%), 90 blue (32%), 110 yellow (39%)

*1 red (33%), 1 blue (33%), 1 yellow (33%)

And these are totally fine.
I want a tool to statistically detect when a particular percentage is larger than usual. For example, let's say one day i received 5 red (71%), 1 yellow and 1 blue. That will trigger the warning that the percentage for red is abnormal.
My gut instinct told me i should use Chi-square test to test one class vs. the rest of the classes. Is that correct?

Your goal is: "I want a tool to statistically detect when a particular percentage is larger than usual." That is what outlier/anomaly detection methods are made for.
Those methods have different techniques for achieving this. There are good libraries available, see e.g. here for python libs. Among the most popular methods, that also work for a large number of classes, are e.g. k-nearest neighbor methods or isolation forest. Note, however, that they rather detect any kind of isolation, which might also be an isolated very small value as for instance the value $0.1\%$ in $(0.1\%, 24.9\%, 25\%, 25\%, 25\%)$. Or it could be an isolated value in the middle. Those anomalies would not give you high values of z-score.
Most anomaly detection methods provide you with an outlier score which is a measure of its "outlier-ness". That makes those methods particularly flexible since you can yourself decide about where to set the threshold, i.e. above which value of the outlier score a value is to be considered an outlier.
