91³Ô¹ÏÍø

Watch CBS News

ICE detains Des Moines Public Schools superintendent, district confirms

The superintendent of Des Moines Public Schools has been detained by U.S. Customs and Immigration Enforcement, and the agency claims that the Guyana-born man was found with a loaded weapon while here illegally.

In a message sent out to the district community, school board chair Jackie Norris confirmed that Superintendent Ian Roberts, 52, had been detained Friday morning, adding that the district received "no confirmed information as to why Dr. Roberts is being detained or the next potential steps." 

Officials with ICE said they took Roberts into custody with the assistance of the Iowa State Patrol. ICE said that Roberts was "in possession of a loaded handgun, $3,000 in cash and a fixed blade hunting knife." ICE claims that Roberts was under a final order of removal dating back to May 2024 and had no work authorization.

Iowa Department of Public Safety officials say that, when they attempted to approach Roberts in his vehicle at about 8:45 a.m. Friday, he sped off. Agents say they later discovered his vehicle abandoned; he was found and taken into custody shortly after.

Immigration-Des-Moines-Schools-Superintendent
This photo provided by the U.S. Immigration and Customs Enforcement shows Des Moines Public Schools Superintendent Ian Roberts on Feb. 26, 2025. ICE via AP

According to ICE's website, Roberts is currently detained at the Pottawattamie County Jail, which is in Council Bluffs, Iowa, roughly 130 miles west of Des Moines and in the vicinity of the Omaha Immigration Court. His country of birth is listed as Guyana. His online biography says he spent much of his childhood in Brooklyn, New York.

that Roberts, who was named superintendent in the summer of 2023, also competed in the 2000 Sydney Olympic Games in track and field for Guyana as a mid-distance runner. The district serves about 30,000 students.

ICE Enforcement and Removal Operations St. Paul Field Office Director Sam Olson called the arrest "a wake-up call."

"How this illegal alien was hired without work authorization, a final order of removal, and a prior weapons charge is beyond comprehension and should alarm the parents of that school district," Olson said.

The Department of Homeland Security claims Roberts' existing weapon possession charge dates back to Feb. 5, 2020.

Norris said that the district would elevate Associate Superintendent Matt Smith into the role of interim superintendent until further notice.

This is a developing story, and will be updated as more information is available.

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });