91³Ô¹ÏÍø

Watch CBS News

Democratic states sue Trump administration over $6 billion in frozen education funds

Democratic officials from 24 states and the District of Columbia sued the Trump administration on Monday, seeking to restore access to billions of dollars in frozen education funding.

The states lost out on funding for after-school and summer programs, teacher training, English language learners and support for the children of migrant farmworkers, among and other initiatives, as part of the June 30 freeze on more than $6 billion that the states say was allocated by Congress.

The states were notified by email from the Education Department on June 30 that the funds, which had been expected the next day, were being held for a "review" geared toward "ensuring taxpayer resources are spent in accordance with the President's priorities."

The Department remains committed to ensuring taxpayer resources are spent in accordance with the President's priorities and the Department's statutory responsibilities.

In a in U.S. District Court for the District of Rhode Island, lawyers for the states said the decision to freeze the funds had caused "chaos." The suit named as defendants Education Secretary Linda McMahon, President Trump and Russell Vought, director of the Office of Management and Budget.

"States already have planned for the upcoming academic year — which is set to start in weeks in many areas — in reliance on the billions of dollars that are now frozen," they wrote. "The budgets for many local educational agencies (LEAs) have already been approved and staffing plans have been developed so that LEAs can perform their responsibilities for the impacted programs."

California Attorney General Rob Bonta said in a press release that the funding freeze was done "with no rhyme or reason." His office said the freeze is blocking $939 million in funding for California alone.

"Taken together with his other attacks on education, President Trump seems comfortable risking the academic success of a generation to further his own misguided political agenda," Bonta said. "But as with so many of his other actions, this funding freeze is blatantly illegal, and we're confident the court will agree."

The latest legal fight between Democratic state officials and the federal government comes as Mr. Trump has promised to dismantle the federal Department of Education, an ambition supported by McMahon. A federal judge in Massachusetts blocked an executive order to unwind the department in May.

The Education Department did not immediately reply to a request for comment on the lawsuit.

The states joining Monday's legal action are Arizona, California, Colorado, Connecticut, Delaware, the District of Columbia, Hawaii, Illinois, Kentucky, Maine, Maryland, Massachusetts, Michigan, Minnesota, Nevada, New Jersey, New Mexico, New York, North Carolina, Oregon, Pennsylvania, Rhode Island, Vermont, Washington and Wisconsin.

Many of the states are also parties to litigation filed earlier this year contesting layoffs at the federal agency and the White House's efforts to rollback diversity programming.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });