Get breaking news alerts and special reports. The news and stories that matter, delivered weekday mornings.

The Trump administration violated the law by withholding military aid to Ukraine, the U.S. Government Accountability Office said in a decision released Thursday.

"In the summer of 2019, the Office of Management and Budget (OMB) withheld from obligation funds appropriated to the Department of Defense (DOD) for security assistance to Ukraine," the non-partisan government watchdog's ruling said.

"Faithful execution of the law does not permit the president to substitute his own policy priorities for those that Congress has enacted into law. OMB withheld funds for a policy reason, which is not permitted under the Impoundment Control Act (ICA). The withholding was not a programmatic delay. Therefore, we conclude that OMB violated the ICA."

"An appropriations act is a law like any other; therefore, unless Congress has enacted a law providing otherwise, the president must take care to ensure that appropriations are prudently obligated during their period of availability," the decision says.

"The Constitution grants the president no unilateral authority to withhold funds from obligation."

If the White House wanted to withhold the funds, the president had an obligation to notify Congress and "provide detailed and specific reasoning to justify the withholding," the decision said.

An OMB spokesperson said in response, "We disagree with GAO's opinion. OMB uses its apportionment authority to ensure taxpayer dollars are properly spent consistent with the president's priorities and with the law."

A senior administration official said the GAO's findings "are a pretty clear overreach as they attempt to insert themselves into the media’s controversy of the day" and predicted the agency would have to reverse itself.

“GAO’s opinion would force agencies to spend appropriated funds as quickly as possible, before a thoughtful policy process could be completed," the official said. "This opinion stretches the legal requirements of the ICA, and following it would be irresponsible."

OMB had said in a footnote in related paperwork during the hold in aid that the freeze was in place “to determine the best use of such funds,” and the agency told the GAO the hold was "necessary to ensure that the funds were not spent 'in a manner that could conflict with the president’s foreign policy.'"

Let our news meet your inbox. The news and stories that matters, delivered weekday mornings. This site is protected by recaptcha

The GAO called that reasoning "impermissible." "Faithful execution of the law does not permit the president to substitute his own policy priorities for those that Congress has enacted into law," the decision says.

Another OMB argument, that the hold was a "programmatic delay," has "no basis in law," the decision says.

The GAO said it still has unanswered questions about the appropriateness of another possible hold in up to $160 million in State Department foreign military aid for Ukraine in August.

"OMB and State have failed, as of yet, to provide the information we need to fulfill our duties under the ICA regarding potential impoundments of FMF funds," the agency said. "We will continue to pursue this matter and will provide our decision to the Congress after we have received the necessary information."

The ruling was released hours before senators were set to be sworn in for President Donald Trump's impeachment trial. The House impeached the president for abuse of power, alleging that the president withheld the Ukraine aid for personal and political gain, as well as for obstructing the congressional probe into the hold.

Download the NBC News app for full coverage of the Ukraine scandal

Reaction to the report was split down party lines.

"The OMB, the White House, the administration — I'm saying this — broke the law," House Speaker Nancy Pelosi, D-Calif., told reporters after the decision was released. Pelosi said the finding illustrate the administration's "tangled web to deceive."

Sen. Chris Van Hollen, D-Md., tweeted that the GAO decision demonstrates "without a doubt" that "the president himself ordered this illegal act." Van Hollen had requested the office review the hold in October.

Sen. Patrick Leahy, D.-Vt., said, "Congress chose to provide military assistance to an ally which is literally under attack by Russia, and the law required that aid to be delivered. But instead of executing the law and standing with our ally, the president withheld the aid to serve his own political interests."

Leahy urged his colleagues to keep that in mind during Trump's trial.

"It is the responsibility of the Senate to defend our Constitution’s carefully balanced separation of powers, and in doing so, judge whether President Trump abused his office for personal gain when he withheld congressionally appropriated funds from an ally in violation of the Impoundment Control Act," he said in a statement. "I take that responsibility seriously. I urge every senator to do the same."

Republican senators indicated the ruling would not change their minds.

"My understanding of the impoundment act was that you cannot withhold money after the end of the fiscal year. I don't know any other requirements in the impoundment act," said Sen. Rand Paul of Kentucky.

"I mean I think that the president has the right to move money around and all the presidents have worked within this realm, but none of that really rises to anything even remotely close to something you'd impeach somebody over," he said.

Sen. Richard Shelby of Alabama suggested the timing of the decision's release was political. "I don't recall offhand the GAO ever getting involved in a partisan political game and they're right in here, you know?" Shelby said.

House Minority Leader Kevin McCarthy, R-Calif., shrugged off the GAO finding. "These are taxpayer dollars going to another country that people believed there was corruption with the new administration. I think it was the rightful thing to do," he told reporters.