Trump has spent a year making it pretty clear he loathes having Jeff Sessions as his attorney general. So why is he still too afraid to fire him?

In what has become one of the longest running political sob stories in Washington, D.C., Trump continues to relentlessly bemoan the fact that Jeff Sessions is his attorney general.

But then he does nothing about it.

Furious that Sessions recused himself from overseeing the Russia investigation last year, which then opened the door for the appointment of special counsel Robert Mueller, Trump took to Twitter Wednesday to once again lament choosing Sessions.

While likely watching Rep. Trey Gowdy (R-SC) note during a Fox News interview that Trump could have “picked somebody else” for the attorney general job, Trump tweeted:

This came the same day The New York Times reported that last winter at Mar-a-Lago, Trump lashed out at Sessions during a private meeting, just as the Russia scandal was exploding.

“Mr. Trump, who had told aides that he needed a loyalist overseeing the inquiry, berated Mr. Sessions and told him he should reverse his decision, an unusual and potentially inappropriate request,” the Times noted.

And in July 2017, Trump demanded that his then-chief of staff Reince Priebus get Sessions to resign within a matter of days. Priebus did nothing, and was soon out as chief of staff.

Trump’s latest frustration regarding Sessions comes in the wake of the spectacular flop of his so-called “spygate” charade. Designed to undercut the Russia probe, even conservatives agree that Trump’s reckless claims about being spied on by the FBI and the Obama administration during the 2016 campaign ring completely hollow.

Trump, of course, could fire Sessions tomorrow if he wanted. He could take drastic action, as he has done a number of times already.

Several Cabinet-level officials — including Secretary of State Rex Tillerson, national security adviser H.R. McMaster, Veterans Affairs Secretary David Shulkin — have been summarily and seemingly capriciously axed by Trump.

So why is he keeping the one person he’s made clear over and over again he wished he had never picked in the first place? Why does he simply whine ceaselessly, acting as if he’s powerless to make a change?

Is it possible he really is afraid of Sessions and what Sessions knows, and might say, about the campaign’s Russia connections? Or any number of other scandals to which Sessions has had a front-row seat?

Notably, the Times reports that some Republicans senators, nervous about the backlash that firing Sessions could create for the party, have threatened that they would refuse to confirm whomever Trump chose as his next attorney general.

But that seems rather implausible since the Republican Party has categorically refused to stand up to Trump in any meaningful way. The idea that Republicans would join with Democrats and refuse to confirm Trump’s top law enforcement choice doesn’t add up.

Whatever the reason, and despite his year of complaints, Trump has thus far been unwilling to get rid of the adviser he complains about the most.

And his incessant online complaining about Sessions has not dissuaded Mueller in the slightest. Indeed, Trump’s bullying of Sessions is now front and center in the probe, intensifying the case for obstruction of justice.

And all Trump seems able to do is watch — and whine. Unlike so many on his team who have displeased him, Trump is too cowardly to take that step with Sessions.

But why?