Don Shipley, a retired SEAL, told the Navy Times that he contacted Fox on Oct. 9, the day after the story ran.
But the story was still on the news outlet's Facebook page on Oct. 19. By then it had amassed 1.5 million views.
Fox published a correction on Thursday.
"All of Garofalo's claims turned out to be untrue," Fox's correction stated. "The fact is that he did not serve in Vietnam. He was never a U.S. Navy SEAL. Even though he showed us medals, Garofalo was not awarded two Purple Hearts or any of the other nearly two dozen commendations he claimed to have received, except for the National Defense Service Medal."
A Fox spokesman told the Navy Times it would run an on-air correction on Sunday.
"Fox News not withdrawing that story has drove me nutty," Don Shipley, a retired SEAL who tracks down and exposes bogus military service claims and was the first to obtain official records disputing Garofalo's story, told the Navy Times.
In the retracted segment, Fox News reporter Bryan Llenas repeatedly praised Garofalo for his service.
"Garofalo is used to working under pressure," Llenas said. "The Vietnam War veteran served seven years as a member of the nation's first Navy SEAL team. He was awarded 22 commendations, including two Purple Hearts."
"You are a hero," Llenas told him.
"God bless John Garofalo," another anchor said. "We certainly hope maybe the president is listening."
Shipley said he reached out to Llenas via Facebook, telling him that Garofalo was not a Vietnam War veteran.
"You can turn this story around," he told Llenas, according to the Navy Times.
In its correction, Fox News said, "Over the last two weeks, we've worked with Garofalo's family and the National Personnel Records Center to get to the bottom of a military past that Garofalo had claimed to be covert."
Garofalo served in the Navy from Sept. 6, 1963, to Sept. 6, 1967, according to military records obtained by the Navy Times. He told the newspaper he has been lying about being a Vietnam veteran and a Navy SEAL for years.
"It got bigger and bigger," Garofalo told the newspaper in a telephone interview. "What I did I'm ashamed of, and I didn't mean to cause so much disgrace to the SEALs."