President Donald Trump announced Tuesday that he fired his national security adviser John Bolton, saying he was not "totally" in accordance with his positions.
"I asked John for his resignation, which was given to me this morning," Trump announced on Twitter.
"Last night I informed John Bolton that his services are no longer necessary in the White House."
Trump said he would name a replacement next week.
Bolton denied being fired and said he had resigned. The news, the next few days after Trump caused a fuss by revealing that he was canceling the secret talks with the Taliban in Afghanistan, surprised Washington.
Bolton is a veteran and controversial figure closely linked to the invasion of Iraq and other aggressive foreign policy decisions. He had been seen as one of the main driving forces in the White House's muscular approach to Iran, Venezuela and other trouble spots.
As often in Trump's presidency, abrupt reorganization seemed to contain an element of chaos.
Trump's tweeted announcement came shortly after the White House press office said Bolton would soon offer a press conference on terrorism issues along with Secretary of State Mike Pompeo.
Bolton himself questioned Trump's version of the events, apparently saying that the president had not fired him in person, as he said, on Monday night.
"I offered to resign last night and President Trump said," Let's talk about that tomorrow, "Bolton tweeted.
More details to follow.