I’ve seen this a bunch of times and it’s almost always about what gets added during the soak, not what the water looks like before. Hot tubs are small, so one normal night of use can spike the bather load fast. Sweat, oils, a bit of lotion, all that stuff stays invisible at first, then shows up as cloudiness once the water cools and circulation slows overnight.
What fooled me early on was that my test numbers looked fine too. Sanitizer was in range, pH looked ok, but the chlorine was busy chewing through organics instead of keeping the water polished. Once I started shocking right after we got out, the morning cloudiness mostly stopped. I also realized my alkalinity had dipped just enough that pH was drifting after use, which made the sanitizer less effective even though strips didnt scream red flags.
Filters matter more here than people think. If filter pressure creeps up or the cartridge is a little blinded, the really fine particles just keep floating. I rinse mine more often now and do a deeper clean monthly. On weeks where we use it a lot, I’ll add a small dose of aquadoc water clarifier so the tiny stuff clumps and actually gets caught instead of hanging in suspension.
One last habit that helped was leaving the cover cracked for 15 or 20 minutes after soaking so the water can off-gas and circulate properly. Between that, post-soak shock, and keeping alkalinity steady, the water stopped turning milky by morning. If it’s happening every single use, I’d bet it’s organics plus filtration, not that your chemistry is totally wrong.