If your vehicle is showing water leaking from top of windshield or headliner, here are the most likely causes and the parts you'll need to fix each one.
Debris like dirt and leaves can clog the sunroof drain tubes, or the tubes can disconnect from the sunroof frame. This causes rainwater to overflow the track and soak directly into the headliner.
A gap in the urethane adhesive bead or a pinched molding will allow water to seep in at the top edge of the glass. This is highly common after a recent, poorly executed windshield replacement.
The rubber gasket sealing the base of the roof-mounted antenna degrades and cracks over time due to UV exposure, letting water drip directly onto the headliner.
The weatherstripping or seals along the roofline, roof rack mounting points, or upper door jambs can dry rot or tear, allowing water intrusion above the headliner.
Severe rust around the metal windshield frame creates structural holes under the glass seal, allowing water to bypass the weatherstripping entirely. Often caused by deep scratches left untreated during a previous windshield replacement.