“These people want to push us into a war, and it’s so disgusting,” the US president said about his inner circle of aides, according to The Wall Street Journal.
“We don’t need any more wars.”
Mr Trump is said to have made the remarks about his administration officials to a confidant, in a private conversation on Friday.
But the president abruptly cancelled planned military strikes on three Iranian targets on Thursday.
He claimed he did so after learning that 150 people would be killed in the strikes, which were planned in response to Iran shooting down an unmanned US drone.
Tehran claims the drone was struck above its own waters, while the US argues that it was attacked above international airspace over the Strait of Hormuz.
US military forces launched a cyber attack against Iran’s army computer systems on Thursday in response to the drone’s loss.
Tensions between the US and Iran have steadily been rising over oil tanker attacks in the strait, for which the US believes Iran is responsible.
Mr Trump told White House reporters on Saturday that he disagreed with his team over Iran.
“John Bolton is doing a good job, but he takes generally a tough posture,” he said.
“The only one that matters is me.”
The president also discussed Mr Bolton’s support of the Iraq war and told reporters the conflict had been a big mistake.
Mr Trump also said that unspecified new sanctions would be enforced against Iran on Monday but struck a softer tone when discussing the diplomatic crisis.
“The fact is we’re not going to have Iran have a nuclear weapon,” he said.
“And when they agree to that, they are going to have a wealthy country, they’re going to be so happy and I’m going to be their best friend.”
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies