US President Donald Trump has vetoed a $740bn (£549bn) defence spending bill that passed Congress this month.
Mr Trump is objecting to provisions that limit troop withdrawals from Afghanistan and Europe and remove Confederate leaders’ names from military bases.
He also wanted it to repeal a liability shield for social media companies.
Lawmakers passed the measure with an overwhelming majority and could override the president’s rejection.
Bills passed by Congress need a president’s signature to become law. On rare occasions, a president may choose to veto – or reject – legislation because of some policy disagreement.
Lawmakers can override a presidential veto and enact the bill into law by mustering two-thirds of votes in both chambers of Congress – the House of Representatives and the Senate.
If Congress does not override Mr Trump’s veto in this case, it would be the first time in 60 years that the National Defense Authorization Act (NDAA) does not become law.
Mr Trump called the 4,500-page act, which has been nearly a year in the making, a “gift to China and Russia”.
“Unfortunately, the Act fails to include critical national security measures, includes provisions that fail to respect our veterans and our military’s history, and contradicts efforts by my administration to put America first in our national security and foreign policy actions,” he said in a statement.
Mr Trump also said the bill’s measures to limit bringing troops home was “bad policy” and “unconstitutional”.
Later on Wednesday, the president and his wife Melania flew from Washington DC to Florida to spend Christmas at their Mar-a-Lago resort in the southern state.
39 total views, 5 views today