The bill seeks to give more power to the states by converting dollars currently spent on ObamaCare’s subsidies and Medicaid expansion into block grants to states. The bill would also allow states to waive ObamaCare regulations, including those protecting people with pre-existing conditions from being charged higher premiums.

Though McCain's opposition doesn't formally kill the legislation, it leaves leadership with a daunting task: Winning over every other member of a caucus that includes both moderates and firebrand conservatives.

Sen. Rand Paul (R-Ky.) has already said he opposes the bill because it doesn't go far enough in repealing ObamaCare.

McCain, who has brain cancer, cast the decisive vote that halted the GOP's first ObamaCare repeal effort over the summer. With a dramatic thumbs down on the Senate floor, he stopped that legislation in its tracks.

Murkowski and Collins also voted against that "skinny" repeal bill.

McCain at the time complained the legislation had been rushed to the floor without going through the normal committee process, and he leveled that same complaint against Graham-Cassidy.

“I would consider supporting legislation similar to that offered by my friends Senators Graham and Cassidy were it the product of extensive hearings, debate and amendment. But that has not been the case. Instead, the specter of [the] Sept. 30 budget reconciliation deadline has hung over this entire process," he said on Friday.

McCain also said he couldn't back the bill without seeing a full analysis from the nonpartisan Congressional Budget Office (CBO).

Without a CBO score, McCain said, lawmakers have no "reliable answers" to questions about how much the bill will cost, how many people will be covered and how it will affect insurance premiums.

The CBO has said its analysis won't be ready until next month.

McCain urged his colleagues to try to craft a bipartisan healthcare bill using "regular order."

"We should not be content to pass health-care legislation on a party-line basis, as Democrats did when they rammed Obamacare through Congress in 2009. If we do so, our success could be as short-lived as theirs," he said.

McCain said Alexander and Murray had been "negotiating in good faith" and urged them to resume their talks if a third GOP senator comes out against the ObamaCare repeal bill.

"I fear that the prospect of one last attempt at a strictly Republican bill has left the impression that their efforts cannot succeed," he said. "I hope they will resume their work should this last attempt at a partisan solution fail."

“John McCain shows the same courage in Congress that he showed when he was a naval aviator," Schumer said. "I have assured Senator McCain that as soon as repeal is off the table, we Democrats are intent on resuming the bipartisan process.”

Late-night comedian Jimmy Kimmel, who has been waging a crusade against the Graham-Cassidy bill, hailed McCain as a hero.

Thank you @SenJohnMcCain for being a hero again and again and now AGAIN