91³Ô¹ÏÍø

Watch CBS News

Taylor Swift endorses Kamala Harris in post signed "Childless Cat Lady," advocating for "calm and not chaos"

Taylor Swift said she plans to vote for Vice President Kamala Harris in a post to Instagram shortly after the first presidential debate Tuesday between Harris and former President Donald Trump.

"I will be casting my vote for Kamala Harris and Tim Walz in the 2024 Presidential Election," , adding that she's voting for Harris "because she fights for the rights and causes I believe need a warrior to champion them."

Swift said Harris "is a steady-handed, gifted leader and I believe we can accomplish so much more in this country if we are led by calm and not chaos," noting that she was "so heartened and impressed by her selection" of Minnesota Gov. Tim Walz as her running mate due to his support for LGBTQ+ rights, IVF, and "a woman's right to her own body." 

The pop star also appeared to troll the Republican ticket by signing "Childless Cat Lady" below her name — echoing a phrase Trump's running mate, JD Vance, has faced blowback over using in a 2021 interview, when he said the country was being run by "a bunch of childless cat ladies who are miserable at their own lives." Vance later said he was being sarcastic.  

The megastar said she had been made aware of recent AI-generated images Trump had promoted that falsely suggested she had endorsed him, adding that the incident "brought me to the conclusion that I need to be very transparent about my actual plans for this election as a voter." 

Swift said she watched the debate on Tuesday night and urged her fans to research the candidates and issues, while closing her statement by explaining that she had done her research and "made my choice."

"Your research is all yours to do, and the choice is yours to make," Swift said. 

Swift's possible endorsement has been the subject of intense debate in the political sphere. Earlier in Swift's career, she had stayed out of political endorsements, but in 2018, she issued her first endorsement, for Democratic Tennessee Gov. Phil Bredesen in the Senate race against Republican candidate Marsha Blackburn, who won the race. In the 2020 election, she backed President Biden. And at this year's Democratic National Convention, rumors swirled that Swift or Beyoncé would make an appearance to back the new Democratic nominee, though neither did so.

Harris' running mate, Minnesota Gov. Tim Walz, was told about Swift's endorsement as he was being interviewed on MSNBC after the debate and said he was "incredibly grateful," adding, "This would be your opportunity, Swifties — KamalaHarris.com, get on over there, give us a hand, get things going."

Harris campaign spokesperson Ian Sams said Swift's announcement came as a surprise. 

"We're very very proud to have her endorsement. The vice president obviously respects her a lot," he said. "...Obviously Taylor Swift speaks to a huge audience of people in this country and frankly around the world, who find her story and songwriting resonant to them. The fact she did it tonight, she said it in her post, it speaks to the commanding nature of the performance the vice president had on the debate stage."

Asked if Swift would hit the campaign trail, he said, "We would be happy for Taylor Swift to do whatever she would like to do in this campaign."

In an interview on Fox News Wednesday morning, Trump responded to Swift's announcement by saying he prefers the endorsement he got from Patrick Mahomes' wife Brittany. "I was not a Taylor Swift fan," Trump said. He called her a "very liberal person" and said she will "pay the price for it in the marketplace."

Prominent Republicans and Democrats weighed in on the endorsement in the spin room following the debate, including California Gov. Gavin Newsom, who told reporters that Swift is "a cultural icon," while encouraging Trump not to "disparage that endorsement."

Rep. Matt Gaetz, a Florida Republican and close ally to Trump, quipped, "I love when liberals make our art and our music and conservatives make our law and our policy."

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