91³Ô¹ÏÍø

Watch CBS News

Senator Cornyn kicks off re-election campaign early as Ken Paxton weighs primary challenge

Senator John Cornyn has launched his 2026 re-election campaign, nearly one year before the primary. With the potential for Attorney General Ken Paxton challenging him in the Republican primary, Cornyn's campaign video emphasizes his support for President Trump. 

In the video, Texas' senior Senator showed a photo of himself with the President and showed a clip from a rally in El Paso in 2019 in which Mr. Trump thanked both Cornyn and fellow Texas Senator Ted Cruz. Cornyn is seen saying in the video, "I'm running for re-election and asking for your support so President Trump and I can pick-up here we left off."

After Cornyn released the video, the Attorney General fired off this post on X saying, "You've constantly turned your back on Texans and President Trump, including trying to stop his campaign in 2024 and saying his "time has passed him by." 

The Dallas Morning News reports former Democratic Congressman Colin Allred of Dallas is now seriously considering running against Cornyn. Allred lost to Senator Ted Cruz in November by nine points. Responding to a post about the potential Allred campaign, Cornyn posted this on X: "Come and take it, Colin." Allred shot back, "Good luck with your primary, John."

Conservative political consultant Matt Mackowiak of the Potomac Strategy Group told CBS News Texas why Cornyn is launching his re-election bid so early. "It's happening now because these Senate seats are valuable, and I think in Attorney General Paxton's view, he thinks Senator Cornyn is vulnerable in a primary," said Mackowiak. 

"I think Senator Cornyn recognizes that the only way to run for re-election is to run scared. I do think Paxton has a couple of hurdles. The first is what is Trump going to do? Is President Trump going to endorse Paxton? Is he going to endorse Cornyn? Is he not going to endorse at all? Those are the three choices, and I suspect he won't make a decision until later this year if he makes a decision at all. It wouldn't surprise me if Attorney General Paxton announces an exploratory committee soon, which would allow him to raise money, travel, hire staff, and do polling." 

Democratic political consultant Matt Angle, founder and director of the Lone Star Project told CBS News Texas the current Republican party has passed Cornyn by.

"I don't think he can get the Republican 91³Ô¹ÏÍø the way the Republican party is made up in Texas. Now, John Cornyn has a record of pretty much a normal conservative Republican. That doesn't work now. It's going to get him beat. Ken Paxton really reflects the Texas Republican party now and that it's corrupt. It's sold out to elites and it's anti-family," said Angle. 

"As for potential Democratic candidates who could potentially run against Cornyn, Angle named Allred, State Senators Roland Gutierrez of San Antonio and Nathan Johnson of Dallas, along with State Representative James Talarico of Austin."

Mackowiak said Democrats won't win this Senate seat. As for the primary, he believes Cornyn has an advantage over Paxton when it comes to fundraising. "Sometimes people who run for state office don't understand how hard it is to raise money at the federal level. You have hard caps on individual contributions. I believe the cap is $3,500 this cycle, which may sound like a lot, but I assure you, and you need to go raise $20, $30, $40, $50 million for a competitive two-way primary. You're going to have to have thousands of people max out in addition to small dollar contributors in a significant level. Whether Attorney General Paxton can do that or not, I think is a huge question. Senator Cornyn definitely can do that. Senator Cornyn is going to have all the money he needs. Period, full-stop."

The candidate filing period typically begins in mid-November and runs through mid-December.

Watch Eye On Politics 7:30 a.m. Sunday on air and streaming on CBS News Texas.

This week's full episode can be found below: 

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