That’s why they were building all these missiles. Then when they are loaded up with thousands of more missiles the US wouldn’t be able to do anything about it or stop them from pursuing a nuclear weapon because they have too many missiles and the cost would be too great. The US is preventing a geopolitical (> strategic) defeat by acting now.
The US also lets the ships through because it’s just more oil on the market to keep prices low. Iran being able to shoot missiles doesn’t mean they control the straight. Otherwise the US also controls the straight because it can lob missiles at tankers. It’s been 5 weeks, let’s hold off on “possibly the worst strategic loss in all of American history” for a few weeks eh?