“I asked John for his resignation, which was given to me this morning,” Trump announced on Twitter.
“I informed John Bolton last night that his services are no longer needed at the White House,” Trump wrote, saying he would name a replacement next week.
Bolton denied being fired and said he had resigned.
The news — coming days after Trump caused uproar by revealing he was canceling secret talks with Afghanistan’s Taliban — stunned 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 the Trump presidency, the abrupt reshuffle appeared to contain an element of chaos.
Trump’s tweeted announcement came shortly after the White House press office had said Bolton would shortly be giving a press conference on terrorism issues alongside Secretary of State Mike Pompeo.
Bolton himself disputed Trump’s version of events, apparently saying that the president had not fired him in person, as he claimed, late Monday.
“I offered to resign last night and President Trump said, “Let’s talk about it tomorrow,” Bolton tweeted. BBC News