Salt going nowhere is the softener world’s most diagnostic non-event: it means no regeneration is actually happening, whatever the valve claims. Work these five checks in order; the first two resolve most cases.
1. A salt bridge is hiding the usage
The classic false alarm: a hardened salt shelf spans the tank, the hollow below fills and empties invisibly, and the bag-level looks unchanged while cycles run on plain water. Push a broom handle firmly into the salt; a stop a few inches below the fill line is the bridge. Break it, and expect hardness to recover within a day.
2. The valve is not scheduling cycles
Power blips reset digital heads to defaults or stop clocks entirely. Confirm the display shows a real time and a regen is scheduled; on metered systems, run a faucet and watch the flow indicator move. If the indicator never moves, the turbine is the suspect, not the schedule.
3. The brine line or injector is blocked
The valve draws brine through a small venturi that sediment and resin fines love to clog. Symptoms: the system regenerates audibly, water runs to drain, but salt does not drop and hardness creeps back. Cleaning the injector assembly is a $0–30, twenty-minute job on every mainstream platform.
4. The valve is not actually cycling
Listen at 2am or trigger a manual regeneration. No motor sound and no drain flow means no cycle: motor module or piston on the list, $20–60 on Fleck-platform hardware, a dealer part on proprietary heads (the repair economics are in our cost guide).
5. Nobody measured right
Salt sits still for weeks in low-usage homes by design: a couple on correctly sized hardware might burn one bag every six to eight weeks. Before diagnosing a healthy system, do the math with the calculator and the frequency explainer.
When hardness returns while salt stands still
That combination is the emergency: hard water is reaching the house now. Bypass-check first (a partially closed bypass explains everything), then work the list above. If all five pass and the water still tests hard, the resin is exhausted and a replacement conversation starts.