91³Ô¹ÏÍø

Watch CBS News

How to watch the VP debate between Tim Walz and JD Vance

Update: A full replay the VP debate, hosted by CBS News on Tuesday, Oct. 1, can be seen in the video player at the top of this page.


Washington — Vice presidential candidates Gov. Tim Walz and Sen. JD Vance are going head-to-head at their first and only debate in New York on Tuesday, Oct. 1, as ballots in some states are already being mailed to voters weeks before Election Day.

Hosted by CBS News, the VP debate between Walz, the Democratic nominee, and Vance, the GOP nominee, is being moderated by "CBS Evening News" anchor and managing editor Norah O'Donnell and "Face the Nation" moderator and chief foreign affairs correspondent Margaret 91³Ô¹ÏÍø.

How to watch the VP debate on cable

The vice presidential debate is being broadcast on the CBS television network beginning at 9 p.m. ET. Coverage of the matchup on CBS stations started at 8 p.m. ET on CBS — find your local CBS station here.

Where to stream the VP debate

The debate can be streamed on the free CBS News app on your connected TV or smartphone, on , and all platforms where CBS News 24/7 is available, including CBSNews.com and .

Where to watch a replay of the VP debate

The full debate will be available to watch on . It is also available here and in the video player at the top of this page.

Where is the debate being held?

The debate is taking place at the CBS Broadcast Center in New York City

What to know about the debate

The 90-minute VP debate is taking place just over a month before Election Day, and about three weeks after the presidential candidates, Vice President Kamala Harris and former President Donald Trump, faced off in their first debate. Like the presidential debate, there will be no live audience. 

There will be no opening statements from the two vice presidential candidates. Each will be allotted two minutes for closing remarks, according to debate rules from CBS News.

While Walz and Vance are scheduled to meet only once on the debate stage, it's unclear whether Harris and Trump will go head-to-head again before the election. The vice president and Democratic presidential nominee accepted an invitation from CNN for a second debate on Oct. 23, but Trump, the GOP presidential nominee, has said it's too late for another to happen.

Walz and Vance have spent the weeks after they were announced as the vice presidential picks for their respective parties on the campaign trail, introducing themselves to voters. Walz is the governor of Minnesota who served more than a decade in the U.S. House. Vance represents Ohio in the U.S. Senate, a post he won in the 2022 midterm elections after rocketing to fame with his 2016 memoir "Hillbilly Elegy."

CBS News will host the only planned vice presidential debate between Vance and Walz on Tuesday, Oct. 1, at 9 p.m. ET on CBS and CBS News 24/7. Download the free CBS News app for live coverage, post-debate analysis, comprehensive fact checks and more.

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