A practical wait-time table for every common hot tub chemical, including the odd ones (algaecide, defoamer, clarifier) most guides skip.
There is no single answer because different chemicals do different things, but most have a clear safe re-entry window once they have circulated and the readings are in the bathing band. Here is the table you actually need on the side of the tub.
pH increaser or decreaser: 30 minutes with the jets running, then test before getting in.
Free chlorine top-up (granular): 30 minutes if you stay below 5 ppm. After a true shock dose (above 10 ppm), wait until the reading drops back below 5.
Bromine tablets in a feeder: no wait, but allow 24 hours after a fresh feeder set-up for the level to climb into band.
Alkalinity increaser: 1 hour, with a re-test before bathing. The dose can move pH as well so check both.
Non-chlorine shock: 15 to 20 minutes is plenty. Some labels say longer because they assume a swimming pool turnover, not a hot tub.
Algaecide: 30 minutes. Some copper-based products have a longer wait, so check the bottle. Algaecide is rare in hot tubs but common in swim spas.
Clarifier and defoamer: no wait. They are not sanitisers and the doses are tiny.
Calcium hardness increaser: 1 hour with the jets running, ideally added with the cover off so you can see it dissolve.
Add chemicals at the same time each week, ideally an evening when no one wants the tub. By morning everything is settled.
Never stack incompatible chemicals into the same hour. Add chlorine and pH down separately, with the jets running between, or you will get a localised low-pH bleach reaction at the dosing point.
Keep a small bucket and ladle. Pre-dissolve granular products in a litre of tub water before you pour them in, so they distribute evenly rather than sinking to the floor.
Run the jets the whole time and re-test rather than guessing. If free chlorine is in band and pH is between 7.2 and 7.6, you are good to go.
Off for shock and chloramine treatment so gases can vent. On for everything else so heat is not lost.