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 by mustering two-thirds of votes in both chambers of Congress, allowing the bill to become law anyway.
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.
The president also said the bill’s measures to limit bringing troops home was “not only is this bad policy, but it is unconstitutional”.
Ahead of Wednesday’s veto, some of the outgoing president’s advisers had cautioned him against rejecting the bill, as he is expected to be overruled by Congress.
Mr Trump has previously vetoed eight bills, which were all upheld with support from his fellow Republicans in Congress.
He is due to leave office on 20 January, when he will be replaced by Democrat Joe Biden.
Read full story on BBC NEWS