Defense Secretary Mark Esper told the Navy on Friday that he couldn’t sign off on a Navy recommendation to reinstate the USS Theodore Roosevelt’s captain, who was fired earlier this month after pleading for help to combat the ship’s coronavirus outbreak, according to people familiar with the recommendation.

The Navy concluded after a week-long investigation that Capt. Brett Crozier should be reinstated as captain of the nuclear-powered aircraft carrier, according to congressional officials. Mr. Esper told Navy officials that...