To a man and woman, nearly every one of the 237 Republicans elected to the House last November made the same promise to voters: Give us control of Congress and the White House, and we will repeal and replace the Affordable Care Act.

On Friday, those lawmakers decided to leave the Republican Party’s core campaign pledge of the last seven years unfulfilled. The president called The Washington Post’s Robert Costa. “We just pulled it,” Trump told him, adding, “I don’t blame Paul [Ryan].”

After Speaker Paul Ryan went to the White House to inform President Trump that Republicans could not assemble the votes it needed to pass, he withdrew the legislation replacing the Obama-era health law. Party leaders in Congress appeared to want to spare their members from having to cast a vote in favor of a unpopular bill that would not become law.

Earlier in the afternoon, Sean Spicer, the White House press secretary, told reporters that the vote was still on, although he had ditched his confident guarantees of recent days that it would pass. “At the end of the day, you can’t force somebody to do something,” he said. “We are where we are, and members have got to make that decision for themselves. This is the final hour to make that decision.”

Although Spicer had insisted the legislation was picking up support, previously undecided Republicans peeled away throughout the day on Friday. In an enormous loss for the GOP leadership, the chairman of the powerful Appropriations Committee, Representative Rodney Frelinghuysen of New Jersey, announced he would oppose the bill. In previous generations, it would be unheard of for a top committee chairman to oppose party leaders on such a major vote.

Representatives Barbara Comstock of Virginia and David Joyce of Ohio followed suit about an hour later, sapping momentum from the effort less than a day after Trump delivered an ultimatum to Republicans to pass his bill or see Obamacare live on. While conservative members of the Freedom Caucus withheld their support despite winning last-minute changes to broaden the repeal, it was the defection of more moderate and electorally vulnerable members that sealed its fate. Republicans can afford to lose no more than 22 votes to achieve a majority, and the opposition in numerous media whip lists exceeded that number by Friday afternoon.

The White House and GOP leaders searched for votes wherever they could, but there were few lawmakers willing to suddenly support a bill they had already publicly denounced. Representative Walter Jones of North Carolina, a frequent dissenter in the party, said he waved off a last-minute call from the office of Representative Steve Scalise of Louisiana, the party whip. “I said, ‘Let me tell you: I don’t want to waste his time,’” Jones told reporters. “I don’t see anybody that was a no yesterday changing their vote.” He then ripped into the proposal and the leadership’s insistence that it pass. “This was absolutely a bad decision to move this type of bill this early,” Jones said.

Defeat on the floor dealt Trump a major blow early in his presidency, but its implications were far more serious for the Republican Party as a whole. Handed unified control of the federal government for only the third time since World War II, the modern GOP was unable to overcome its internecine fights to enact a policy agenda. The president now wants to move on to a comprehensive overhaul of the tax code, but insiders on Capitol Hill have long believed that project will be an even heavier lift than health care.

As the prospect of a loss became more real on Friday, the frustrations of GOP lawmakers loyal to the leadership began to boil over. “I’ve been in this job eight years, and I’m wracking my brain to think of one thing our party has done that’s been something positive, that’s been something other than stopping something else from happening,” Representative Tom Rooney of Florida said in an interview. “We need to start having victories as a party. And if we can’t, then it’s hard to justify why we should be back here.”