Washington (AFP) - US President Barack Obama vetoed a $612 billion defense spending bill Thursday, saying it prevented the closure of Guantanamo Bay prison and wasted money on unwanted programs.
Making a rare public show of rejecting a law, Obama said the text agreed by the Republican-controlled Congress "falls woefully short" in key areas.
Obama said the bill did "a number of good things," including reforming military retirement and funding cyber security, but "resorts to gimmicks" and funded unwanted programs.
He zeroed in on provisions that would restrict the transfer of prisoners from Guantanamo Bay on the tip of Cuba, to the United States.
"This legislation specifically impedes our ability to close Guantanamo," he said.
"Guantanamo is one of the premier mechanisms for jihadists to recruit, it is time for us to close it. It's outdated, it's expensive."
After embarrassing false starts, Obama is making a final push to close Guantanamo prison.
But to fulfill that glaringly incomplete campaign promise he faces unpalatable compromises and internal resistance.
But the fate of those deemed too dangerous to release -- but too difficult to prosecute -- has stymied his efforts.
The administration is looking at military facilities like Fort Leavenworth, Kansas or the Navy Brig in Charleston, South Carolina as possible destinations for inmates.
But Congress wants to have control of any transfer and to ensure that prisoners do not have full rights afforded to American civilians.
The American Civil Liberties Union, which has campaigned for the prison's closure, welcomed the move.
"The president clearly did the right thing by rejecting the bill's restrictions on transferring Guantanamo prisoners who have been locked up without charge or trial for years on end," said executive director Anthony Romero.
"Now Congress needs to send back the president a bill that will let him close Guantanamo and end indefinite detention, and he needs to take decisive action to make his promise to close the prison a reality.
"He needs to do this soon, before his legacy is irreparably tarnished by the stain of Guantanamo."
Obama also said the budget "prevents a wide range of reforms that are necessary for us to get our military modernized."
"We have repeatedly put forward a series of reforms eliminating reforms that the Pentagon does not want, Congress keeps stuffing 'em back in," he said.
"We end up wasting money, we end up diverting resources from things that we do need."
House Speaker John Boehner instantly lambasted Obama as "placing domestic politics ahead of our troops."
He added: "President Obama has put America's national security at risk."