91³Ô¹ÏÍø

Watch CBS News

Trump picks Florida Rep. Mike Waltz as national security adviser

Washington — President-elect Donald Trump on Tuesday named Rep. Michael Waltz, a Florida Republican, as his national security adviser, announcing in a post on Truth Social.

"Mike has been a strong champion of my America First Foreign Policy Agenda and will be a tremendous champion of our pursuit of Peace through Strength," Trump wrote.

The national security adviser is a top aide to the president who plays a major role in foreign and national security policy decision-making. The role does not require Senate confirmation. 

Waltz, a Green Beret veteran who served multiple combat tours in Afghanistan, the Middle East and Africa, was elected to Congress in 2018, replacing Ron DeSantis who had been elected Florida's governor. 

The was first to report that Trump had selected Waltz. 

Waltz, a China hawk, serves on the House China Task Force that seeks to develop solutions to address the Chinese Communist Party's influence. 

He has also been skeptical of giving more aid to Ukraine as it fights Russia's invasion. He has said that the U.S. has "leverage" over both Ukraine and Russia to get them to the table to negotiate an end to the war. 

Rep. Michael Waltz
Rep. Michael Waltz, R-Fla., at a hearing on Sept. 26, 2024. Tom Williams/CQ-Roll Call, Inc via Getty Images

"We have leverage, like taking the handcuffs off of the long-range weapons we provided Ukraine as well. And then, of course, I think we have plenty of leverage with Zelenskyy to get them to the table," he told earlier this month. 

He served nearly three decades in the U.S. Army and National Guard, retiring from the military during his second term in Congress. He was awarded four Bronze Stars, including two for valor. 

Before his election to Congress, Waltz served in various roles at the Pentagon and White House, including as defense policy director for Secretaries of Defense Donald Rumsfeld and Robert Gates. 

Waltz's wife, Julia Nesheiwat, served as Trump's Homeland Security adviser in the last year of his first term. She has also served in various roles in the Bush and Obama administrations. 

Trump had three national security advisers in his first administration. Lt. Gen. H.R. McMaster (now a CBS News contributor) was the first, and Trump fired him after 13 months. John Bolton replaced McMaster, and he lasted 17 months in the job before he was also ousted from the administration. Trump's final national security adviser, Robert O'Brien, remained in the post until the end of Trump's first term.

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