91³Ô¹ÏÍø

Watch CBS News

ICE operation in Denver metro area ends with injured agent and shaken neighborhood

A Colorado community was rattled Saturday morning after immigration agents searched a Lakewood apartment building while attempting to detain a suspect in a hit-and-run crash, according to police and witnesses.

The incident unfolded around 10 a.m. near Alameda Avenue in Lakewood, when agents with U.S. Immigration and Customs Enforcement were conducting an operation to detain a suspect, Lakewood police said.

According to the Lakewood Police Department, the suspect rammed two federal immigration vehicles, injuring one agent. The suspect then got out of the car and ran into a nearby apartment building.

credit-ernesto-frame-0.png
A U.S. Immigration and Customs Enforcement agent stands at the perimeter of an apartment building in Lakewood, Colorado, on Saturday, Feb. 28, 2026, as agents searched for a suspect. Courtesy

Lakewood police said officers responded because of concerns about community safety and the potential violation of local law. They set up a perimeter but said police officers did not engage the suspect or take part in the federal operation.

Police said federal agents later obtained a warrant and began searching the apartment building for the suspect. By that time, Lakewood police had cleared the scene.

Lakewood police said officers returned to the area later after receiving reports of altercations, injuries, and a growing crowd of onlookers.

Ernesto Macias, who lives across the street on South Ingalls Street, said he was driving home from work when he saw a large law enforcement presence in his neighborhood.

ice-injured-mg-raw-frame-2285.png
Lakewood resident Ernesto Macias, left, talks about what he witnessed when Immigration and Customs Enforcement agents searched a Lakewood apartment building for a suspect on Saturday, Feb. 28, 2026. CBS

"I saw the ICE and several patrols from ICE, and I stayed until everything was pretty much done," Macias said.

He described a chaotic scene as agents tried to detain the suspect.

"He was pushing the only guy- trying to push him over and make him stop," Macias said. "But that's the only thing he did. After that, they stayed right here and didn't go anywhere until they got the person out of the building."

lakewood-viewer-video-ja-frame-1096.png
A screenshot of video taken by a witness shows federal immigration agents searching an apartment in Lakewood, Colorado, for a suspect who allegedly rammed ICE agents' vehicles on Saturday, Feb. 28, 2026. Courtesy

"They think they're above the law, and there's nobody above the law," Macias said. "They cannot do this. It's not a very good feeling seeing somebody, some kids, coming out of the unit and ICE with a bunch of guns. They don't need to do that."

Residents in the largely Spanish-speaking community said the incident has left neighbors fearful.

"They know ICE is here," Macias said. "They're never going to go out of the house anymore."

Video taken by a witness and reviewed by CBS News Colorado shows immigration enforcement officials entering a residence. A man was later taken into custody by the agents. After the agents left, damage was visible on a doorknob in the building.

ice-injured-mg-raw-frame-2013.png
The doorknob of a Lakewood apartment building was damaged when federal immigration agents searched the building for a suspect on Saturday, Feb. 28, 2026. CBS

Authorities have not released the suspect's identity or said whether the person is still in federal custody.

The Department of Homeland Security had not responded to a request for comment as of Monday morning.

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(); } }); }); }); });